diff options
Diffstat (limited to 'asm')
146 files changed, 18155 insertions, 121724 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s deleted file mode 100644 index 9665b0d11..000000000 --- a/asm/battle_1.s +++ /dev/null @@ -1,3065 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8034C54 -sub_8034C54: @ 8034C54 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_02022E10 - ldr r0, [r5] - cmp r0, 0 - beq _08034C64 - bl sub_8034CC8 -_08034C64: - movs r0, 0x8 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _08034C78 - movs r0, 0 - b _08034CC0 - .pool -_08034C78: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - bl Alloc - ldr r1, [r5] - str r0, [r1, 0x4] - cmp r0, 0 - bne _08034C94 - adds r0, r1, 0 - bl Free - movs r0, 0 - b _08034CC0 -_08034C94: - str r4, [r1] - movs r3, 0 - cmp r3, r4 - bcs _08034CBE - movs r7, 0 - movs r6, 0xFF - movs r2, 0 -_08034CA2: - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r0, r2, r0 - strb r7, [r0] - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r2, r1 - ldrb r0, [r1, 0x1] - orrs r0, r6 - strb r0, [r1, 0x1] - adds r2, 0x1C - adds r3, 0x1 - cmp r3, r4 - bcc _08034CA2 -_08034CBE: - movs r0, 0x1 -_08034CC0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8034C54 - - thumb_func_start sub_8034CC8 -sub_8034CC8: @ 8034CC8 - push {r4,r5,lr} - ldr r2, =gUnknown_02022E10 - ldr r1, [r2] - cmp r1, 0 - beq _08034D08 - ldr r0, [r1, 0x4] - cmp r0, 0 - beq _08034CFC - movs r4, 0 - ldr r0, [r1] - cmp r4, r0 - bcs _08034CF2 - adds r5, r2, 0 -_08034CE2: - adds r0, r4, 0 - bl sub_80353DC - adds r4, 0x1 - ldr r0, [r5] - ldr r0, [r0] - cmp r4, r0 - bcc _08034CE2 -_08034CF2: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl Free -_08034CFC: - ldr r4, =gUnknown_02022E10 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08034D08: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8034CC8 - - thumb_func_start sub_8034D14 -sub_8034D14: @ 8034D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - mov r10, r1 - adds r5, r2, 0 - ldr r6, =gUnknown_02022E10 - ldr r0, [r6] - cmp r0, 0 - beq _08034DD4 - ldr r1, [r0, 0x4] - mov r0, r8 - lsls r2, r0, 3 - subs r0, r2, r0 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r0, [r1] - mov r9, r2 - cmp r0, 0 - bne _08034DD4 - ldrb r0, [r5, 0x1] - bl sub_8035518 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x1] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x1] - cmp r0, 0xFF - beq _08034DD4 - ldr r0, [r5, 0x8] - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - ldr r2, [r6] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r0, 0xA] - ldr r7, =0xffff0000 - lsrs r0, r7, 16 - cmp r1, r0 - bne _08034DE0 - ldr r2, [r5, 0x8] - ldrh r0, [r2, 0x4] - adds r1, r2, 0 - cmp r0, 0 - beq _08034D94 - adds r0, r1, 0 - bl LoadSpriteSheet - b _08034DB4 - .pool -_08034D94: - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [r2] - bl sub_8034974 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x4] - ands r1, r7 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl LoadCompressedObjectPic -_08034DB4: - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - mov r2, r9 - mov r3, r8 - subs r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0xA] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08034DE0 -_08034DD4: - movs r0, 0 - b _08034EE8 - .pool -_08034DE0: - ldr r0, [r5, 0xC] - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - ldr r6, =gUnknown_02022E10 - ldr r1, [r6] - ldr r1, [r1, 0x4] - mov r4, r9 - mov r3, r8 - subs r2, r4, r3 - lsls r4, r2, 2 - adds r1, r4, r1 - strb r0, [r1, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x4] - cmp r0, 0xFF - bne _08034E14 - ldr r0, [r5, 0xC] - bl LoadSpritePalette - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x4] -_08034E14: - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1, 0x2] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x1] - strb r1, [r0, 0x3] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0, 0xC] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x6] - strh r1, [r0, 0xE] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r1, 0x6] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r1, 0x5] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsrs r0, 6 - strb r0, [r1, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x2] - strb r1, [r0, 0x8] - ldrb r1, [r5] - lsls r0, r1, 28 - lsrs r0, 30 - lsls r1, 26 - lsrs r1, 30 - bl sub_80355F8 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x9] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0x8] - ldrh r1, [r1, 0x6] - strh r1, [r0, 0x10] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0xC] - ldrh r1, [r1, 0x4] - strh r1, [r0, 0x12] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - str r1, [r0, 0x14] - movs r3, 0x1 - ldrb r0, [r5, 0x1] - cmp r3, r0 - bcs _08034ECA -_08034EB2: - ldr r0, [r6] - ldr r2, [r0, 0x4] - adds r2, r4, r2 - ldr r1, [r2, 0x14] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - str r0, [r2, 0x14] - adds r3, 0x1 - ldrb r2, [r5, 0x1] - cmp r3, r2 - bcc _08034EB2 -_08034ECA: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - mov r3, r9 - mov r4, r8 - subs r1, r3, r4 - lsls r1, 2 - ldr r0, [r0, 0x4] - adds r0, r1 - bl sub_8034EFC - mov r0, r8 - mov r1, r10 - bl sub_8035044 - movs r0, 0x1 -_08034EE8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8034D14 - - thumb_func_start sub_8034EFC -sub_8034EFC: @ 8034EFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r5, [r4, 0x1] - movs r0, 0xC - ldrsh r7, [r4, r0] - ldrb r0, [r4, 0x3] - adds r0, 0x1 - mov r8, r0 - mov r1, sp - movs r0, 0 - strh r0, [r1] - lsls r1, r5, 3 - ldr r2, =gUnknown_030022F8 - mov r9, r2 - add r1, r9 - mov r0, r8 - lsls r2, r0, 2 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - bl CpuSet - movs r6, 0 - ldrb r5, [r4, 0x1] - cmp r6, r8 - bcs _08034FCE - movs r1, 0x3F - mov r10, r1 - movs r2, 0xD - negs r2, r2 - mov r9, r2 -_08034F46: - lsls r0, r5, 3 - ldr r1, =gMain - adds r3, r0, r1 - ldrh r1, [r4, 0xE] - adds r0, r3, 0 - adds r0, 0x38 - strb r1, [r0] - ldr r2, =0x000001ff - adds r0, r2, 0 - adds r1, r7, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - ldrb r1, [r4, 0x6] - movs r0, 0x39 - adds r0, r3 - mov r12, r0 - lsls r1, 6 - ldrb r2, [r0] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrb r1, [r4, 0x5] - movs r2, 0x3B - adds r2, r3 - mov r12, r2 - lsls r1, 6 - ldrb r2, [r2] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r4, 0xA] - ldr r1, =0x000003ff - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - adds r3, 0x3D - movs r0, 0x3 - ldrb r1, [r4, 0x7] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r4, 0x4] - lsls r2, 4 - movs r1, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - ldrb r0, [r4, 0x8] - adds r7, r0 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, r8 - bcc _08034F46 -_08034FCE: - subs r5, 0x1 - ldr r0, =gMain - lsls r3, r5, 3 - adds r3, r0 - movs r2, 0xC - ldrsh r1, [r4, r2] - ldrb r0, [r4, 0x8] - subs r1, r0 - ldr r2, =0x000001ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - adds r2, r3, 0 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x9] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r4, [r4, 0xA] - adds r1, r4 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8034EFC - - thumb_func_start sub_8035044 -sub_8035044: @ 8035044 - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r6, r0, 0 - cmp r1, 0 - beq _080350A8 - ldr r2, [r1, 0x4] - lsls r1, r3, 3 - subs r0, r1, r3 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _080350A8 - str r4, [r2, 0x18] - cmp r4, 0 - bge _08035078 - movs r2, 0x1 - negs r4, r4 - b _0803507A - .pool -_08035078: - movs r2, 0 -_0803507A: - ldr r0, [r6] - ldr r1, [r0, 0x4] - subs r0, r5, r3 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x2] - cmp r3, 0x1 - beq _0803509A - cmp r3, 0x1 - ble _08035092 - cmp r3, 0x2 - beq _080350A2 -_08035092: - adds r1, r4, 0 - bl sub_80350B0 - b _080350A8 -_0803509A: - adds r1, r4, 0 - bl sub_8035164 - b _080350A8 -_080350A2: - adds r1, r4, 0 - bl sub_80352C0 -_080350A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8035044 - - thumb_func_start sub_80350B0 -sub_80350B0: @ 80350B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - mov r9, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r7, [r0, 0x1] - ldr r0, =gMain - mov r10, r0 - cmp r5, 0 - beq _0803511A - lsls r0, r7, 3 - adds r0, 0x3C - mov r1, r10 - adds r6, r0, r1 -_080350D6: - mov r0, r9 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r2, r9 - subs r2, r0 - mov r9, r2 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r1, r4, 0 - muls r1, r0 - mov r2, r8 - ldrh r2, [r2, 0xA] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r0, [r6] - ldr r2, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r6] - adds r6, 0x8 - adds r7, 0x1 - cmp r5, 0 - bne _080350D6 -_0803511A: - ldr r0, [sp] - cmp r0, 0 - beq _08035140 - lsls r0, r7, 3 - add r0, r10 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _08035154 - .pool -_08035140: - lsls r2, r7, 3 - add r2, r10 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_08035154: - 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_80350B0 - - thumb_func_start sub_8035164 -sub_8035164: @ 8035164 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - str r2, [sp] - ldr r5, [r6, 0x14] - ldr r3, =gUnknown_03000DD4 - ldrb r0, [r6, 0x1] - str r0, [r3] - ldr r2, =gUnknown_03000DD8 - movs r0, 0 - str r0, [r2] - ldr r1, =gUnknown_03000DDC - subs r0, 0x1 - str r0, [r1] - adds r7, r3, 0 - mov r10, r1 - ldr r0, =gMain - mov r9, r0 - cmp r5, 0 - beq _0803524C -_08035196: - mov r0, r8 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r8 - subs r1, r0 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - cmp r4, 0 - bne _080351C8 - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080351C8 - cmp r5, 0 - bne _08035224 -_080351C8: - ldr r2, [r7] - lsls r2, 3 - add r2, r9 - ldrb r0, [r6, 0x9] - adds r3, r4, 0 - muls r3, r0 - ldrh r4, [r6, 0xA] - adds r3, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r3, r0 - ldrh r0, [r2, 0x3C] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r3 - strh r0, [r2, 0x3C] - adds r2, 0x39 - ldrb r0, [r2] - movs r1, 0x4 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0803523A - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - str r0, [r2] - b _0803523A - .pool -_08035224: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r1, [r0] - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0803523A: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - cmp r5, 0 - bne _08035196 -_0803524C: - ldr r0, [sp] - cmp r0, 0 - beq _08035298 - ldr r1, [r7] - lsls r1, 3 - add r1, r9 - adds r1, 0x39 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r3, [r7] - lsls r3, 3 - add r3, r9 - movs r1, 0xC - ldrsh r2, [r6, r1] - mov r4, r10 - ldr r0, [r4] - subs r0, 0x1 - ldrb r1, [r6, 0x8] - muls r0, r1 - adds r2, r0 - ldr r1, =0x000001ff - adds r0, r1, 0 - ands r2, r0 - ldrh r1, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x3A] - b _080352AE - .pool -_08035298: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_080352AE: - 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_8035164 - - thumb_func_start sub_80352C0 -sub_80352C0: @ 80352C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - mov r10, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r3, [r0, 0x1] - movs r0, 0 - str r0, [sp, 0x4] - mov r9, r0 - cmp r5, 0 - beq _0803535A -_080352E0: - lsls r0, r3, 3 - adds r1, r0, 0 - adds r1, 0x39 - ldr r2, =gMain - adds r7, r1, r2 - adds r0, 0x3C - adds r6, r0, r2 -_080352EE: - mov r0, r10 - adds r1, r5, 0 - str r3, [sp, 0x8] - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r10 - subs r1, r0 - mov r10, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - ldr r3, [sp, 0x8] - cmp r4, 0 - bne _0803531E - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _0803531E - cmp r5, 0 - bne _080352E0 -_0803531E: - movs r0, 0x1 - str r0, [sp, 0x4] - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r2, r4, 0 - muls r2, r0 - ldrh r4, [r1, 0xA] - adds r2, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r6] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r6] - ldrb r0, [r7] - movs r2, 0x4 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r7] - adds r7, 0x8 - adds r6, 0x8 - adds r3, 0x1 - movs r4, 0x1 - add r9, r4 - cmp r5, 0 - bne _080352EE -_0803535A: - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - bge _0803538A - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - lsls r0, r3, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035370: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - adds r2, 0x8 - adds r3, 0x1 - movs r1, 0x1 - add r9, r1 - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - blt _08035370 -_0803538A: - ldr r1, [sp] - cmp r1, 0 - beq _080353B0 - lsls r0, r3, 3 - ldr r2, =gMain - adds r0, r2 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _080353C6 - .pool -_080353B0: - lsls r2, r3, 3 - ldr r4, =gMain - adds r2, r4 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_080353C6: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80352C0 - - thumb_func_start sub_80353DC -sub_80353DC: @ 80353DC - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - cmp r0, 0 - beq _0803546E - ldr r2, [r0, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _0803546E - ldrb r3, [r2, 0x3] - adds r0, r3, 0x1 - ldrb r2, [r2, 0x1] - cmp r0, 0 - beq _08035426 - ldr r1, =gMain - movs r7, 0x4 - negs r7, r7 - movs r6, 0x2 - adds r3, r0, 0 - lsls r0, r2, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035414: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _08035414 -_08035426: - adds r0, r4, 0 - bl sub_8035570 - cmp r0, 0 - bne _08035442 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x10] - bl FreeSpriteTilesByTag -_08035442: - adds r0, r4, 0 - bl sub_80355B4 - cmp r0, 0 - bne _0803545E - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl FreeSpritePaletteByTag -_0803545E: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0803546E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80353DC - - thumb_func_start sub_803547C -sub_803547C: @ 803547C - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r7, r0, 0 - cmp r1, 0 - beq _0803550C - ldr r2, [r1, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r6, r1, 0 - cmp r0, 0 - beq _0803550C - ldrb r3, [r2, 0x3] - adds r1, r3, 0x1 - ldrb r0, [r2, 0x1] - cmp r5, 0 - beq _080354D8 - cmp r1, 0 - beq _0803550C - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354BC: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354BC - b _0803550C - .pool -_080354D8: - cmp r1, 0 - beq _080354FA - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354EA: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354EA -_080354FA: - ldr r0, [r7] - ldr r1, [r0, 0x4] - subs r0, r6, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0, 0x18] - adds r0, r4, 0 - bl sub_8035044 -_0803550C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_803547C - - thumb_func_start sub_8035518 -sub_8035518: @ 8035518 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0x40 - movs r3, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r2, [r0] - cmp r3, r2 - bcs _0803555A - ldr r1, [r0, 0x4] -_0803552E: - ldrb r0, [r1] - cmp r0, 0 - bne _08035548 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08035552 - ldrb r0, [r1, 0x3] - cmp r0, r4 - bhi _08035552 - ldrb r0, [r1, 0x1] - b _0803556A - .pool -_08035548: - adds r0, r5, 0x1 - ldrb r5, [r1, 0x3] - adds r0, r5 - lsls r0, 16 - lsrs r5, r0, 16 -_08035552: - adds r1, 0x1C - adds r3, 0x1 - cmp r3, r2 - bcc _0803552E -_0803555A: - adds r0, r5, r4 - adds r0, 0x1 - cmp r0, 0x80 - bgt _08035568 - lsls r0, r5, 24 - lsrs r0, 24 - b _0803556A -_08035568: - movs r0, 0xFF -_0803556A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8035518 - - thumb_func_start sub_8035570 -sub_8035570: @ 8035570 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355AC - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_0803558A: - ldrb r0, [r1] - cmp r0, 0 - beq _080355A4 - cmp r2, r3 - beq _080355A4 - ldrh r0, [r1, 0x10] - ldrh r6, [r5, 0x10] - cmp r0, r6 - bne _080355A4 - movs r0, 0x1 - b _080355AE - .pool -_080355A4: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _0803558A -_080355AC: - movs r0, 0 -_080355AE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8035570 - - thumb_func_start sub_80355B4 -sub_80355B4: @ 80355B4 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355F0 - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_080355CE: - ldrb r0, [r1] - cmp r0, 0 - beq _080355E8 - cmp r2, r3 - beq _080355E8 - ldrh r0, [r1, 0x12] - ldrh r6, [r5, 0x12] - cmp r0, r6 - bne _080355E8 - movs r0, 0x1 - b _080355F2 - .pool -_080355E8: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _080355CE -_080355F0: - movs r0, 0 -_080355F2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80355B4 - - thumb_func_start sub_80355F8 -sub_80355F8: @ 80355F8 - ldr r2, =gUnknown_082FF1C8 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end sub_80355F8 - - thumb_func_start sub_8035608 -sub_8035608: @ 8035608 - push {lr} - bl ResetSpriteData - ldr r0, =gUnknown_0831AC88 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - 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] - ldr r0, =sub_8035648 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035608 - - thumb_func_start sub_8035648 -sub_8035648: @ 8035648 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_8035648 - - thumb_func_start trs_config -trs_config: @ 8035658 - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0831AA08 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - beq _080356A4 - ldr r0, =gBattleScripting - adds r0, 0x24 - movs r1, 0x1 - strb r1, [r0] - ldr r4, =gUnknown_02023060 - ldr r1, [r4] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0x2 - bl SetBgTilemapBuffer - b _080356AA - .pool -_080356A4: - ldr r0, =gBattleScripting - adds r0, 0x24 - strb r1, [r0] -_080356AA: - ldr r1, =gUnknown_0831ABA0 - ldr r0, =gBattleScripting - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl InitWindows - bl DeactivateAllTextPrinters - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end trs_config - - thumb_func_start sub_80356D0 -sub_80356D0: @ 80356D0 - push {lr} - movs r0, 0x2 - bl DisableInterrupts - movs r0, 0xC5 - bl EnableInterrupts - bl trs_config - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x0000b040 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_80356D0 - - thumb_func_start ApplyPlayerChosenFrameToBattleMenu -ApplyPlayerChosenFrameToBattleMenu: @ 803570C - push {lr} - movs r0, 0x2 - movs r1, 0x12 - movs r2, 0x10 - bl sub_809882C - movs r0, 0x2 - movs r1, 0x22 - movs r2, 0x10 - bl sub_809882C - ldr r0, =gUnknown_08D85600 - movs r1, 0x50 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 11 - ands r0, r1 - cmp r0, 0 - beq _0803575A - movs r0, 0x70 - bl sub_81978B0 - movs r0, 0 - movs r1, 0x30 - movs r2, 0x70 - bl copy_textbox_border_tile_patterns_to_vram - ldr r0, =gPlttBufferUnfaded - adds r0, 0xEC - movs r1, 0 - strh r1, [r0] - ldr r1, =gPlttBufferFaded + 0xEC - movs r2, 0x1 - bl CpuSet -_0803575A: - pop {r0} - bx r0 - .pool - thumb_func_end ApplyPlayerChosenFrameToBattleMenu - - thumb_func_start DrawMainBattleBackground -DrawMainBattleBackground: @ 8035770 - push {r4,r5,lr} - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _080357B0 - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7C9EC - b _08035A52 - .pool -_080357B0: - movs r0, 0x80 - lsls r0, 21 - ands r0, r1 - cmp r0, 0 - beq _080357E4 - ldr r0, =gUnknown_08D7BB14 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7C154 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DF30 - b _08035A52 - .pool -_080357E4: - movs r0, 0x80 - lsls r0, 22 - ands r0, r1 - cmp r0, 0 - beq _08035818 - ldr r0, =gUnknown_08D7A108 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7A720 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DEF4 - b _08035A52 - .pool -_08035818: - movs r0, 0x80 - lsls r0, 23 - ands r0, r1 - cmp r0, 0 - beq _0803584C - ldr r0, =gUnknown_08D7D590 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DC04 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E234 - b _08035A52 - .pool -_0803584C: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _080358C4 - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - bne _08035898 - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DFC4 - b _08035A52 - .pool -_08035898: - cmp r0, 0x26 - bne _080358C4 - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E1F8 - b _08035A52 - .pool -_080358C4: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _08035904 - lsls r0, 2 - ldr r1, =_080358E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080358E0: - .4byte _08035904 - .4byte _08035950 - .4byte _08035978 - .4byte _080359A0 - .4byte _080359C8 - .4byte _080359F0 - .4byte _08035A18 - .4byte _08035A40 - .4byte _08035A70 -_08035904: - ldr r4, =gBattleTerrainTable - ldr r5, =gBattleTerrain - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldr r1, =0x06008000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0x4 - adds r0, r1 - ldr r0, [r0] - ldr r1, =0x0600d000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, 0x10 - adds r0, r4 - ldr r0, [r0] - b _08035A52 - .pool -_08035950: - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DF88 - b _08035A52 - .pool -_08035978: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E060 - b _08035A52 - .pool -_080359A0: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E000 - b _08035A52 - .pool -_080359C8: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E0CC - b _08035A52 - .pool -_080359F0: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E11C - b _08035A52 - .pool -_08035A18: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E164 - b _08035A52 - .pool -_08035A40: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E1A8 -_08035A52: - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _08035A8A - .pool -_08035A70: - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7C9EC - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette -_08035A8A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DrawMainBattleBackground - - thumb_func_start LoadBattleTextboxAndBackground -LoadBattleTextboxAndBackground: @ 8035AA4 - push {lr} - ldr r0, =gUnknown_08C00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r1, =gUnknown_08C00524 - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08C004E0 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - bl ApplyPlayerChosenFrameToBattleMenu - bl DrawMainBattleBackground - pop {r0} - bx r0 - .pool - thumb_func_end LoadBattleTextboxAndBackground - - thumb_func_start sub_8035AE4 -sub_8035AE4: @ 8035AE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r4, [sp, 0x34] - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - movs r4, 0 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035BCC - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08035B56 - cmp r5, 0x1 - beq _08035B7E - cmp r5, 0x1 - bgt _08035B44 - cmp r5, 0 - beq _08035B4E - b _08035B88 - .pool -_08035B44: - cmp r5, 0x2 - beq _08035B52 - cmp r5, 0x3 - beq _08035B72 - b _08035B88 -_08035B4E: - ldrh r0, [r1, 0xE] - b _08035B74 -_08035B52: - ldrh r1, [r1, 0xE] - b _08035B80 -_08035B56: - cmp r5, 0x1 - beq _08035B72 - cmp r5, 0x1 - bgt _08035B64 - cmp r5, 0 - beq _08035B6E - b _08035B88 -_08035B64: - cmp r5, 0x2 - beq _08035B7A - cmp r5, 0x3 - beq _08035B7E - b _08035B88 -_08035B6E: - ldrh r0, [r1, 0xE] - b _08035B74 -_08035B72: - ldrh r0, [r1, 0x10] -_08035B74: - movs r4, 0x3F - ands r4, r0 - b _08035B88 -_08035B7A: - ldrh r1, [r1, 0xE] - b _08035B80 -_08035B7E: - ldrh r1, [r1, 0x10] -_08035B80: - movs r0, 0xFC - lsls r0, 4 - ands r0, r1 - lsrs r4, r0, 6 -_08035B88: - movs r2, 0 - movs r6, 0x3 - ldr r0, =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_08035B92: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x2 - ble _08035B92 - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram - b _08035C36 - .pool -_08035BCC: - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r0, [r0] - cmp r5, r0 - bne _08035BEC - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0xE] - b _08035BF8 - .pool -_08035BEC: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0x10] -_08035BF8: - movs r2, 0 - movs r6, 0x3 - ldr r0, =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_08035C02: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x5 - ble _08035C02 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram -_08035C36: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035AE4 - - thumb_func_start sub_8035C4C -sub_8035C4C: @ 8035C4C - push {lr} - ldr r0, =gBattleOutcome - ldrb r2, [r0] - cmp r2, 0x3 - bne _08035C68 - ldr r0, =gText_Draw - movs r1, 0x15 - bl BattleHandleAddTextPrinter - b _08035D68 - .pool -_08035C68: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035CE2 - cmp r2, 0x1 - bne _08035CAE - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _08035CFC - cmp r0, 0x1 - bgt _08035CA4 - cmp r0, 0 - beq _08035D36 - b _08035D68 - .pool -_08035CA4: - cmp r0, 0x2 - beq _08035D36 - cmp r0, 0x3 - bne _08035D68 - b _08035CFC -_08035CAE: - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _08035D36 - cmp r0, 0x1 - bgt _08035CD8 - cmp r0, 0 - beq _08035CFC - b _08035D68 - .pool -_08035CD8: - cmp r0, 0x2 - beq _08035CFC - cmp r0, 0x3 - bne _08035D68 - b _08035D36 -_08035CE2: - cmp r2, 0x1 - bne _08035D20 - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _08035D36 -_08035CFC: - ldr r0, =gText_Win - movs r1, 0x17 - bl BattleHandleAddTextPrinter - ldr r0, =gText_Loss - movs r1, 0x16 - bl BattleHandleAddTextPrinter - b _08035D68 - .pool -_08035D20: - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _08035D58 -_08035D36: - ldr r0, =gText_Win - movs r1, 0x16 - bl BattleHandleAddTextPrinter - ldr r0, =gText_Loss - movs r1, 0x17 - bl BattleHandleAddTextPrinter - b _08035D68 - .pool -_08035D58: - ldr r0, =gText_Win - movs r1, 0x17 - bl BattleHandleAddTextPrinter - ldr r0, =gText_Loss - movs r1, 0x16 - bl BattleHandleAddTextPrinter -_08035D68: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035C4C - - thumb_func_start task00_0800F6FC -task00_0800F6FC: @ 8035D74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - mov r8, r0 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08035D96 - b _08035EC4 -_08035D96: - cmp r0, 0x1 - bgt _08035DA4 - cmp r0, 0 - beq _08035DAC - b _08036138 - .pool -_08035DA4: - cmp r0, 0x2 - bne _08035DAA - b _08035F64 -_08035DAA: - b _08036138 -_08035DAC: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035E44 - movs r5, 0 - movs r6, 0x3 -_08035DBC: - ldr r0, =gLinkPlayers + 8 - adds r1, r5, r0 - subs r0, 0x8 - adds r4, r5, r0 - ldrh r0, [r4, 0x18] - cmp r0, 0x1 - beq _08035DF4 - cmp r0, 0x1 - bgt _08035DDC - cmp r0, 0 - beq _08035DE6 - b _08035E3A - .pool -_08035DDC: - cmp r0, 0x2 - beq _08035E08 - cmp r0, 0x3 - beq _08035E22 - b _08035E3A -_08035DE6: - adds r0, r1, 0 - movs r1, 0x11 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x4 - b _08035E14 -_08035DF4: - adds r0, r1, 0 - movs r1, 0x12 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x4 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - b _08035E1A -_08035E08: - adds r0, r1, 0 - movs r1, 0x13 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x8 -_08035E14: - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x1 -_08035E1A: - movs r3, 0x2 - bl sub_8035AE4 - b _08035E3A -_08035E22: - adds r0, r1, 0 - movs r1, 0x14 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x8 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_8035AE4 -_08035E3A: - adds r5, 0x1C - subs r6, 0x1 - cmp r6, 0 - bge _08035DBC - b _08035EA6 -_08035E44: - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r5, [r0] - movs r0, 0x1 - adds r6, r5, 0 - eors r6, r0 - adds r1, r6, 0 - ldr r4, =gLinkPlayers - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _08035E66 - adds r6, r5, 0 - adds r5, r1, 0 -_08035E66: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r4, 0x8 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0xF - bl BattleHandleAddTextPrinter - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0x10 - bl BattleHandleAddTextPrinter - movs r4, 0x7 - str r4, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8035AE4 - str r4, [sp] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_8035AE4 -_08035EA6: - ldr r0, =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08036138 - .pool -_08035EC4: - ldr r0, =0x00002710 - bl AllocSpritePalette - lsls r0, 24 - ldr r2, =gPlttBufferUnfaded - lsrs r0, 19 - ldr r3, =0x0000021e - adds r0, r3 - adds r2, r0, r2 - ldr r1, =gPlttBufferFaded - adds r0, r1 - ldr r1, =0x00007fff - strh r1, [r0] - strh r1, [r2] - ldr r0, =gUnknown_0831A9D0 - movs r1, 0x6F - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r4, =gBattleStruct - ldr r1, [r4] - adds r1, 0x7D - strb r0, [r1] - ldr r0, =gUnknown_0831A9E8 - movs r1, 0x81 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x7E - strb r0, [r1] - ldr r3, =gSprites - ldr r0, [r4] - adds r0, 0x7D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _08036138 - .pool -_08035F64: - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08035FCC - ldr r4, =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035F7E - adds r0, 0x1F -_08035F7E: - asrs r1, r0, 5 - movs r2, 0x14 - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035F9C - adds r0, 0x1F -_08035F9C: - asrs r1, r0, 5 - movs r3, 0x8C - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r0, =gBattle_BG1_Y - ldr r2, =0x0000ffdc - adds r1, r2, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - b _08036038 - .pool -_08035FCC: - ldr r4, =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035FDE - adds r0, 0x1F -_08035FDE: - asrs r1, r0, 5 - movs r3, 0x14 - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, =gBattle_BG1_Y - ldrh r0, [r5, 0xA] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035FFC - adds r0, 0x1F -_08035FFC: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] - ldr r4, =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08036014 - adds r0, 0x1F -_08036014: - asrs r1, r0, 5 - movs r2, 0x8C - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, =gBattle_BG2_Y - ldrh r0, [r5, 0xC] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08036032 - adds r0, 0x1F -_08036032: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] -_08036038: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xC] - movs r2, 0xC - ldrsh r3, [r1, r2] - mov r8, r3 - cmp r3, 0 - beq _08036070 - subs r0, 0x2 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xA] - adds r0, 0x2 - strh r0, [r1, 0xA] - b _08036138 - .pool -_08036070: - movs r3, 0x12 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0803607C - bl sub_8035C4C -_0803607C: - movs r0, 0x78 - bl PlaySE - adds r0, r7, 0 - bl DestroyTask - ldr r4, =gSprites - ldr r5, =gBattleStruct - ldr r0, [r5] - adds r0, 0x7D - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r5, [r5] - adds r6, r5, 0 - adds r6, 0x7E - ldrb r0, [r6] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x40 - ldr r7, =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - adds r5, 0x7D - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r8 - strh r1, [r0, 0x2E] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r8 - strh r2, [r0, 0x32] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x32] -_08036138: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task00_0800F6FC - - thumb_func_start LoadBattleEntryBackground -LoadBattleEntryBackground: @ 8036154 - push {r4,r5,lr} - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08036208 - ldr r0, =gUnknown_08D778F0 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D77B0C - ldr r1, =0x06010000 - bl LZDecompressVram - ldr r0, =gUnknown_08D77AE4 - movs r1, 0x60 - movs r2, 0x20 - bl LoadCompressedPalette - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetBgAttribute - ldr r1, =0x00005c04 - movs r0, 0xA - bl SetGpuReg - ldr r4, =gUnknown_08D779D8 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x48 - movs r1, 0x36 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x36 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldr r2, =0x0000ff5c - adds r1, r2, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r0, =gUnknown_0831AA00 - bl LoadCompressedObjectPicUsingHeap - b _080363AC - .pool -_08036208: - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _0803628C - movs r0, 0x80 - lsls r0, 15 - ands r1, r0 - cmp r1, 0 - beq _08036224 - ldr r0, =gPartnerTrainerId - ldrh r1, [r0] - ldr r0, =0x00000c03 - cmp r1, r0 - bne _08036248 -_08036224: - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - b _08036382 - .pool -_08036248: - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x2 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x2 - bl SetBgAttribute - ldr r1, =gUnknown_08D857A8 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, =gUnknown_08D85A1C - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _080363AC - .pool -_0803628C: - movs r0, 0x80 - lsls r0, 21 - ands r0, r1 - cmp r0, 0 - beq _080362B0 - ldr r0, =gUnknown_08D81610 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D81E2C - b _08036382 - .pool -_080362B0: - movs r0, 0x80 - lsls r0, 22 - ands r0, r1 - cmp r0, 0 - beq _080362D4 - ldr r0, =gUnknown_08D7F9F8 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7FEC4 - b _08036382 - .pool -_080362D4: - movs r0, 0x80 - lsls r0, 23 - ands r0, r1 - cmp r0, 0 - beq _080362F8 - ldr r0, =gUnknown_08D82608 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D82C70 - b _08036382 - .pool -_080362F8: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _08036350 - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - bne _08036334 - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - b _08036382 - .pool -_08036334: - cmp r0, 0x26 - bne _08036350 - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - b _08036382 - .pool -_08036350: - bl sav1_map_get_battletype - lsls r0, 24 - cmp r0, 0 - bne _0803639C - ldr r4, =gBattleTerrainTable - ldr r5, =gBattleTerrain - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - ldr r1, =0x06004000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, 0xC - adds r0, r4 - ldr r0, [r0] -_08036382: - ldr r1, =0x0600e000 - bl LZDecompressVram - b _080363AC - .pool -_0803639C: - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - ldr r1, =0x0600e000 - bl LZDecompressVram -_080363AC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LoadBattleEntryBackground - - thumb_func_start LoadChosenBattleElement -LoadChosenBattleElement: @ 80363C4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - cmp r0, 0x6 - bls _080363D2 - b _08036756 -_080363D2: - lsls r0, 2 - ldr r1, =_080363E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080363E0: - .4byte _080363FC - .4byte _0803640C - .4byte _08036424 - .4byte _08036434 - .4byte _0803652C - .4byte _08036638 - .4byte _08036750 -_080363FC: - ldr r0, =gUnknown_08C00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _08036758 - .pool -_0803640C: - ldr r1, =gUnknown_08C00524 - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _08036758 - .pool -_08036424: - ldr r0, =gUnknown_08C004E0 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _08036758 - .pool -_08036434: - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - bne _08036518 - movs r0, 0x80 - lsls r0, 21 - ands r0, r1 - cmp r0, 0 - beq _0803645C - ldr r0, =gUnknown_08D7BB14 - b _0803651A - .pool -_0803645C: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _0803648C - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - beq _08036518 - cmp r0, 0x26 - bne _0803648C - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_0803648C: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _080364CC - lsls r0, 2 - ldr r1, =_080364A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080364A8: - .4byte _080364CC - .4byte _08036518 - .4byte _080364E8 - .4byte _080364F0 - .4byte _080364F8 - .4byte _08036500 - .4byte _08036508 - .4byte _08036510 - .4byte _08036518 -_080364CC: - ldr r2, =gBattleTerrainTable - ldr r0, =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - b _0803651A - .pool -_080364E8: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_080364F0: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_080364F8: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036500: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036508: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036510: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036518: - ldr r0, =gUnknown_08D7C440 -_0803651A: - ldr r1, =0x06008000 - bl LZDecompressVram - b _08036758 - .pool -_0803652C: - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _0803653A - b _08036624 -_0803653A: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _08036568 - ldr r0, =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _08036560 - ldr r0, =gUnknown_08D7C154 - b _08036626 - .pool -_08036560: - ldr r0, =gUnknown_08D7A720 - b _08036626 - .pool -_08036568: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _08036598 - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - beq _08036624 - cmp r0, 0x26 - bne _08036598 - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036598: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _080365D8 - lsls r0, 2 - ldr r1, =_080365B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080365B4: - .4byte _080365D8 - .4byte _08036624 - .4byte _080365F4 - .4byte _080365FC - .4byte _08036604 - .4byte _0803660C - .4byte _08036614 - .4byte _0803661C - .4byte _08036624 -_080365D8: - ldr r2, =gBattleTerrainTable - ldr r0, =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - b _08036626 - .pool -_080365F4: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_080365FC: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036604: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_0803660C: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036614: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_0803661C: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036624: - ldr r0, =gUnknown_08D7CA28 -_08036626: - ldr r1, =0x0600d000 - bl LZDecompressVram - b _08036758 - .pool -_08036638: - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _08036646 - b _08036740 -_08036646: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _08036674 - ldr r0, =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _0803666C - ldr r0, =gUnknown_08D7DF30 - b _08036742 - .pool -_0803666C: - ldr r0, =gUnknown_08D7DEF4 - b _08036742 - .pool -_08036674: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _080366AC - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - bne _080366A0 - ldr r0, =gUnknown_08D7DFC4 - b _08036742 - .pool -_080366A0: - cmp r0, 0x26 - bne _080366AC - ldr r0, =gUnknown_08D7E1F8 - b _08036742 - .pool -_080366AC: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _080366EC - lsls r0, 2 - ldr r1, =_080366C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080366C8: - .4byte _080366EC - .4byte _08036708 - .4byte _08036710 - .4byte _08036718 - .4byte _08036720 - .4byte _08036728 - .4byte _08036730 - .4byte _08036738 - .4byte _08036740 -_080366EC: - ldr r2, =gBattleTerrainTable - ldr r0, =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x10 - adds r0, r2 - ldr r0, [r0] - b _08036742 - .pool -_08036708: - ldr r0, =gUnknown_08D7DF88 - b _08036742 - .pool -_08036710: - ldr r0, =gUnknown_08D7E060 - b _08036742 - .pool -_08036718: - ldr r0, =gUnknown_08D7E000 - b _08036742 - .pool -_08036720: - ldr r0, =gUnknown_08D7E0CC - b _08036742 - .pool -_08036728: - ldr r0, =gUnknown_08D7E11C - b _08036742 - .pool -_08036730: - ldr r0, =gUnknown_08D7E164 - b _08036742 - .pool -_08036738: - ldr r0, =gUnknown_08D7E1A8 - b _08036742 - .pool -_08036740: - ldr r0, =gUnknown_08D7C9EC -_08036742: - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _08036758 - .pool -_08036750: - bl ApplyPlayerChosenFrameToBattleMenu - b _08036758 -_08036756: - movs r4, 0x1 -_08036758: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end LoadChosenBattleElement - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_5.s b/asm/battle_5.s deleted file mode 100644 index f2d6797f9..000000000 --- a/asm/battle_5.s +++ /dev/null @@ -1,582 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start AllocateBattleResrouces -AllocateBattleResrouces: @ 8056F28 - push {r4-r6,lr} - ldr r5, =gBattleResources - ldr r6, =gBattleTypeFlags - ldr r0, [r6] - movs r1, 0x80 - lsls r1, 19 - ands r0, r1 - cmp r0, 0 - beq _08056F3E - bl sub_81D55D0 -_08056F3E: - ldr r4, =gBattleStruct - movs r0, 0xA9 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - movs r0, 0x20 - bl AllocZeroed - str r0, [r5] - movs r0, 0xA0 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x4] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x8] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0xC] - movs r0, 0xC - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x10] - movs r0, 0x1C - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x14] - movs r0, 0x54 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x18] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x1C] - ldr r4, =gLinkBattleSendBuffer - movs r5, 0x80 - lsls r5, 5 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r4, =gLinkBattleRecvBuffer - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r4, =gUnknown_0202305C - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - ldr r4, =gUnknown_02023060 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r0, [r6] - movs r1, 0x80 - lsls r1, 20 - ands r0, r1 - cmp r0, 0 - beq _08056FFA - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gSaveBlock1Ptr - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 5 - ldr r0, =0x00001a9c - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - bl CreateSecretBaseEnemyParty -_08056FFA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end AllocateBattleResrouces - - thumb_func_start FreeBattleResources -FreeBattleResources: @ 8057028 - push {r4-r6,lr} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 19 - ands r0, r1 - cmp r0, 0 - beq _0805703C - bl sub_81D5694 -_0805703C: - ldr r6, =gBattleResources - ldr r0, [r6] - cmp r0, 0 - beq _080570D0 - ldr r4, =gBattleStruct - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - ldr r0, [r6] - ldr r0, [r0] - bl Free - ldr r0, [r6] - str r5, [r0] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r6] - str r5, [r0, 0x4] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r6] - str r5, [r0, 0x8] - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r6] - str r5, [r0, 0xC] - ldr r0, [r0, 0x10] - bl Free - ldr r0, [r6] - str r5, [r0, 0x10] - ldr r0, [r0, 0x14] - bl Free - ldr r0, [r6] - str r5, [r0, 0x14] - ldr r0, [r0, 0x18] - bl Free - ldr r0, [r6] - str r5, [r0, 0x18] - ldr r0, [r0, 0x1C] - bl Free - ldr r0, [r6] - str r5, [r0, 0x1C] - bl Free - str r5, [r6] - ldr r4, =gLinkBattleSendBuffer - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gLinkBattleRecvBuffer - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0202305C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_02023060 - ldr r0, [r4] - bl Free - str r5, [r4] -_080570D0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end FreeBattleResources - - thumb_func_start AdjustFriendshipOnBattleFaint -AdjustFriendshipOnBattleFaint: @ 80570F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08057140 - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x3 - bl GetBankByIdentity - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gBattleMons - movs r0, 0x58 - adds r1, r3, 0 - muls r1, r0 - adds r1, r2 - adds r1, 0x2A - muls r0, r4 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _0805714A - adds r4, r3, 0 - b _0805714A - .pool -_08057140: - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r4, r0, 24 -_0805714A: - ldr r2, =gBattleMons - movs r1, 0x58 - adds r0, r4, 0 - muls r0, r1 - adds r0, r2 - adds r3, r0, 0 - adds r3, 0x2A - adds r0, r5, 0 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x2A - ldrb r0, [r3] - ldrb r2, [r1] - cmp r0, r2 - bls _080571B8 - ldrb r1, [r1] - subs r0, r1 - cmp r0, 0x1D - ble _08057198 - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x8 - bl AdjustFriendship - b _080571CE - .pool -_08057198: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x6 - bl AdjustFriendship - b _080571CE - .pool -_080571B8: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x6 - bl AdjustFriendship -_080571CE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AdjustFriendshipOnBattleFaint - - thumb_func_start sub_80571DC -sub_80571DC: @ 80571DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08057248 - movs r2, 0 - ldr r6, =gBattlePartyID - lsls r3, r4, 1 - ldr r5, =gUnknown_0203CF00 - ldr r4, =gBattleStruct -_080571FE: - adds r0, r2, r5 - ldr r1, [r4] - adds r1, r2, r1 - adds r1, 0x60 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _080571FE - adds r0, r3, r6 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - bl pokemon_order_func - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81B8FB0 - movs r2, 0 - ldr r4, =gBattleStruct - ldr r3, =gUnknown_0203CF00 -_08057236: - ldr r0, [r4] - adds r0, r2, r0 - adds r0, 0x60 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _08057236 -_08057248: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80571DC - - thumb_func_start sub_805725C -sub_805725C: @ 805725C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0 - mov r8, r0 - ldr r1, =gBattleCommunication - mov r10, r1 - b _08057284 - .pool -_0805727C: - mov r2, r8 - cmp r2, 0 - beq _08057284 - b _08057406 -_08057284: - mov r1, r10 - ldrb r0, [r1] - cmp r0, 0x1 - bne _0805728E - b _08057390 -_0805728E: - cmp r0, 0x1 - ble _08057294 - b _080573FC -_08057294: - cmp r0, 0 - beq _0805729A - b _080573FC -_0805729A: - ldr r6, =gBattleMons - movs r0, 0x58 - mov r5, r9 - muls r5, r0 - adds r0, r6, 0 - adds r0, 0x4C - adds r4, r5, r0 - ldr r0, [r4] - movs r7, 0x7 - ands r0, r7 - cmp r0, 0 - beq _08057372 - mov r0, r9 - bl UproarWakeUpCheck - lsls r0, 24 - cmp r0, 0 - beq _080572FC - ldr r0, [r4] - movs r1, 0x8 - negs r1, r1 - ands r0, r1 - str r0, [r4] - adds r2, r6, 0 - adds r2, 0x50 - adds r2, r5, r2 - ldr r0, [r2] - ldr r1, =0xf7ffffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - movs r0, 0x1 - mov r2, r10 - strb r0, [r2, 0x5] - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedWokeUp - str r0, [r1] - movs r0, 0x2 - mov r8, r0 - b _08057372 - .pool -_080572FC: - adds r0, r5, r6 - adds r0, 0x20 - ldrb r0, [r0] - movs r2, 0x1 - cmp r0, 0x30 - bne _0805730A - movs r2, 0x2 -_0805730A: - ldr r1, [r4] - adds r0, r1, 0 - ands r0, r7 - cmp r0, r2 - bcs _0805731E - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r4] - b _08057322 -_0805731E: - subs r0, r1, r2 - str r0, [r4] -_08057322: - ldr r2, =gBattleMons - movs r0, 0x58 - mov r1, r9 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r4, [r0] - movs r0, 0x7 - ands r4, r0 - cmp r4, 0 - beq _08057354 - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedIsAsleep - str r0, [r1] - movs r1, 0x2 - mov r8, r1 - b _08057372 - .pool -_08057354: - adds r2, 0x50 - adds r2, r1, r2 - ldr r0, [r2] - ldr r1, =0xf7ffffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r0, =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedWokeUp - str r0, [r1] - movs r2, 0x2 - mov r8, r2 -_08057372: - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r10, r1 - b _080573FC - .pool -_08057390: - ldr r1, =gBattleMons - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r1, 0x4C - adds r4, r0, r1 - ldr r0, [r4] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080573F4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080573D4 - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedIsFrozen - str r0, [r1] - b _080573EC - .pool -_080573D4: - ldr r0, [r4] - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - str r0, [r4] - bl BattleScriptPushCursor - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedUnfroze - str r0, [r1] - mov r0, r10 - strb r5, [r0, 0x5] -_080573EC: - movs r1, 0x2 - mov r8, r1 - ldr r2, =gBattleCommunication - mov r10, r2 -_080573F4: - mov r1, r10 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080573FC: - mov r2, r10 - ldrb r0, [r2] - cmp r0, 0x2 - beq _08057406 - b _0805727C -_08057406: - mov r0, r8 - cmp r0, 0x2 - bne _08057430 - ldr r4, =gActiveBank - mov r1, r9 - strb r1, [r4] - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - ldr r1, =gBattleMons + 0x4C - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetMonData - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08057430: - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_805725C - - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_7.s b/asm/battle_7.s deleted file mode 100644 index 94cc1ba8e..000000000 --- a/asm/battle_7.s +++ /dev/null @@ -1,3815 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AllocateBattleSpritesData -AllocateBattleSpritesData: @ 805D118 - push {r4,lr} - ldr r4, =gBattleSpritesDataPtr - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x30 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x50 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AllocateBattleSpritesData - - thumb_func_start FreeBattleSpritesData -FreeBattleSpritesData: @ 805D158 - push {r4,r5,lr} - ldr r5, =gBattleSpritesDataPtr - ldr r0, [r5] - cmp r0, 0 - beq _0805D192 - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0, 0xC] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r5] - str r4, [r0, 0x8] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0] - bl Free - ldr r0, [r5] - str r4, [r0] - bl Free - str r4, [r5] -_0805D192: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FreeBattleSpritesData - - thumb_func_start ChooseMoveAndTargetInBattlePalace -ChooseMoveAndTargetInBattlePalace: @ 805D19C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - ldr r4, =gActiveBank - ldrb r0, [r4] - lsls r2, r0, 9 - ldr r1, =gBattleBufferA + 4 - adds r2, r1 - mov r10, r2 - movs r1, 0 - movs r2, 0xFF - bl CheckMoveLimitations - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =gBattleStruct - ldr r0, [r0] - adds r0, 0x92 - ldrb r1, [r0] - ldr r2, =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - asrs r4, r0, 31 - movs r0, 0x2 - ands r4, r0 - adds r6, r4, 0 - adds r5, r4, 0x2 - b _0805D20E - .pool -_0805D20C: - adds r4, 0x1 -_0805D20E: - cmp r4, r5 - bge _0805D234 - ldr r0, =gActiveBank - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - ldr r1, =gBattleMons + 0x48 - adds r0, r1 - ldr r0, [r0] - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 22 - adds r0, r4, r0 - ldr r2, =gUnknown_0831C494 - adds r0, r2 - ldrb r0, [r0] - cmp r0, r7 - ble _0805D20C -_0805D234: - subs r7, r4, r6 - cmp r4, r5 - bne _0805D23C - movs r7, 0x2 -_0805D23C: - movs r6, 0 - movs r4, 0 - mov r1, r10 - ldrh r0, [r1] - cmp r0, 0 - beq _0805D27C - mov r5, r10 -_0805D24A: - ldrh r0, [r5] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r7, r0 - bne _0805D26E - mov r0, r10 - adds r0, 0x8 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0805D26E - ldr r0, =gBitTable - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - orrs r6, r0 -_0805D26E: - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _0805D27C - ldrh r0, [r5] - cmp r0, 0 - bne _0805D24A -_0805D27C: - cmp r6, 0 - beq _0805D2AC - ldr r3, =gBattleStruct - ldr r1, [r3] - adds r1, 0x92 - ldrb r2, [r1] - movs r0, 0xF - ands r0, r2 - strb r0, [r1] - ldr r1, [r3] - adds r1, 0x92 - lsls r0, r6, 4 - ldrb r2, [r1] - orrs r0, r2 - strb r0, [r1] - lsls r0, r6, 24 - lsrs r0, 24 - bl BattleAI_SetupAIData - bl BattleAI_ChooseMoveOrAction - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0805D2AC: - movs r0, 0x1 - negs r0, r0 - cmp r9, r0 - beq _0805D2B6 - b _0805D40C -_0805D2B6: - mov r2, r8 - cmp r2, 0xF - bne _0805D2BE - b _0805D3EA -_0805D2BE: - movs r5, 0 - movs r6, 0 - ldr r7, =gBitTable - mov r4, r10 -_0805D2C6: - ldrh r0, [r4] - bl sub_805D4A8 - lsls r0, 24 - cmp r0, 0 - bne _0805D2DE - ldr r0, [r7] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _0805D2DE - adds r5, 0x1 -_0805D2DE: - ldrh r0, [r4] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805D2F8 - ldr r0, [r7] - mov r2, r8 - ands r0, r2 - cmp r0, 0 - bne _0805D2F8 - adds r5, 0x10 -_0805D2F8: - ldrh r0, [r4] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805D316 - ldr r0, [r7] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _0805D316 - movs r2, 0x80 - lsls r2, 1 - adds r5, r2 -_0805D316: - adds r7, 0x4 - adds r4, 0x2 - ldr r0, =gBitTable - adds r0, 0xC - cmp r7, r0 - ble _0805D2C6 - movs r1, 0xF - ands r1, r5 - cmp r1, 0x1 - ble _0805D32C - adds r6, 0x1 -_0805D32C: - movs r0, 0xF0 - ands r0, r5 - cmp r0, 0x1F - ble _0805D336 - adds r6, 0x1 -_0805D336: - ldr r2, =0x000001ff - cmp r0, r2 - ble _0805D33E - adds r6, 0x1 -_0805D33E: - cmp r6, 0x1 - bgt _0805D346 - cmp r6, 0 - bne _0805D388 -_0805D346: - ldr r5, =gBitTable -_0805D348: - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r4, r1, 16 - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _0805D366 - mov r9, r4 -_0805D366: - movs r0, 0x1 - negs r0, r0 - cmp r9, r0 - beq _0805D348 - b _0805D3D4 - .pool -_0805D388: - cmp r1, 0x1 - ble _0805D38E - movs r6, 0 -_0805D38E: - cmp r0, 0x1F - ble _0805D394 - movs r6, 0x1 -_0805D394: - cmp r0, r2 - ble _0805D39A - movs r6, 0x2 -_0805D39A: - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r4, r1, 16 - ldr r1, =gBitTable - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - mov r2, r8 - ands r0, r2 - cmp r0, 0 - bne _0805D3CC - lsls r0, r4, 1 - add r0, r10 - ldrh r0, [r0] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0805D3CC - mov r9, r4 -_0805D3CC: - movs r0, 0x1 - negs r0, r0 - cmp r9, r0 - beq _0805D39A -_0805D3D4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bls _0805D40C -_0805D3EA: - ldr r2, =gProtectStructs - ldr r0, =gActiveBank - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x2] - movs r2, 0x10 - orrs r0, r2 - strb r0, [r1, 0x2] - movs r0, 0 - b _0805D496 - .pool -_0805D40C: - mov r1, r9 - lsls r0, r1, 1 - mov r2, r10 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0xAE - bne _0805D434 - ldrb r0, [r2, 0x12] - movs r5, 0 - cmp r0, 0x7 - beq _0805D442 - ldrb r1, [r2, 0x13] - movs r0, 0x7 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - asrs r5, r0, 31 - movs r0, 0x10 - ands r5, r0 - b _0805D442 -_0805D434: - ldr r2, =gBattleMoves - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r5, [r0, 0x6] -_0805D442: - movs r0, 0x10 - ands r0, r5 - cmp r0, 0 - beq _0805D45C - ldr r0, =gActiveBank - ldrb r0, [r0] - lsls r0, 8 - b _0805D48A - .pool -_0805D45C: - cmp r5, 0 - bne _0805D470 - bl sub_805D5F4 - lsls r0, 16 - lsrs r0, 16 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - b _0805D490 -_0805D470: - ldr r0, =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - adds r1, r0, 0 - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 16 -_0805D48A: - mov r1, r9 - orrs r1, r0 - mov r9, r1 -_0805D490: - mov r2, r9 - lsls r0, r2, 16 - lsrs r0, 16 -_0805D496: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end ChooseMoveAndTargetInBattlePalace - - thumb_func_start sub_805D4A8 -sub_805D4A8: @ 805D4A8 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x6] - adds r3, r1, 0 - cmp r0, 0x40 - bls _0805D4C2 - b _0805D5EE -_0805D4C2: - lsls r0, 2 - ldr r1, =_0805D4D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0805D4D4: - .4byte _0805D5D8 - .4byte _0805D5E6 - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EA - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5E6 -_0805D5D8: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0805D5EE -_0805D5E6: - movs r0, 0x2 - b _0805D5F0 -_0805D5EA: - movs r0, 0x1 - b _0805D5F0 -_0805D5EE: - movs r0, 0 -_0805D5F0: - pop {r1} - bx r1 - thumb_func_end sub_805D4A8 - - thumb_func_start sub_805D5F4 -sub_805D5F4: @ 805D5F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805D6FA - ldr r0, =gActiveBank - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0805D630 - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x3 - b _0805D63E - .pool -_0805D630: - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 -_0805D63E: - bl GetBankByIdentity - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gBattleMons - movs r2, 0x58 - mov r0, r8 - muls r0, r2 - adds r5, r0, r1 - adds r0, r7, 0 - muls r0, r2 - adds r6, r0, r1 - ldrh r0, [r5, 0x28] - ldrh r3, [r6, 0x28] - cmp r0, r3 - bne _0805D680 - bl Random - adds r3, r0, 0 - ldr r0, =gActiveBank - ldrb r1, [r0] - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - movs r1, 0x2 - ands r1, r3 - adds r0, r1 - b _0805D702 - .pool -_0805D680: - ldr r4, =gUnknown_0831C604 - ldr r0, =gActiveBank - mov r9, r0 - ldrb r0, [r0] - muls r0, r2 - adds r1, 0x48 - adds r0, r1 - ldr r0, [r0] - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r4, [r0] - cmp r4, 0x1 - beq _0805D6CC - cmp r4, 0x1 - bgt _0805D6B4 - cmp r4, 0 - beq _0805D6BA - b _0805D6FA - .pool -_0805D6B4: - cmp r4, 0x2 - beq _0805D6DE - b _0805D6FA -_0805D6BA: - ldrh r0, [r5, 0x28] - ldrh r6, [r6, 0x28] - cmp r0, r6 - bls _0805D6C8 - mov r1, r8 - lsls r0, r1, 8 - b _0805D704 -_0805D6C8: - lsls r0, r7, 8 - b _0805D704 -_0805D6CC: - ldrh r0, [r5, 0x28] - ldrh r6, [r6, 0x28] - cmp r0, r6 - bcs _0805D6DA - mov r3, r8 - lsls r0, r3, 8 - b _0805D704 -_0805D6DA: - lsls r0, r7, 8 - b _0805D704 -_0805D6DE: - bl Random - adds r3, r0, 0 - mov r0, r9 - ldrb r1, [r0] - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - ands r4, r3 - adds r0, r4 - lsls r0, 24 - lsrs r0, 16 - b _0805D704 -_0805D6FA: - ldr r0, =gActiveBank - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 -_0805D702: - lsls r0, 8 -_0805D704: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_805D5F4 - - thumb_func_start sub_805D714 -sub_805D714: @ 805D714 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r3, [r0] - lsls r0, r3, 26 - cmp r0, 0 - bge _0805D766 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _0805D766 - adds r2, r1, 0 - adds r2, 0x2C - ldrb r1, [r2] - lsls r0, r1, 25 - cmp r0, 0 - bge _0805D75C - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _0805D766 - .pool -_0805D75C: - lsls r0, r3, 27 - cmp r0, 0 - bge _0805D766 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0805D766: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805D714 - - thumb_func_start sub_805D770 -sub_805D770: @ 805D770 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - adds r3, r4, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r3] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - cmp r1, 0 - bne _0805D798 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0805D7A0 - .pool -_0805D798: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0805D7A0: - adds r0, r4, 0 - bl AnimateSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805D770 - - thumb_func_start sub_805D7AC -sub_805D7AC: @ 805D7AC - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_020243FC - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0805D7E4 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _0805D7E4 - movs r1, 0x26 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0805D7E0 - ldr r0, =sub_805D7EC - b _0805D7E2 - .pool -_0805D7E0: - ldr r0, =SpriteCallbackDummy -_0805D7E2: - str r0, [r2, 0x1C] -_0805D7E4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_805D7AC - - thumb_func_start sub_805D7EC -sub_805D7EC: @ 805D7EC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x26] - subs r0, 0x2 - strh r0, [r1, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _0805D800 - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_0805D800: - pop {r0} - bx r0 - .pool - thumb_func_end sub_805D7EC - - thumb_func_start DoStatusAnimation -DoStatusAnimation: @ 805D808 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - ldr r6, =gBattleSpritesDataPtr - ldr r1, [r6] - ldr r5, =gActiveBank - ldrb r2, [r5] - ldr r3, [r1, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1] - movs r3, 0x10 - orrs r2, r3 - strb r2, [r1] - cmp r0, 0 - bne _0805D888 - cmp r4, 0x20 - bne _0805D844 - ldrb r0, [r5] - movs r1, 0x6 - bl move_anim_start_t2 - b _0805D902 - .pool -_0805D844: - cmp r4, 0x8 - beq _0805D850 - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _0805D85A -_0805D850: - ldrb r0, [r5] - movs r1, 0 - bl move_anim_start_t2 - b _0805D902 -_0805D85A: - cmp r4, 0x10 - bne _0805D868 - ldrb r0, [r5] - movs r1, 0x2 - bl move_anim_start_t2 - b _0805D902 -_0805D868: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _0805D87A - ldrb r0, [r5] - movs r1, 0x4 - bl move_anim_start_t2 - b _0805D902 -_0805D87A: - cmp r4, 0x40 - bne _0805D8EA - ldrb r0, [r5] - movs r1, 0x5 - bl move_anim_start_t2 - b _0805D902 -_0805D888: - movs r0, 0xF0 - lsls r0, 12 - ands r0, r4 - cmp r0, 0 - beq _0805D89C - ldrb r0, [r5] - movs r1, 0x3 - bl move_anim_start_t2 - b _0805D902 -_0805D89C: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _0805D8AE - ldrb r0, [r5] - movs r1, 0x1 - bl move_anim_start_t2 - b _0805D902 -_0805D8AE: - movs r0, 0x80 - lsls r0, 21 - ands r0, r4 - cmp r0, 0 - beq _0805D8C2 - ldrb r0, [r5] - movs r1, 0x7 - bl move_anim_start_t2 - b _0805D902 -_0805D8C2: - movs r0, 0x80 - lsls r0, 20 - ands r0, r4 - cmp r0, 0 - beq _0805D8D6 - ldrb r0, [r5] - movs r1, 0x8 - bl move_anim_start_t2 - b _0805D902 -_0805D8D6: - movs r0, 0xE0 - lsls r0, 8 - ands r0, r4 - cmp r0, 0 - beq _0805D8EA - ldrb r0, [r5] - movs r1, 0x9 - bl move_anim_start_t2 - b _0805D902 -_0805D8EA: - ldr r0, [r6] - ldrb r2, [r5] - ldr r0, [r0, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_0805D902: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DoStatusAnimation - - thumb_func_start DoBattleAnimationFromTable -DoBattleAnimationFromTable: @ 805D908 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r5, r3, 24 - lsls r4, 16 - lsrs r7, r4, 16 - cmp r5, 0 - bne _0805D950 - movs r0, 0x80 - ands r0, r7 - cmp r0, 0 - beq _0805D950 - ldr r0, =gBattleMonForms - adds r0, r6, r0 - movs r2, 0x7F - adds r1, r7, 0 - ands r1, r2 - strb r1, [r0] - movs r0, 0x1 - b _0805DA1E - .pool -_0805D950: - ldr r0, =gBattleSpritesDataPtr - mov r9, r0 - ldr r0, [r0] - ldr r0, [r0] - lsls r4, r6, 2 - adds r0, r4, r0 - ldrb r1, [r0] - movs r2, 0x4 - mov r8, r2 - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _0805D9CC - adds r0, r5, 0 - bl sub_805DAA0 - lsls r0, 24 - cmp r0, 0 - bne _0805D980 - movs r0, 0x1 - b _0805DA1E - .pool -_0805D980: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _0805D9CC - cmp r5, 0x2 - bne _0805D9CC - ldr r1, =gSprites - ldr r0, =gBankSpriteIds - adds r0, r6, r0 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _0805D9CC - adds r0, r6, 0 - movs r1, 0x1 - bl refresh_graphics_maybe - adds r0, r6, 0 - bl sub_805E974 - movs r0, 0x1 - b _0805DA1E - .pool -_0805D9CC: - ldr r0, =gAnimBankAttacker - mov r2, r10 - strb r2, [r0] - ldr r0, =gAnimBankTarget - mov r1, sp - ldrb r1, [r1] - strb r1, [r0] - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0, 0x8] - strh r7, [r0] - ldr r0, =gUnknown_082C9320 - adds r1, r5, 0 - movs r2, 0 - bl LaunchBattleAnimation - ldr r0, =task0A_0803415C - movs r1, 0xA - 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 r6, [r1, 0x8] - ldr r0, [r4] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 -_0805DA1E: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end DoBattleAnimationFromTable - - thumb_func_start task0A_0803415C -task0A_0803415C: @ 805DA48 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _0805DA8A - ldr r0, =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0805DA8A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task0A_0803415C - - thumb_func_start sub_805DAA0 -sub_805DAA0: @ 805DAA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bgt _0805DAB4 - cmp r0, 0xA - bge _0805DAB8 - cmp r0, 0x2 - beq _0805DAB8 - b _0805DABC -_0805DAB4: - cmp r0, 0x11 - bne _0805DABC -_0805DAB8: - movs r0, 0x1 - b _0805DABE -_0805DABC: - movs r0, 0 -_0805DABE: - pop {r1} - bx r1 - thumb_func_end sub_805DAA0 - - thumb_func_start DoSpecialBattleAnimation -DoSpecialBattleAnimation: @ 805DAC4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gAnimBankAttacker - strb r1, [r0] - ldr r0, =gAnimBankTarget - strb r2, [r0] - ldr r0, =gUnknown_082C937C - adds r1, r3, 0 - movs r2, 0 - bl LaunchBattleAnimation - ldr r0, =task0A_08034248 - movs r1, 0xA - 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] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoSpecialBattleAnimation - - thumb_func_start task0A_08034248 -task0A_08034248: @ 805DB34 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _0805DB76 - ldr r0, =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0805DB76: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task0A_08034248 - - thumb_func_start IsMoveWithoutAnimation -IsMoveWithoutAnimation: @ 805DB8C - movs r0, 0 - bx lr - thumb_func_end IsMoveWithoutAnimation - - thumb_func_start mplay_80342A4 -mplay_80342A4: @ 805DB90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _0805DBD8 - ldr r2, =gBattleSpritesDataPtr - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - adds r1, 0x1 - strb r1, [r0, 0x8] - ldr r2, [r2] - ldr r0, =gActiveBank - ldrb r1, [r0] - ldr r2, [r2, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x8] - cmp r0, 0x1D - bls _0805DBDC - ldr r0, =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, =gMPlay_SE2 - bl m4aMPlayStop -_0805DBD8: - cmp r5, 0 - beq _0805DBF0 -_0805DBDC: - movs r0, 0x1 - b _0805DC02 - .pool -_0805DBF0: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strb r5, [r0, 0x8] - movs r0, 0 -_0805DC02: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end mplay_80342A4 - - thumb_func_start BattleLoadOpponentMonSpriteGfx -BattleLoadOpponentMonSpriteGfx: @ 805DC0C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _0805DC50 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r6, [sp] - b _0805DC58 - .pool -_0805DC50: - ldrh r5, [r2, 0x2] - ldr r0, =gTransformedPersonalities - adds r0, r1, r0 - ldr r6, [r0] -_0805DC58: - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - mov r10, r0 - mov r0, r8 - bl GetBankIdentity - lsls r0, 24 - lsls r2, r5, 3 - ldr r1, =gMonFrontPicTable - adds r2, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - mov r3, r8 - lsls r2, r3, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r2, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r3, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - str r1, [sp, 0x4] - mov r9, r2 - cmp r0, 0 - bne _0805DCBC - adds r0, r4, 0 - bl pokemon_get_pal - b _0805DCC6 - .pool -_0805DCBC: - adds r0, r5, 0 - mov r1, r10 - ldr r2, [sp] - bl species_and_otid_get_pal -_0805DCC6: - adds r6, r0, 0 - ldr r4, =0x0201c000 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =0x00000181 - cmp r5, r0 - bne _0805DD1A - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_0805DD1A: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - ldr r1, [sp, 0x4] - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805DD46 - ldr r3, =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet -_0805DD46: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end BattleLoadOpponentMonSpriteGfx - - thumb_func_start BattleLoadPlayerMonSpriteGfx -BattleLoadPlayerMonSpriteGfx: @ 805DD7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _0805DDC0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, [sp] - b _0805DDC8 - .pool -_0805DDC0: - ldrh r5, [r2, 0x2] - ldr r0, =gTransformedPersonalities - adds r0, r1, r0 - ldr r4, [r0] -_0805DDC8: - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x4] - mov r0, r8 - bl GetBankIdentity - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x1 - mov r1, r8 - bl sub_80688F8 - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - lsls r1, 2 - mov r10, r1 - cmp r0, 0x1 - beq _0805DE00 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805DE2C -_0805DE00: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _0805DE46 - .pool -_0805DE2C: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic -_0805DE46: - mov r2, r8 - lsls r1, r2, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r1, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - mov r9, r1 - cmp r0, 0 - bne _0805DE74 - adds r0, r6, 0 - bl pokemon_get_pal - b _0805DE7E - .pool -_0805DE74: - adds r0, r5, 0 - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl species_and_otid_get_pal -_0805DE7E: - adds r6, r0, 0 - ldr r4, =0x0201c000 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =0x00000181 - cmp r5, r0 - bne _0805DED2 - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_0805DED2: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805DEFC - ldr r3, =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet -_0805DEFC: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end BattleLoadPlayerMonSpriteGfx - - thumb_func_start nullsub_23 -nullsub_23: @ 805DF30 - bx lr - thumb_func_end nullsub_23 - - thumb_func_start nullsub_24 -nullsub_24: @ 805DF34 - bx lr - thumb_func_end nullsub_24 - - thumb_func_start DecompressTrainerFrontPic -DecompressTrainerFrontPic: @ 805DF38 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 24 - lsrs r0, 24 - bl GetBankIdentity - lsls r0, 24 - lsls r4, 3 - ldr r2, =gTrainerFrontPicTable - adds r2, r4, r2 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - movs r2, 0 - bl DecompressPicFromTable_2 - ldr r0, =gTrainerFrontPicPaletteTable - adds r4, r0 - adds r0, r4, 0 - bl LoadCompressedObjectPalette - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressTrainerFrontPic - - thumb_func_start DecompressTrainerBackPic -DecompressTrainerBackPic: @ 805DF84 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBankIdentity - lsls r0, 24 - lsls r5, 3 - ldr r2, =gTrainerBackPicTable - adds r2, r5, r2 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - movs r2, 0 - bl DecompressPicFromTable_2 - ldr r0, =gTrainerBackPicPaletteTable - adds r5, r0 - ldr r0, [r5] - lsls r4, 20 - movs r1, 0x80 - lsls r1, 17 - adds r4, r1 - lsrs r4, 16 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressTrainerBackPic - - thumb_func_start nullsub_25 -nullsub_25: @ 805DFE0 - bx lr - thumb_func_end nullsub_25 - - thumb_func_start FreeTrainerFrontPicPalette -FreeTrainerFrontPicPalette: @ 805DFE4 - push {lr} - lsls r0, 16 - ldr r1, =gTrainerFrontPicPaletteTable - lsrs r0, 13 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .pool - thumb_func_end FreeTrainerFrontPicPalette - - thumb_func_start sub_805DFFC -sub_805DFFC: @ 805DFFC - push {r4-r7,lr} - ldr r4, =gUnknown_0832C128 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0805E034 - ldr r0, =gUnknown_0832C0D0 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0832C0D8 - bl LoadCompressedObjectPic - movs r5, 0x2 - b _0805E056 - .pool -_0805E034: - ldr r4, =gUnknown_0832C0E0 - adds r0, r4, 0 - bl LoadCompressedObjectPic - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedObjectPic - ldr r4, =gUnknown_0832C0F0 - adds r0, r4, 0 - bl LoadCompressedObjectPic - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedObjectPic - movs r5, 0x4 -_0805E056: - movs r4, 0 - cmp r4, r5 - bcs _0805E076 - ldr r7, =gBanksByIdentity - ldr r6, =gUnknown_0832C108 -_0805E060: - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r6 - bl LoadCompressedObjectPic - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0805E060 -_0805E076: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805DFFC - - thumb_func_start BattleLoadAllHealthBoxesGfx -BattleLoadAllHealthBoxesGfx: @ 805E08C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r6, 0 - cmp r4, 0 - bne _0805E09C - b _0805E1AE -_0805E09C: - cmp r4, 0x1 - bne _0805E0B8 - ldr r4, =gUnknown_0832C128 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - b _0805E1AE - .pool -_0805E0B8: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0805E120 - cmp r4, 0x2 - bne _0805E0F0 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805E0E4 - ldr r0, =gUnknown_0832C100 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E0E4: - ldr r0, =gUnknown_0832C0D0 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E0F0: - cmp r4, 0x3 - bne _0805E100 - ldr r0, =gUnknown_0832C0D8 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E100: - cmp r4, 0x4 - bne _0805E110 - ldr r0, =gBanksByIdentity - ldrb r0, [r0] - b _0805E198 - .pool -_0805E110: - cmp r4, 0x5 - bne _0805E1AC - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x1] - b _0805E198 - .pool -_0805E120: - cmp r4, 0x2 - bne _0805E130 - ldr r0, =gUnknown_0832C0E0 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E130: - cmp r4, 0x3 - bne _0805E140 - ldr r0, =gUnknown_0832C0E8 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E140: - cmp r4, 0x4 - bne _0805E150 - ldr r0, =gUnknown_0832C0F0 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E150: - cmp r4, 0x5 - bne _0805E160 - ldr r0, =gUnknown_0832C0F8 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E160: - cmp r4, 0x6 - bne _0805E170 - ldr r0, =gBanksByIdentity - ldrb r0, [r0] - b _0805E198 - .pool -_0805E170: - cmp r4, 0x7 - bne _0805E180 - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x1] - b _0805E198 - .pool -_0805E180: - cmp r4, 0x8 - bne _0805E190 - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x2] - b _0805E198 - .pool -_0805E190: - cmp r5, 0x9 - bne _0805E1AC - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x3] -_0805E198: - lsls r0, 3 - ldr r1, =gUnknown_0832C108 - adds r0, r1 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E1AC: - movs r6, 0x1 -_0805E1AE: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleLoadAllHealthBoxesGfx - - thumb_func_start LoadBattleBarGfx -LoadBattleBarGfx: @ 805E1B8 - push {lr} - ldr r0, =gUnknown_08C093F0 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - pop {r0} - bx r0 - .pool - thumb_func_end LoadBattleBarGfx - - thumb_func_start BattleInitAllSprites -BattleInitAllSprites: @ 805E1D8 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r6, 0 - ldrb r0, [r5] - cmp r0, 0x6 - bls _0805E1E8 - b _0805E346 -_0805E1E8: - lsls r0, 2 - ldr r1, =_0805E1F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0805E1F8: - .4byte _0805E214 - .4byte _0805E21A - .4byte _0805E324 - .4byte _0805E230 - .4byte _0805E260 - .4byte _0805E29C - .4byte _0805E33C -_0805E214: - bl sub_805E378 - b _0805E324 -_0805E21A: - ldrb r0, [r4] - bl BattleLoadAllHealthBoxesGfx - lsls r0, 24 - cmp r0, 0 - beq _0805E228 - b _0805E320 -_0805E228: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0805E346 -_0805E230: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805E24C - ldrb r0, [r4] - cmp r0, 0 - bne _0805E24C - bl CreateSafariPlayerHealthboxSprites - b _0805E252 - .pool -_0805E24C: - ldrb r0, [r4] - bl CreateBankHealthboxSprites -_0805E252: - ldr r2, =gHealthBoxesIds - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - b _0805E30E - .pool -_0805E260: - ldrb r0, [r4] - bl SetBankHealthboxSpritePos - ldr r0, =gBanksByIdentity - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _0805E288 - ldr r0, =gHealthBoxesIds - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0 - bl DummyBattleInterfaceFunc - b _0805E30E - .pool -_0805E288: - ldr r0, =gHealthBoxesIds - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0x1 - bl DummyBattleInterfaceFunc - b _0805E30E - .pool -_0805E29C: - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0805E2E4 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0805E302 - ldr r0, =gHealthBoxesIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - b _0805E302 - .pool -_0805E2E4: - ldr r0, =gHealthBoxesIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute -_0805E302: - ldr r1, =gHealthBoxesIds - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_0805E30E: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, =gNoOfAllBanks - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _0805E346 -_0805E320: - movs r0, 0 - strb r0, [r4] -_0805E324: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _0805E346 - .pool -_0805E33C: - bl LoadAndCreateEnemyShadowSprites - bl sub_81B8C68 - movs r6, 0x1 -_0805E346: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleInitAllSprites - - thumb_func_start sub_805E350 -sub_805E350: @ 805E350 - push {r4,lr} - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0, 0x4] - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E350 - - thumb_func_start sub_805E378 -sub_805E378: @ 805E378 - push {lr} - bl sub_805E350 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E378 - - thumb_func_start sub_805E394 -sub_805E394: @ 805E394 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r5, =gNoOfAllBanks - ldrb r0, [r5] - cmp r4, r0 - bge _0805E3EA - ldr r0, =gSprites - mov r9, r0 - movs r0, 0x1 - mov r12, r0 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ldr r7, =gBattleSpritesDataPtr - ldr r6, =gBankSpriteIds -_0805E3B8: - ldr r0, [r7] - ldr r0, [r0] - lsls r3, r4, 2 - adds r3, r0 - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - mov r0, r12 - ands r1, r0 - ldrb r2, [r3] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _0805E3B8 -_0805E3EA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E394 - - thumb_func_start CopyBattleSpriteInvisibility -CopyBattleSpriteInvisibility: @ 805E408 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r1, [r1] - lsls r3, r0, 2 - adds r3, r1 - ldr r2, =gSprites - ldr r1, =gBankSpriteIds - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bx lr - .pool - thumb_func_end CopyBattleSpriteInvisibility - - thumb_func_start sub_805E448 -sub_805E448: @ 805E448 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r2, 24 - cmp r2, 0 - beq _0805E51C - ldr r0, =gBankSpriteIds - adds r5, r7, r0 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - ldr r4, =gBattleSpritesDataPtr - ldr r1, [r4] - ldr r1, [r1, 0x8] - ldrb r1, [r1] - bl StartSpriteAnim - lsls r0, r7, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r6, r0, 16 - ldr r2, =gBattleStruct - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r1, [r0] - lsls r1, 5 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3 - ldr r0, [r2] - adds r0, r1 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gBattleMonForms - adds r1, r7, r1 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r0, [r0] - strb r0, [r1] - ldr r0, [r4] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805E4DE - ldr r3, =0x00007fff - adds r0, r6, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r6, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet -_0805E4DE: - adds r0, r7, 0 - bl sub_80A6138 - ldrb r2, [r5] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - b _0805E77A - .pool -_0805E51C: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0805E558 - movs r0, 0 - mov r10, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0x18] - ldrh r1, [r2, 0x2] - mov r8, r1 - ldr r3, [r2, 0x8] - mov r9, r3 - ldr r4, [r2, 0xC] - lsls r0, r1, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - ldr r3, [r2, 0x10] - b _0805E5FA - .pool -_0805E558: - adds r0, r7, 0 - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, [sp] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805E58C - ldr r1, =gBattlePartyID - ldr r2, [sp] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _0805E59C - .pool -_0805E58C: - ldr r1, =gBattlePartyID - ldr r3, [sp] - lsls r0, r3, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_0805E59C: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r7, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0805E618 - ldr r0, =gBattlePartyID - lsls r4, r7, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r9, r0 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r4, r0, 0 - mov r1, r8 - lsls r0, r1, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r2, r3, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - ldr r3, =gTransformedPersonalities - lsls r2, r7, 2 - adds r2, r3 - ldr r3, [r2] -_0805E5FA: - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _0805E662 - .pool -_0805E618: - ldr r0, =gBattlePartyID - lsls r4, r7, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r9, r0 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r4, r0, 0 - mov r1, r8 - lsls r0, r1, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r2, r3, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - ldr r3, =gTransformedPersonalities - lsls r2, r7, 2 - adds r2, r3 - ldr r3, [r2] - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_0805E662: - ldr r0, =gMonSpritesGfxPtr - ldr r0, [r0] - mov r2, r10 - lsls r1, r2, 2 - adds r0, 0x4 - adds r0, r1 - ldr r2, [r0] - ldr r0, =gBankSpriteIds - adds r0, r7 - mov r10, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r3, =gSprites - adds r0, r3 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, =0x06010000 - adds r0, r1 - ldr r1, =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, =0x84000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - lsls r0, r7, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r6, r0, 16 - mov r0, r8 - adds r1, r4, 0 - mov r2, r9 - bl species_and_otid_get_pal - mov r9, r0 - ldr r4, =0x0201c000 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =0x00000181 - cmp r8, r0 - bne _0805E70A - mov r2, r10 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r1, 0x8 - adds r0, r1 - ldr r1, =gMonAnimationsSpriteAnimsPtrTable - mov r3, r8 - lsls r2, r3, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - ldr r5, =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - mov r0, r9 - bl LZDecompressWram - ldr r0, =gBattleMonForms - ldr r1, [sp] - adds r0, r1, r0 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette -_0805E70A: - ldr r3, =0x00007fff - adds r0, r6, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r6, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0805E74A - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - mov r2, r8 - strh r2, [r0, 0x2] - ldr r0, =gBattleMonForms - adds r1, r7, r0 - ldr r3, [sp] - adds r0, r3, r0 - ldrb r0, [r0] - strb r0, [r1] -_0805E74A: - adds r0, r7, 0 - bl sub_80A6138 - mov r1, r10 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, =gSprites - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - mov r3, r10 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =gBattleMonForms - adds r1, r7, r1 - ldrb r1, [r1] - bl StartSpriteAnim -_0805E77A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E448 - - thumb_func_start BattleLoadSubstituteSpriteGfx -BattleLoadSubstituteSpriteGfx: @ 805E7DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - lsls r1, 24 - cmp r1, 0 - bne _0805E898 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0805E7F8 - movs r4, 0 - b _0805E802 -_0805E7F8: - adds r0, r4, 0 - bl GetBankIdentity - lsls r0, 24 - lsrs r4, r0, 24 -_0805E802: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0805E814 - ldr r0, =gUnknown_08C2D120 - b _0805E822 - .pool -_0805E814: - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0805E83C - ldr r0, =gUnknown_08C2CEE0 -_0805E822: - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram - b _0805E84E - .pool -_0805E83C: - ldr r0, =gUnknown_08C2D120 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram -_0805E84E: - movs r3, 0x1 - lsls r6, r5, 4 - ldr r7, =gUnknown_08C2CEBC - ldr r0, =gMonSpritesGfxPtr - ldr r0, [r0] - adds r0, 0x4 - adds r4, r0, r4 - ldr r2, =0x040000d4 - ldr r5, =0x84000200 -_0805E860: - ldr r0, [r4] - lsls r1, r3, 11 - adds r1, r0, r1 - str r0, [r2] - str r1, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r3, 0x1 - cmp r3, 0x3 - ble _0805E860 - movs r0, 0x80 - lsls r0, 1 - adds r1, r6, r0 - adds r0, r7, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _0805E8E6 - .pool -_0805E898: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0805E8E6 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0805E8D0 - ldr r1, =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadOpponentMonSpriteGfx - b _0805E8E6 - .pool -_0805E8D0: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r5, 0 - bl BattleLoadPlayerMonSpriteGfx -_0805E8E6: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end BattleLoadSubstituteSpriteGfx - - thumb_func_start refresh_graphics_maybe -refresh_graphics_maybe: @ 805E8F4 - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl BattleLoadSubstituteSpriteGfx - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - ldr r0, =gBattleMonForms - adds r0, r6, r0 - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - bne _0805E938 - adds r0, r6, 0 - bl sub_80A614C - b _0805E93E - .pool -_0805E938: - adds r0, r6, 0 - bl sub_80A6138 -_0805E93E: - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end refresh_graphics_maybe - - thumb_func_start TrySetBehindSubstituteSpriteBit -TrySetBehindSubstituteSpriteBit: @ 805E94C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xA4 - bne _0805E96C - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_0805E96C: - pop {r0} - bx r0 - .pool - thumb_func_end TrySetBehindSubstituteSpriteBit - - thumb_func_start sub_805E974 -sub_805E974: @ 805E974 - lsls r0, 24 - ldr r1, =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r1, [r1] - lsrs r0, 22 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_805E974 - - thumb_func_start sub_805E990 -sub_805E990: @ 805E990 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - adds r7, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805EA08 - ldr r7, =gBattleSpritesDataPtr - ldr r0, [r7] - ldr r2, [r0] - lsls r4, r6, 2 - adds r0, r4, r2 - ldrb r1, [r0] - movs r5, 0x2 - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0805EA5A - adds r0, r6, 0 - eors r0, r5 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0805E9F6 - movs r0, 0x5A - bl PlaySE -_0805E9F6: - ldr r0, [r7] - ldr r1, [r0] - adds r1, r4, r1 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - b _0805EA5A - .pool -_0805EA08: - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0] - lsls r1, r6, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0805EA34 - movs r0, 0x5A - bl m4aSongNumStop - b _0805EA5A - .pool -_0805EA34: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805EA5A - ldr r1, [r4] - movs r0, 0x2 - eors r7, r0 - ldr r1, [r1] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0805EA5A - movs r0, 0x5A - bl m4aSongNumStop -_0805EA5A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_805E990 - - thumb_func_start BattleMusicStop -BattleMusicStop: @ 805EA60 - push {r4-r6,lr} - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gBattleSpritesDataPtr - ldr r0, [r5] - ldr r0, [r0] - lsls r1, r4, 2 - adds r1, r0 - ldrb r2, [r1] - movs r6, 0x3 - negs r6, r6 - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805EAA2 - ldr r2, [r5] - movs r0, 0x2 - adds r1, r4, 0 - eors r1, r0 - ldr r0, [r2] - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_0805EAA2: - movs r0, 0x5A - bl m4aSongNumStop - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end BattleMusicStop - - thumb_func_start sub_805EAB4 -sub_805EAB4: @ 805EAB4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805EAB4 - - thumb_func_start sub_805EAE8 -sub_805EAE8: @ 805EAE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0805EB7E - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r5, =gBattlePartyID - mov r1, r8 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r9 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0x64 - adds r0, r4, 0 - muls r0, r7 - ldr r6, =gPlayerParty - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0805EB5A - adds r0, r4, 0 - mov r1, r8 - bl sub_805E990 -_0805EB5A: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805EB7E - adds r0, r5, 0 - muls r0, r7 - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0805EB7E - adds r0, r4, 0 - mov r1, r9 - bl sub_805E990 -_0805EB7E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805EAE8 - - thumb_func_start sub_805EB9C -sub_805EB9C: @ 805EB9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, =gNoOfAllBanks - ldrb r0, [r0] - cmp r5, r0 - bge _0805EC6C - movs r0, 0x3 - mov r10, r8 - mov r1, r10 - ands r1, r0 - mov r10, r1 - movs r6, 0 - movs r2, 0x3F - negs r2, r2 - mov r9, r2 -_0805EBC8: - lsls r0, r5, 24 - lsrs r0, 24 - bl IsBankSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _0805EC60 - ldr r4, =gSprites - ldr r0, =gBankSpriteIds - adds r3, r5, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r7, 0x4 - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - mov r2, r10 - orrs r1, r2 - strb r1, [r0, 0x1] - mov r7, r8 - cmp r7, 0 - bne _0805EC3C - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r2, [r0, 0x4] - adds r2, r6, r2 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r2, 0x6] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x3] - mov r2, r9 - ands r1, r2 - strb r1, [r0, 0x3] - b _0805EC60 - .pool -_0805EC3C: - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r0, [r2, 0x3] - mov r3, r9 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x3] -_0805EC60: - adds r6, 0xC - adds r5, 0x1 - ldr r0, =gNoOfAllBanks - ldrb r0, [r0] - cmp r5, r0 - blt _0805EBC8 -_0805EC6C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805EB9C - - thumb_func_start LoadAndCreateEnemyShadowSprites -LoadAndCreateEnemyShadowSprites: @ 805EC84 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_0831C6A0 - bl LoadCompressedObjectPic - movs r0, 0x1 - bl GetBankByIdentity - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0831C6B0 - mov r8, r0 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A5C6C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A5C6C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r6, =gBattleSpritesDataPtr - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r7, =gSprites - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805ED56 - movs r0, 0x3 - bl GetBankByIdentity - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A5C6C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A5C6C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] -_0805ED56: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end LoadAndCreateEnemyShadowSprites - - thumb_func_start sub_805ED70 -@ int sub_805ED70(obj *a1) -sub_805ED70: @ 805ED70 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBankSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r7, r0, r1 - adds r6, r7, 0 - adds r6, 0x3E - ldrb r1, [r6] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805EDAC - adds r0, r4, 0 - bl IsBankSpritePresent - lsls r0, 24 - cmp r0, 0 - bne _0805EDC0 -_0805EDAC: - ldr r0, =sub_805EE48 - str r0, [r5, 0x1C] - b _0805EE36 - .pool -_0805EDC0: - ldr r0, =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _0805EDD2 - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0805EDE4 -_0805EDD2: - movs r0, 0x1 - mov r8, r0 - ldr r2, =gBattleSpritesDataPtr - lsls r4, 2 - b _0805EE06 - .pool -_0805EDE4: - ldr r2, =gBattleSpritesDataPtr - ldr r0, [r2] - ldr r0, [r0] - lsls r1, r4, 2 - adds r3, r1, r0 - ldrh r0, [r3, 0x2] - adds r4, r1, 0 - cmp r0, 0 - beq _0805EE06 - ldr r0, =gEnemyMonElevation - ldrh r1, [r3, 0x2] - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0805EE06 - movs r0, 0x1 - mov r8, r0 -_0805EE06: - ldr r0, [r2] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0805EE1A - movs r0, 0x1 - mov r8, r0 -_0805EE1A: - ldrh r0, [r7, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r7, 0x24] - strh r0, [r5, 0x24] - adds r2, r5, 0 - adds r2, 0x3E - mov r0, r8 - lsls r3, r0, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_0805EE36: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805ED70 - - thumb_func_start sub_805EE48 -sub_805EE48: @ 805EE48 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - bx lr - thumb_func_end sub_805EE48 - - thumb_func_start SetBankEnemyShadowSpriteCallback -SetBankEnemyShadowSpriteCallback: @ 805EE54 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0805EED0 - ldr r0, =gBattleSpritesDataPtr - ldr r3, [r0] - ldr r1, [r3] - lsls r0, r4, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _0805EE7E - adds r5, r0, 0 -_0805EE7E: - ldr r0, =gEnemyMonElevation - adds r0, r5, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _0805EEB4 - ldr r2, =gSprites - ldr r1, [r3, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_805ED70 - b _0805EECE - .pool -_0805EEB4: - ldr r2, =gSprites - ldr r1, [r3, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_805EE48 -_0805EECE: - str r1, [r0] -_0805EED0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end SetBankEnemyShadowSpriteCallback - - thumb_func_start sub_805EEE0 -sub_805EEE0: @ 805EEE0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - ldr r1, =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r3, [r1, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_805EE48 - str r1, [r0] - bx lr - .pool - thumb_func_end sub_805EEE0 - - thumb_func_start sub_805EF14 -sub_805EF14: @ 805EF14 - push {r4-r6,lr} - ldr r3, =0x06000240 - movs r0, 0 - movs r6, 0xF0 - lsls r6, 8 -_0805EF1E: - adds r5, r0, 0x1 - movs r4, 0xF -_0805EF22: - ldrh r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0805EF32 - adds r0, r6, 0 - orrs r0, r1 - strh r0, [r3] -_0805EF32: - ldrh r1, [r3] - movs r2, 0xF0 - lsls r2, 4 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0805EF46 - adds r0, r2, 0 - orrs r0, r1 - strh r0, [r3] -_0805EF46: - ldrh r1, [r3] - movs r2, 0xF0 - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _0805EF58 - adds r0, r1, 0 - orrs r0, r2 - strh r0, [r3] -_0805EF58: - ldrh r1, [r3] - movs r2, 0xF - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0805EF6A - adds r0, r1, 0 - orrs r0, r2 - strh r0, [r3] -_0805EF6A: - adds r3, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0805EF22 - adds r0, r5, 0 - cmp r0, 0x8 - ble _0805EF1E - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805EF14 - - thumb_func_start ClearTemporarySpeciesSpriteData -ClearTemporarySpeciesSpriteData: @ 805EF84 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r2, [r0] - lsls r0, r4, 2 - adds r0, r2 - movs r3, 0 - movs r2, 0 - strh r2, [r0, 0x2] - ldr r0, =gBattleMonForms - adds r0, r4, r0 - strb r3, [r0] - cmp r1, 0 - bne _0805EFAC - adds r0, r4, 0 - bl sub_805E974 -_0805EFAC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ClearTemporarySpeciesSpriteData - - thumb_func_start AllocateMonSpritesGfx -AllocateMonSpritesGfx: @ 805EFBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r4, =gMonSpritesGfxPtr - str r6, [r4] - movs r0, 0xC0 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - movs r0, 0x80 - lsls r0, 8 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] -_0805EFE2: - ldr r0, =gMonSpritesGfxPtr - ldr r1, [r0] - lsls r4, r6, 2 - adds r2, r1, 0x4 - adds r2, r4 - lsls r3, r6, 13 - ldr r0, [r1] - adds r0, r3 - str r0, [r2] - lsls r3, r6, 1 - adds r0, r3, r6 - lsls r0, 3 - adds r1, r0, r1 - ldr r2, =gUnknown_08329D98 - adds r1, 0x14 - adds r0, r2 - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - movs r5, 0 - mov r9, r3 - lsls r0, r6, 5 - mov r8, r0 - adds r1, r6, 0x1 - mov r10, r1 - mov r12, r8 - adds r7, r4, 0 -_0805F01A: - ldr r2, =gMonSpritesGfxPtr - ldr r1, [r2] - lsls r4, r5, 3 - add r4, r12 - adds r3, r1, 0 - adds r3, 0x74 - adds r3, r4 - adds r0, r1, 0x4 - adds r0, r7 - lsls r2, r5, 11 - ldr r0, [r0] - adds r0, r2 - str r0, [r3] - adds r1, r4 - adds r1, 0x78 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0805F01A - ldr r1, =gMonSpritesGfxPtr - ldr r2, [r1] - mov r5, r9 - adds r0, r5, r6 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x20 - adds r1, r0 - mov r0, r8 - adds r0, 0x74 - adds r2, r0 - str r2, [r1] - mov r7, r10 - lsls r0, r7, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0805EFE2 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end AllocateMonSpritesGfx - - thumb_func_start FreeMonSpritesGfx -FreeMonSpritesGfx: @ 805F094 - push {r4-r6,lr} - ldr r6, =gMonSpritesGfxPtr - ldr r0, [r6] - cmp r0, 0 - beq _0805F106 - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0805F0BA - bl Free - ldr r0, [r6] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_0805F0BA: - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0805F0D8 - bl Free - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_0805F0D8: - ldr r0, [r6] - movs r5, 0xBA - lsls r5, 1 - adds r0, r5 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r5, r0, r5 - movs r4, 0 - str r4, [r5] - ldr r0, [r0] - bl Free - ldr r0, [r6] - str r4, [r0] - str r4, [r0, 0x4] - str r4, [r0, 0x8] - str r4, [r0, 0xC] - str r4, [r0, 0x10] - bl Free - str r4, [r6] -_0805F106: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end FreeMonSpritesGfx - - thumb_func_start sub_805F110 -sub_805F110: @ 805F110 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x37 - bl GetMonData - ldr r1, =0x00000fff - ands r1, r0 - cmp r1, 0 - bne _0805F158 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - ble _0805F158 - movs r0, 0x1 - b _0805F15A - .pool -_0805F158: - movs r0, 0 -_0805F15A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805F110 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s index 705146ce5..a3be18667 100644 --- a/asm/battle_anim_80A5C6C.s +++ b/asm/battle_anim_80A5C6C.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_80A5C6C -sub_80A5C6C: @ 80A5C6C + thumb_func_start GetBattlerSpriteCoord +GetBattlerSpriteCoord: @ 80A5C6C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 @@ -40,7 +40,7 @@ _080A5C9C: _080A5CB0: ldr r4, =gUnknown_08525F58 adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 22 ldr r1, =gBattleTypeFlags @@ -56,7 +56,7 @@ _080A5CB0: _080A5CD8: ldr r4, =gUnknown_08525F58 adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 22 ldr r1, =gBattleTypeFlags @@ -90,7 +90,7 @@ _080A5D24: b _080A5D9A _080A5D28: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A5D60 @@ -102,7 +102,7 @@ _080A5D28: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A5D98 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -120,7 +120,7 @@ _080A5D60: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A5D98 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -154,7 +154,7 @@ _080A5DB0: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_80A5C6C + thumb_func_end GetBattlerSpriteCoord thumb_func_start sub_80A5DB8 sub_80A5DB8: @ 80A5DB8 @@ -164,7 +164,7 @@ sub_80A5DB8: @ 80A5DB8 lsls r1, 16 lsrs r5, r1, 16 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A5DDA @@ -203,7 +203,7 @@ _080A5E04: ldrh r0, [r0, 0x2] cmp r0, 0 bne _080A5E3C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -293,7 +293,7 @@ _080A5EC8: ldrh r0, [r0, 0x2] cmp r0, 0 bne _080A5F04 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -394,7 +394,7 @@ sub_80A5FA0: @ 80A5FA0 adds r7, r4, 0 movs r5, 0 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -445,7 +445,7 @@ sub_80A600C: @ 80A600C lsls r2, 24 lsrs r7, r2, 24 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6030 @@ -476,7 +476,7 @@ _080A603E: lsrs r4, r0, 16 _080A605C: adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition ldr r3, =gUnknown_08525F58 lsls r0, 24 lsrs r0, 22 @@ -494,7 +494,7 @@ _080A605C: cmp r7, 0 beq _080A609C adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A6096 @@ -577,7 +577,7 @@ _080A611C: _080A6126: adds r0, r4, 0 adds r1, r5, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord _080A612E: lsls r0, 24 lsrs r0, 24 @@ -586,32 +586,32 @@ _080A612E: bx r1 thumb_func_end sub_80A60AC - thumb_func_start sub_80A6138 -sub_80A6138: @ 80A6138 + thumb_func_start GetBattlerSpriteDefault_Y +GetBattlerSpriteDefault_Y: @ 80A6138 push {lr} lsls r0, 24 lsrs r0, 24 movs r1, 0x4 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_80A6138 + thumb_func_end GetBattlerSpriteDefault_Y - thumb_func_start sub_80A614C -sub_80A614C: @ 80A614C + thumb_func_start GetSubstituteSpriteDefault_Y +GetSubstituteSpriteDefault_Y: @ 80A614C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6170 adds r0, r4, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0x80 @@ -620,7 +620,7 @@ sub_80A614C: @ 80A614C _080A6170: adds r0, r4, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0x88 @@ -633,7 +633,7 @@ _080A6180: pop {r4} pop {r1} bx r1 - thumb_func_end sub_80A614C + thumb_func_end GetSubstituteSpriteDefault_Y thumb_func_start sub_80A6190 sub_80A6190: @ 80A6190 @@ -642,7 +642,7 @@ sub_80A6190: @ 80A6190 lsrs r5, r0, 24 adds r0, r5, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 bl IsContest @@ -650,7 +650,7 @@ sub_80A6190: @ 80A6190 cmp r0, 0 bne _080A6238 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A61E4 @@ -662,7 +662,7 @@ sub_80A6190: @ 80A6190 ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A621C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -680,7 +680,7 @@ _080A61E4: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A621C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -699,7 +699,7 @@ _080A621C: ldrh r4, [r1, 0x2] _080A621E: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6238 @@ -716,56 +716,56 @@ _080A6238: bx r1 thumb_func_end sub_80A6190 - thumb_func_start GetAnimBankSpriteId -GetAnimBankSpriteId: @ 80A6240 + thumb_func_start GetAnimBattlerSpriteId +GetAnimBattlerSpriteId: @ 80A6240 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 cmp r0, 0 bne _080A6268 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl IsBankSpritePresent + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _080A62B6 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r4] b _080A62C6 .pool _080A6268: cmp r0, 0x1 bne _080A6288 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] - bl IsBankSpritePresent + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _080A62B6 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r4] b _080A62C6 .pool _080A6288: cmp r1, 0x2 bne _080A62A4 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A62B6 b _080A62C0 .pool _080A62A4: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080A62C0 @@ -774,7 +774,7 @@ _080A62B6: b _080A62CA .pool _080A62C0: - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] eors r0, r4 _080A62C6: @@ -785,7 +785,7 @@ _080A62CA: pop {r1} bx r1 .pool - thumb_func_end GetAnimBankSpriteId + thumb_func_end GetAnimBattlerSpriteId thumb_func_start StoreSpriteCallbackInData6 StoreSpriteCallbackInData6: @ 80A62D4 @@ -1242,16 +1242,16 @@ sub_80A65EC: @ 80A65EC ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x34] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1439,16 +1439,16 @@ sub_80A6760: @ 80A6760 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x34] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1547,16 +1547,16 @@ sub_80A6814: @ 80A6814 sub_80A6838: @ 80A6838 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1575,16 +1575,16 @@ sub_80A6864: @ 80A6864 lsls r1, 16 lsrs r5, r1, 16 mov r8, r5 - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -1596,7 +1596,7 @@ sub_80A6864: @ 80A6864 .pool _080A68A4: ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A68BC @@ -1646,8 +1646,8 @@ sub_80A68D4: @ 80A68D4 bx r0 thumb_func_end sub_80A68D4 - thumb_func_start sub_80A6900 -sub_80A6900: @ 80A6900 + thumb_func_start AnimateBallThrow +AnimateBallThrow: @ 80A6900 push {r4,lr} adds r4, r0, 0 bl sub_80A6F3C @@ -1674,7 +1674,7 @@ _080A692E: pop {r4} pop {r1} bx r1 - thumb_func_end sub_80A6900 + thumb_func_end AnimateBallThrow thumb_func_start sub_80A6934 sub_80A6934: @ 80A6934 @@ -1729,7 +1729,7 @@ sub_80A6980: @ 80A6980 lsls r1, 24 cmp r1, 0 bne _080A69A8 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_80A60AC @@ -1765,7 +1765,7 @@ sub_80A69CC: @ 80A69CC lsls r1, 24 cmp r1, 0 bne _080A69F0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_80A60AC @@ -1777,7 +1777,7 @@ sub_80A69CC: @ 80A69CC b _080A6A04 .pool _080A69F0: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_80A60AC @@ -1806,41 +1806,41 @@ _080A6A04: .pool thumb_func_end sub_80A69CC - thumb_func_start GetBankSide -GetBankSide: @ 80A6A30 + thumb_func_start GetBattlerSide +GetBattlerSide: @ 80A6A30 lsls r0, 24 lsrs r0, 24 - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions adds r0, r1 ldrb r1, [r0] movs r0, 0x1 ands r0, r1 bx lr .pool - thumb_func_end GetBankSide + thumb_func_end GetBattlerSide - thumb_func_start GetBankIdentity -GetBankIdentity: @ 80A6A44 + thumb_func_start GetBattlerPosition +GetBattlerPosition: @ 80A6A44 lsls r0, 24 lsrs r0, 24 - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions adds r0, r1 ldrb r0, [r0] bx lr .pool - thumb_func_end GetBankIdentity + thumb_func_end GetBattlerPosition - thumb_func_start GetBankByIdentity -GetBankByIdentity: @ 80A6A54 + thumb_func_start GetBattlerAtPosition +GetBattlerAtPosition: @ 80A6A54 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 movs r1, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r2, [r0] cmp r1, r2 bcs _080A6A7E - ldr r4, =gBanksByIdentity + ldr r4, =gBattlerPositions ldrb r0, [r4] cmp r0, r3 beq _080A6A7E @@ -1860,10 +1860,10 @@ _080A6A7E: pop {r1} bx r1 .pool - thumb_func_end GetBankByIdentity + thumb_func_end GetBattlerAtPosition - thumb_func_start IsBankSpritePresent -IsBankSpritePresent: @ 80A6A90 + thumb_func_start IsBattlerSpritePresent +IsBattlerSpritePresent: @ 80A6A90 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -1872,28 +1872,28 @@ IsBankSpritePresent: @ 80A6A90 lsls r0, 24 cmp r0, 0 beq _080A6ABC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] cmp r0, r4 beq _080A6B0A - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] cmp r0, r4 beq _080A6B0A b _080A6B18 .pool _080A6ABC: - ldr r0, =gBanksByIdentity + ldr r0, =gBattlerPositions adds r0, r4, r0 ldrb r0, [r0] cmp r0, 0xFF beq _080A6B18 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6AF0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -1903,7 +1903,7 @@ _080A6ABC: b _080A6AFE .pool _080A6AF0: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -1926,7 +1926,7 @@ _080A6B1A: pop {r4,r5} pop {r1} bx r1 - thumb_func_end IsBankSpritePresent + thumb_func_end IsBattlerSpritePresent thumb_func_start IsDoubleBattle IsDoubleBattle: @ 80A6B20 @@ -2061,7 +2061,7 @@ sub_80A6BFC: @ 80A6BFC b _080A6C60 .pool _080A6C30: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -2889,7 +2889,7 @@ sub_80A7238: @ 80A7238 beq _080A7268 ldr r4, =gSprites movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 lsls r1, r0, 4 @@ -2934,7 +2934,7 @@ sub_80A7270: @ 80A7270 cmp r0, 0 bne _080A72A6 adds r0, r7, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A72B4 @@ -3372,7 +3372,7 @@ _080A75F6: _080A7602: cmp r7, 0 beq _080A7614 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r0, 0 adds r1, 0x10 @@ -3383,7 +3383,7 @@ _080A7614: mov r0, r8 cmp r0, 0 beq _080A7628 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r1, r0, 0 adds r1, 0x10 @@ -3394,11 +3394,11 @@ _080A7628: mov r0, r9 cmp r0, 0 beq _080A764E - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A764E @@ -3413,11 +3413,11 @@ _080A764E: mov r0, r10 cmp r0, 0 beq _080A7674 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A7674 @@ -3496,15 +3496,15 @@ _080A76F2: cmp r5, 0 beq _080A771A movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A771A movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -3514,15 +3514,15 @@ _080A771A: cmp r6, 0 beq _080A7746 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A7746 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3534,15 +3534,15 @@ _080A7746: cmp r7, 0 beq _080A7772 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A7772 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3555,15 +3555,15 @@ _080A7772: cmp r0, 0 beq _080A77A0 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A77A0 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3592,7 +3592,7 @@ sub_80A77B4: @ 80A77B4 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 pop {r1} @@ -3670,9 +3670,9 @@ _080A7838: _080A7842: adds r0, r5, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A785C @@ -3682,10 +3682,10 @@ _080A7842: _080A785C: ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -3693,7 +3693,7 @@ _080A785C: strh r0, [r5, 0x32] ldrb r0, [r4] adds r1, r7, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -3716,9 +3716,9 @@ sub_80A78AC: @ 80A78AC adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A78CC @@ -3730,10 +3730,10 @@ _080A78CC: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -3741,7 +3741,7 @@ _080A78CC: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -3763,7 +3763,7 @@ _080A78CC: sub_80A791C: @ 80A791C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _080A7930 @@ -3799,19 +3799,19 @@ _080A7954: adds r0, r5, 0 adds r1, r4, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080A7976 .pool _080A796C: adds r0, r5, 0 adds r1, r4, 0 bl sub_80A6980 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080A7976: ldrb r6, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A798E @@ -3828,7 +3828,7 @@ _080A798E: strh r0, [r5, 0x2E] adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r4, 0x4] @@ -3836,7 +3836,7 @@ _080A798E: strh r0, [r5, 0x32] adds r0, r6, 0 adds r1, r7, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -3858,7 +3858,7 @@ duplicate_obj_of_side_rel2move_in_transparent_mode: @ 80A79E8 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0xFF @@ -4084,7 +4084,7 @@ sub_80A7B98: @ 80A7B98 lsrs r4, r0, 24 ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0xFF @@ -4539,7 +4539,7 @@ sub_80A7F18: @ 80A7F18 lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldr r7, =0x00000181 ldr r0, =gBattleMonForms adds r6, r5, r0 @@ -4567,7 +4567,7 @@ _080A7F42: _080A7F78: lsls r0, r4, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A7FD8 @@ -4579,7 +4579,7 @@ _080A7F78: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A7FC0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -4614,7 +4614,7 @@ _080A7FD8: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A8010 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -4837,14 +4837,14 @@ sub_80A8174: @ 80A8174 lsls r0, 24 lsrs r4, r0, 24 adds r7, r4, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A81B4 ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -4863,15 +4863,15 @@ sub_80A8174: @ 80A8174 orrs r0, r2 strb r0, [r1, 0x5] _080A81B4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A81EC ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds mov r3, r8 ldrb r0, [r3] adds r0, r1 @@ -4894,12 +4894,12 @@ _080A81EC: ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A8224 ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r6] eors r0, r5 adds r0, r1 @@ -4922,12 +4922,12 @@ _080A8224: mov r1, r8 ldrb r0, [r1] eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A825C ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds mov r3, r8 ldrb r0, [r3] eors r0, r5 @@ -4959,7 +4959,7 @@ _080A825C: sub_80A8278: @ 80A8278 push {r4-r6,lr} movs r5, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _080A82D2 @@ -4968,13 +4968,13 @@ _080A8286: lsls r0, r5, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A82C8 adds r0, r4, 0 bl sub_80A82E4 - ldr r3, =gBankSpriteIds + ldr r3, =gBattlerSpriteIds adds r3, r5, r3 ldrb r2, [r3] lsls r1, r2, 4 @@ -4998,7 +4998,7 @@ _080A8286: strb r2, [r0, 0x5] _080A82C8: adds r5, 0x1 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _080A8286 @@ -5027,7 +5027,7 @@ _080A82FC: b _080A8320 _080A8300: adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x1E @@ -5053,7 +5053,7 @@ sub_80A8328: @ 80A8328 push {r4,lr} lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r4, r0, 24 bl IsContest @@ -5093,7 +5093,7 @@ sub_80A8364: @ 80A8364 cmp r0, 0 bne _080A838A adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -5180,7 +5180,7 @@ _080A8412: adds r0, r6, 0 ldr r1, [sp, 0x3C] mov r2, r8 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality lsls r1, r5, 20 movs r2, 0x80 lsls r2, 17 @@ -5243,7 +5243,7 @@ _080A84B0: adds r0, r6, 0 ldr r1, [sp, 0x3C] mov r2, r8 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality lsls r1, r5, 20 movs r3, 0x80 lsls r3, 17 @@ -5486,7 +5486,7 @@ _080A86AC: .pool _080A86C4: mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A8790 @@ -5499,7 +5499,7 @@ _080A86C4: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A871C - ldr r0, =gBattlePartyID + ldr r0, =gBattlerPartyIndexes mov r1, r8 lsls r4, r1, 1 adds r4, r0 @@ -5589,7 +5589,7 @@ _080A8790: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A87DC - ldr r0, =gBattlePartyID + ldr r0, =gBattlerPartyIndexes mov r1, r8 lsls r4, r1, 1 adds r4, r0 @@ -5713,7 +5713,7 @@ _080A88A6: _080A88AE: mov r0, r8 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r1, [r4] @@ -5722,7 +5722,7 @@ _080A88AE: _080A88C0: mov r0, r8 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r1, [r4] @@ -5731,7 +5731,7 @@ _080A88C0: _080A88D2: mov r0, r8 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r2, [r4] @@ -5744,7 +5744,7 @@ _080A88E4: _080A88EA: mov r0, r8 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r2, [r4] @@ -5757,7 +5757,7 @@ _080A88FC: _080A8902: mov r0, r8 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -5798,13 +5798,13 @@ _080A8942: _080A8946: adds r0, r4, 0 adds r1, r5, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 adds r0, r4, 0 adds r1, r6, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 bl IsDoubleBattle @@ -5819,12 +5819,12 @@ _080A8946: eors r4, r0 adds r0, r4, 0 adds r1, r5, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 adds r1, r6, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 mov r0, r8 @@ -5941,9 +5941,9 @@ sub_80A8A6C: @ 80A8A6C push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8AAC @@ -5998,9 +5998,9 @@ _080A8AB6: sub_80A8AEC: @ 80A8AEC push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8B1C @@ -6054,9 +6054,9 @@ sub_80A8B64: @ 80A8B64 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8B90 @@ -6101,14 +6101,14 @@ sub_80A8BC4: @ 80A8BC4 ldr r0, =gTasks adds r5, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0x8] - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x8 cmp r0, 0 @@ -6389,21 +6389,21 @@ _080A8E26: sub_80A8E30: @ 80A8E30 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A8E68 @@ -6487,9 +6487,9 @@ sub_80A8EE4: @ 80A8EE4 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x36] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A8F24 diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s index 681802e12..755653156 100644 --- a/asm/battle_anim_80A9C70.s +++ b/asm/battle_anim_80A9C70.s @@ -17,7 +17,7 @@ sub_80A9C70: @ 80A9C70 lsrs r4, 24 lsls r5, 24 lsrs r5, 24 - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r6, [r0] ldr r0, =sub_80A9DB4 @@ -331,10 +331,10 @@ sub_80A9EF4: @ 80A9EF4 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 ldr r1, =0xffe00000 @@ -342,7 +342,7 @@ sub_80A9EF4: @ 80A9EF4 lsrs r5, r0, 16 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 ldr r1, =0xffdc0000 @@ -855,19 +855,19 @@ _080AA352: .pool thumb_func_end sub_80AA18C - thumb_func_start move_anim_start_t2 -move_anim_start_t2: @ 80AA364 + thumb_func_start LaunchStatusAnimation +LaunchStatusAnimation: @ 80AA364 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r1, 24 lsrs r1, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker strb r4, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget strb r4, [r0] - ldr r0, =gUnknown_082C92FC + ldr r0, =gBattleAnims_Statuses movs r2, 0 bl LaunchBattleAnimation ldr r0, =task0A_80788BC @@ -885,7 +885,7 @@ move_anim_start_t2: @ 80AA364 pop {r0} bx r0 .pool - thumb_func_end move_anim_start_t2 + thumb_func_end LaunchStatusAnimation thumb_func_start task0A_80788BC task0A_80788BC: @ 80AA3B4 diff --git a/asm/battle_anim_80D51AC.s b/asm/battle_anim_80D51AC.s index 3ee1786ad..3f36bb4a2 100755..100644 --- a/asm/battle_anim_80D51AC.s +++ b/asm/battle_anim_80D51AC.s @@ -12,7 +12,7 @@ sub_80D51AC: @ 80D51AC lsrs r5, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0xFF @@ -165,7 +165,7 @@ sub_80D52D0: @ 80D52D0 bgt _080D52FC lsls r0, 24 lsrs r0, 24 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0xFF @@ -200,23 +200,23 @@ _080D5320: _080D5324: movs r0, 0x3 _080D5326: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080D533C movs r6, 0x1 _080D533C: - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 b _080D5350 .pool _080D5348: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 _080D5350: @@ -379,7 +379,7 @@ sub_80D5484: @ 80D5484 lsrs r5, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0xFF @@ -603,7 +603,7 @@ sub_80D5644: @ 80D5644 lsrs r4, 24 ldr r5, =gBattleAnimArgs ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -723,7 +723,7 @@ sub_80D5738: @ 80D5738 movs r6, 0x1 ldr r4, =gBattleAnimArgs ldrb r0, [r4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 movs r1, 0x8 @@ -842,9 +842,9 @@ sub_80D5830: @ 80D5830 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D584C @@ -871,9 +871,9 @@ sub_80D5860: @ 80D5860 movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5890 @@ -891,8 +891,8 @@ _080D5894: movs r0, 0 strh r2, [r4, 0x2E] strh r0, [r4, 0x32] - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -938,7 +938,7 @@ sub_80D58F8: @ 80D58F8 strb r0, [r2] ldr r5, =gBattleAnimArgs ldrb r0, [r5, 0x4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldrh r2, [r5] @@ -987,13 +987,13 @@ sub_80D5968: @ 80D5968 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D598C - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker b _080D5990 .pool _080D598C: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget _080D5990: ldrb r0, [r0] adds r0, r1 @@ -1133,18 +1133,18 @@ sub_80D5A94: @ 80D5A94 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D5AB0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D5AB2 .pool _080D5AB0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D5AB2: ldrb r2, [r0] - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r2, r0 ldrb r6, [r0] adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5ADC @@ -1218,18 +1218,18 @@ sub_80D5B48: @ 80D5B48 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D5B70 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D5B72 .pool _080D5B70: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D5B72: ldrb r1, [r0] - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r1, r0 ldrb r7, [r0] adds r0, r1, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5B9C @@ -1338,9 +1338,9 @@ sub_80D5C50: @ 80D5C50 bl __divsi3 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5C82 @@ -1352,7 +1352,7 @@ sub_80D5C50: @ 80D5C50 strh r0, [r5, 0xA] _080D5C82: ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r1, =gTasks lsls r4, r6, 2 adds r4, r6 @@ -1508,7 +1508,7 @@ sub_80D5DB0: @ 80D5DB0 cmp r0, 0 blt _080D5E10 ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r2, r0, 24 b _080D5E18 @@ -1518,20 +1518,20 @@ _080D5DD8: beq _080D5DE8 b _080D5E10 _080D5DDE: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker b _080D5DEA .pool _080D5DE8: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget _080D5DEA: ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D5E10 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] eors r0, r4 adds r0, r1 @@ -1549,9 +1549,9 @@ _080D5E18: lsls r0, 3 adds r5, r0, r1 strh r2, [r5, 0x8] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5E44 @@ -1622,9 +1622,9 @@ sub_80D5EB8: @ 80D5EB8 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5ED4 @@ -1635,7 +1635,7 @@ sub_80D5EB8: @ 80D5EB8 _080D5ED4: ldr r4, =gBattleAnimArgs ldrb r0, [r4, 0x8] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks @@ -1660,7 +1660,7 @@ _080D5ED4: b _080D5F18 .pool _080D5F14: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] _080D5F18: strh r0, [r2, 0x12] @@ -1722,7 +1722,7 @@ sub_80D5F3C: @ 80D5F3C .pool _080D5F94: ldrb r0, [r4, 0x12] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D5FBC @@ -1836,7 +1836,7 @@ sub_80D6064: @ 80D6064 lsrs r4, 24 ldr r6, =gBattleAnimArgs ldrb r0, [r6, 0x6] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 @@ -1939,7 +1939,7 @@ sub_80D6134: @ 80D6134 lsrs r7, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4, 0x4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -1995,14 +1995,14 @@ _080D61B8: ldrsh r0, [r6, r1] cmp r0, 0 bne _080D61C8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D61CA .pool _080D61C8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D61CA: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0 lsls r0, 24 cmp r0, 0 @@ -2057,7 +2057,7 @@ sub_80D622C: @ 80D622C lsrs r5, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4, 0x4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -2076,14 +2076,14 @@ sub_80D622C: @ 80D622C ldrsh r0, [r4, r1] cmp r0, 0 bne _080D6274 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D6276 .pool _080D6274: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D6276: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D6288 @@ -2290,7 +2290,7 @@ _080D63EE: ldrh r0, [r1, 0x8] strh r0, [r4, 0x1E] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x16] diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s index 315f884cf..f5b9697af 100644 --- a/asm/battle_anim_80FE840.s +++ b/asm/battle_anim_80FE840.s @@ -22,9 +22,9 @@ sub_80FE840: @ 80FE840 strh r0, [r4, 0x2E] ldrh r0, [r5, 0x6] strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FE87C @@ -96,16 +96,16 @@ sub_80FE8E0: @ 80FE8E0 ldr r0, =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -132,16 +132,16 @@ sub_80FE930: @ 80FE930 bl StartSpriteAnim ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -167,10 +167,10 @@ sub_80FE988: @ 80FE988 strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -178,7 +178,7 @@ sub_80FE988: @ 80FE988 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -212,14 +212,14 @@ _080FE9FA: ldrsh r0, [r4, r1] cmp r0, 0x7F ble _080FEA14 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x1 b _080FEA1E .pool _080FEA14: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x6 @@ -287,7 +287,7 @@ sub_80FEA58: @ 80FEA58 strh r0, [r1, 0x4] strh r2, [r1, 0x6] ldr r4, =gUnknown_08592210 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 adds r3, r0, 0 @@ -321,16 +321,16 @@ sub_80FEAD8: @ 80FEAD8 ldr r6, =gBattleAnimArgs ldrh r0, [r6, 0x6] strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -350,7 +350,7 @@ sub_80FEAD8: @ 80FEAD8 sub_80FEB28: @ 80FEB28 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _080FEB3C @@ -374,21 +374,21 @@ sub_80FEB44: @ 80FEB44 ands r1, r0 adds r0, r5, 0 bl StartSpriteAnim - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FEB90 @@ -410,10 +410,10 @@ _080FEB94: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -421,7 +421,7 @@ _080FEB94: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -494,9 +494,9 @@ sub_80FEC48: @ 80FEC48 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FEC68 @@ -508,10 +508,10 @@ _080FEC68: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -519,7 +519,7 @@ _080FEC68: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -541,7 +541,7 @@ _080FEC68: sub_80FECB8: @ 80FECB8 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _080FECE2 @@ -655,7 +655,7 @@ sub_80FED74: @ 80FED74 lsrs r0, 16 cmp r0, 0x7F bhi _080FEDC8 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -669,7 +669,7 @@ sub_80FED74: @ 80FED74 b _080FEDEC .pool _080FEDC8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 adds r0, 0x1 @@ -730,7 +730,7 @@ _080FEE36: bl DestroyAnimVisualTask b _080FEE70 _080FEE3E: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -771,10 +771,10 @@ sub_80FEE78: @ 80FEE78 strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x4] @@ -823,14 +823,14 @@ sub_80FEECC: @ 80FEECC lsrs r0, 16 cmp r0, 0x7F bhi _080FEF18 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 b _080FEF22 .pool _080FEF18: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x1 @@ -868,10 +868,10 @@ sub_80FEF44: @ 80FEF44 strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x4] @@ -950,16 +950,16 @@ _080FEFF6: sub_80FEFFC: @ 80FEFFC push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -1026,9 +1026,9 @@ _080FF08C: sub_80FF090: @ 80FF090 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FF0B4 @@ -1080,9 +1080,9 @@ sub_80FF0F4: @ 80FF0F4 adds r5, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FF114 @@ -1098,10 +1098,10 @@ _080FF114: ldrsh r0, [r6, r1] cmp r0, 0 bne _080FF154 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -1109,7 +1109,7 @@ _080FF114: strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -1117,7 +1117,7 @@ _080FF114: b _080FF174 .pool _080FF154: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -1139,13 +1139,13 @@ _080FF174: strh r0, [r5, 0x38] adds r0, r5, 0 bl sub_80A68D4 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -1175,7 +1175,7 @@ sub_80FF1C0: @ 80FF1C0 movs r0, 0x1 strh r0, [r6, 0x2E] adds r0, r6, 0 - bl sub_80A6900 + bl AnimateBallThrow ldrh r0, [r6, 0x3C] strh r5, [r6, 0x2E] lsls r4, 16 @@ -1265,7 +1265,7 @@ sub_80FF268: @ 80FF268 lsrs r0, 24 cmp r0, 0x1 bne _080FF28A - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -1350,7 +1350,7 @@ _080FF2F8: ldrsh r0, [r4, r1] cmp r0, 0x7F bgt _080FF338 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 @@ -1359,7 +1359,7 @@ _080FF2F8: b _080FF346 .pool _080FF338: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 @@ -1434,7 +1434,7 @@ sub_80FF3B0: @ 80FF3B0 ands r0, r1 strb r0, [r2] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId movs r0, 0x80 lsls r0, 1 strh r0, [r4, 0x2E] @@ -1452,7 +1452,7 @@ sub_80FF3EC: @ 80FF3EC push {r4,lr} adds r4, r0, 0 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 @@ -1517,7 +1517,7 @@ sub_80FF458: @ 80FF458 lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 ldr r0, =gSprites @@ -1550,7 +1550,7 @@ _080FF498: lsls r0, 28 lsrs r0, 30 strh r0, [r6, 0x24] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget mov r9, r0 ldrb r0, [r0] bl sub_80A8328 @@ -1567,7 +1567,7 @@ _080FF498: orrs r0, r1 strb r0, [r7, 0x5] movs r0, 0x3 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 lsls r4, r1, 4 @@ -1618,7 +1618,7 @@ sub_80FF53C: @ 80FF53C lsls r4, 24 lsrs r4, 24 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 @@ -1639,9 +1639,9 @@ sub_80FF53C: @ 80FF53C lsls r1, 16 asrs r1, 24 strh r1, [r5, 0x24] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FF586 @@ -1698,7 +1698,7 @@ sub_80FF5CC: @ 80FF5CC cmp r5, 0 bne _080FF674 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -1723,7 +1723,7 @@ sub_80FF5CC: @ 80FF5CC orrs r0, r2 strb r0, [r1, 0x5] movs r0, 0x3 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 lsls r1, r0, 4 @@ -1785,9 +1785,9 @@ sub_80FF698: @ 80FF698 beq _080FF704 b _080FF756 _080FF6AA: - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080FF6C2 @@ -1799,7 +1799,7 @@ _080FF6AA: _080FF6C2: ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -1808,7 +1808,7 @@ _080FF6C2: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -1845,16 +1845,16 @@ _080FF704: bl ChangeSpriteAffineAnim movs r0, 0x19 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -1878,16 +1878,16 @@ sub_80FF768: @ 80FF768 ldrsh r0, [r5, r1] cmp r0, 0 bne _080FF7D4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1941,31 +1941,31 @@ sub_80FF7EC: @ 80FF7EC push {r4-r6} sub sp, 0x4 mov r9, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord mov r8, r0 mov r0, r8 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 subs r4, r5 @@ -2095,10 +2095,10 @@ sub_80FF934: @ 80FF934 ldrsh r0, [r6, r1] cmp r0, 0 bne _080FF974 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -2107,7 +2107,7 @@ sub_80FF934: @ 80FF934 strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -2349,18 +2349,18 @@ sub_80FFB18: @ 80FFB18 adds r5, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2453,14 +2453,14 @@ _080FFBEC: sub_80FFBF4: @ 80FFBF4 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -2551,18 +2551,18 @@ sub_80FFCB4: @ 80FFCB4 adds r5, r0, 0 movs r1, 0 bl sub_80A6980 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2954,7 +2954,7 @@ sub_80FFFC0: @ 80FFFC0 lsls r0, 3 ldr r1, =gTasks adds r5, r0, r1 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] bl sub_80A82E4 lsls r0, 24 @@ -2963,13 +2963,13 @@ sub_80FFFC0: @ 80FFFC0 strh r0, [r5, 0x10] ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x16] @@ -2982,7 +2982,7 @@ sub_80FFFC0: @ 80FFFC0 bl sub_80A861C strh r0, [r5, 0x1E] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 movs r2, 0x1 @@ -3161,7 +3161,7 @@ _08100180: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _08100196 @@ -3190,7 +3190,7 @@ _081001B4: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _081001CA @@ -3219,7 +3219,7 @@ _081001E6: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _081001FC @@ -3272,7 +3272,7 @@ _08100254: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _0810026A @@ -3403,7 +3403,7 @@ _08100362: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _08100378 @@ -3514,7 +3514,7 @@ _08100448: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081004FC @@ -3566,7 +3566,7 @@ _081004B6: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081004FC @@ -3772,15 +3772,15 @@ sub_8100640: @ 8100640 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810065C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810065E .pool _0810065C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810065E: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100688 @@ -3837,7 +3837,7 @@ _081006CE: _081006D4: adds r0, r6, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5] @@ -3857,17 +3857,17 @@ _081006E4: strb r0, [r4, 0x5] b _08100738 _08100700: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r7, [r7] adds r0, r7 strh r0, [r4, 0x22] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId _0810071A: adds r0, r6, 0 bl sub_80A8328 @@ -4074,20 +4074,20 @@ _081008B4: ldrsh r0, [r1, r3] cmp r0, 0 bne _081008C4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081008C6 .pool _081008C4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081008C6: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 ldr r0, =gBattleAnimArgs @@ -4237,9 +4237,9 @@ _081009F2: sub_81009F8: @ 81009F8 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100A20 @@ -4277,9 +4277,9 @@ _08100A2C: sub_8100A50: @ 8100A50 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08100A6A @@ -4343,21 +4343,21 @@ sub_8100A94: @ 8100A94 sub_8100AE0: @ 8100AE0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08100B14 @@ -4439,12 +4439,12 @@ sub_8100B88: @ 8100B88 b _08100C24 .pool _08100BA8: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r4, 0x2 eors r0, r4 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r5] @@ -4453,15 +4453,15 @@ _08100BA8: b _08100C34 .pool _08100BC8: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 ldrb r0, [r5] @@ -4469,7 +4469,7 @@ _08100BC8: mov r8, r2 mov r1, r8 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08100C3E @@ -4477,7 +4477,7 @@ _08100BC8: mov r2, r8 eors r0, r2 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 @@ -4486,7 +4486,7 @@ _08100BC8: mov r1, r8 eors r0, r1 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -4494,24 +4494,24 @@ _08100BC8: b _08100C3E .pool _08100C24: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r4] _08100C34: movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 _08100C3E: strh r7, [r6, 0x20] strh r4, [r6, 0x22] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08100C56 @@ -4754,9 +4754,9 @@ sub_8100E1C: @ 8100E1C ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100E44 @@ -4866,7 +4866,7 @@ sub_8100EF0: @ 8100EF0 adds r0, 0x8 strh r0, [r1, 0x2] _08100F06: - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0 bl sub_80A60AC @@ -4885,7 +4885,7 @@ _08100F06: adds r0, r4 strh r0, [r5, 0x22] ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100F44 @@ -5090,17 +5090,17 @@ _081010C2: sub_81010CC: @ 81010CC push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =0x0000ffe8 @@ -5426,11 +5426,11 @@ sub_810135C: @ 810135C ldrsh r0, [r0, r1] cmp r0, 0 bne _08101378 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810137A .pool _08101378: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810137A: ldrb r6, [r0] bl IsDoubleBattle @@ -5440,7 +5440,7 @@ _0810137A: movs r1, 0x2 adds r0, r6, 0 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081013C4 @@ -5470,7 +5470,7 @@ _081013C4: bne _081013E8 adds r0, r6, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -5481,14 +5481,14 @@ _081013C4: _081013E8: adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 _081013FA: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -5523,9 +5523,9 @@ sub_8101440: @ 8101440 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08101474 @@ -5611,9 +5611,9 @@ sub_81014F4: @ 81014F4 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810152C @@ -5885,17 +5885,17 @@ _08101718: strh r1, [r5, 0x24] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -6199,9 +6199,9 @@ sub_8101998: @ 8101998 adds r4, r0, 0 movs r0, 0x6 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x2 negs r2, r2 @@ -6213,7 +6213,7 @@ _081019B6: strh r1, [r4, 0x30] movs r0, 0 strh r0, [r4, 0x32] - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -6237,8 +6237,8 @@ sub_81019E8: @ 81019E8 ldrsh r6, [r5, r0] cmp r6, 0 bne _08101A24 - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -6246,7 +6246,7 @@ sub_81019E8: @ 81019E8 movs r1, 0 bl sub_80A7270 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] @@ -6301,9 +6301,9 @@ sub_8101A74: @ 8101A74 adds r4, r0, 0 movs r0, 0x4 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x3 cmp r0, 0 @@ -6315,7 +6315,7 @@ _08101A92: strh r1, [r4, 0x30] movs r0, 0 strh r0, [r4, 0x32] - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -6360,19 +6360,19 @@ sub_8101AE8: @ 8101AE8 ldrsh r0, [r5, r1] cmp r0, 0 bne _08101B38 - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] strh r0, [r5, 0x34] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08101B2C @@ -6465,14 +6465,14 @@ _08101BB6: b _08101C8E _08101BBC: strh r5, [r4, 0x30] - ldr r1, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] strh r0, [r4, 0x32] ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x34] @@ -6575,15 +6575,15 @@ sub_8101C94: @ 8101C94 adds r0, r6 lsls r0, 3 adds r5, r0, r1 - ldr r1, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] movs r4, 0 strh r0, [r5, 0x8] ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 strh r2, [r5, 0xA] @@ -6922,15 +6922,15 @@ sub_8101F40: @ 8101F40 ldrsh r0, [r6, r1] cmp r0, 0 bne _08101F5C - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _08101F5E .pool _08101F5C: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _08101F5E: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -6938,7 +6938,7 @@ _08101F5E: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -6962,10 +6962,10 @@ _08101F5E: sub_8101FA8: @ 8101FA8 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =0x0000ffd0 @@ -6973,7 +6973,7 @@ sub_8101FA8: @ 8101FA8 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -6992,10 +6992,10 @@ sub_8101FA8: @ 8101FA8 sub_8101FF0: @ 8101FF0 push {r4-r6,lr} adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =gBattleAnimArgs @@ -7007,7 +7007,7 @@ sub_8101FF0: @ 8101FF0 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -7115,15 +7115,15 @@ sub_81020D8: @ 81020D8 ldrsh r0, [r6, r1] cmp r0, 0 bne _081020F4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081020F6 .pool _081020F4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081020F6: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -7131,7 +7131,7 @@ _081020F6: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7191,17 +7191,17 @@ _08102178: sub_810217C: @ 810217C push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0xC @@ -7316,10 +7316,10 @@ sub_8102268: @ 8102268 ldrsh r0, [r6, r1] cmp r0, 0 bne _081022B2 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r5, =gBattleAnimArgs lsrs r0, 24 @@ -7328,7 +7328,7 @@ sub_8102268: @ 8102268 strh r0, [r6, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x2] @@ -7465,16 +7465,16 @@ _08102390: strb r0, [r2] movs r0, 0x1E strh r0, [r5, 0x2E] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -7539,19 +7539,19 @@ sub_8102434: @ 8102434 lsls r0, 24 lsrs r7, r0, 24 movs r4, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcs _08102490 ldr r6, =gBattleAnimArgs - ldr r5, =gHealthBoxesIds + ldr r5, =gHealthboxSpriteIds _08102448: movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0x1 bne _08102464 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08102464 @@ -7564,7 +7564,7 @@ _08102464: cmp r0, 0x1 bne _08102482 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7576,7 +7576,7 @@ _08102482: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _08102448 @@ -7597,7 +7597,7 @@ sub_81024A8: @ 81024A8 movs r4, 0 b _081024C2 _081024B2: - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds adds r0, r4, r0 ldrb r0, [r0] bl SetHealthboxSpriteVisible @@ -7605,7 +7605,7 @@ _081024B2: lsls r0, 24 lsrs r4, r0, 24 _081024C2: - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _081024B2 @@ -7673,10 +7673,10 @@ _0810253A: sub_8102540: @ 8102540 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r2, =gBattleAnimArgs lsrs r0, 24 @@ -8068,10 +8068,10 @@ _08102862: strh r0, [r5, 0x2E] ldrh r0, [r6, 0x4] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6] @@ -8079,7 +8079,7 @@ _08102862: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x2] @@ -8113,9 +8113,9 @@ _08102862: b _081028FA .pool _081028D4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810291C @@ -8237,7 +8237,7 @@ sub_81029B4: @ 81029B4 ldr r1, =gTasks adds r6, r0, r1 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x8] @@ -8333,7 +8333,7 @@ _08102A88: _08102A9A: ldr r0, =sub_8102AE0 str r0, [r6] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -8374,7 +8374,7 @@ sub_8102AE0: @ 8102AE0 ldrsh r0, [r0, r1] cmp r0, 0 bne _08102B32 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -8657,15 +8657,15 @@ _08102D10: b _08102D4E .pool _08102D34: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 _08102D4E: @@ -8855,9 +8855,9 @@ _08102EA6: sub_8102EB0: @ 8102EB0 push {r4-r7,lr} adds r6, r0, 0 - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8870,7 +8870,7 @@ sub_8102EB0: @ 8102EB0 _08102ECE: ldrb r0, [r7] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -8880,7 +8880,7 @@ _08102ECE: strh r0, [r6, 0x20] ldrb r0, [r7] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r4, 0x4] @@ -9002,17 +9002,17 @@ sub_8102FB8: @ 8102FB8 _08102FDC: ldr r6, =0x0000fff0 _08102FDE: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x8 @@ -9149,7 +9149,7 @@ sub_810310C: @ 810310C lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810312C @@ -9167,7 +9167,7 @@ _08103136: strh r0, [r6, 0x20] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 adds r0, r5, 0 movs r1, 0 @@ -9197,18 +9197,18 @@ sub_8103164: @ 8103164 ldrsh r0, [r0, r1] cmp r0, 0 bne _08103180 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08103182 .pool _08103180: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08103182: ldrb r4, [r0] adds r0, r4, 0 adds r1, r5, 0 bl sub_810310C adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -9268,11 +9268,11 @@ sub_8103208: @ 8103208 ldrsh r0, [r0, r1] cmp r0, 0 bne _08103224 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08103226 .pool _08103224: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08103226: ldrb r0, [r0] adds r1, r4, 0 @@ -9325,16 +9325,16 @@ sub_8103284: @ 8103284 ldrsh r0, [r0, r1] cmp r0, 0 bne _081032A0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081032A2 .pool _081032A0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081032A2: ldrb r5, [r0] adds r0, r5, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r6, 0 @@ -9463,18 +9463,18 @@ sub_8103390: @ 8103390 ldrsh r0, [r0, r1] cmp r0, 0 bne _081033AC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081033AE .pool _081033AC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081033AE: ldrb r4, [r0] adds r0, r4, 0 adds r1, r5, 0 bl sub_810310C adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081033D4 @@ -9591,11 +9591,11 @@ sub_8103498: @ 8103498 ldrsh r0, [r0, r1] cmp r0, 0 bne _081034B4 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081034B6 .pool _081034B4: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081034B6: ldrb r0, [r0] adds r1, r4, 0 @@ -9716,26 +9716,26 @@ _0810357A: sub_810358C: @ 810358C push {r4-r6,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081035E4 @@ -9846,8 +9846,8 @@ sub_81036A0: @ 81036A0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -9871,12 +9871,12 @@ sub_81036DC: @ 81036DC push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r0, r1 ldrb r4, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08103718 @@ -9992,9 +9992,9 @@ sub_81037D8: @ 81037D8 push {r4,r5,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08103804 @@ -10018,9 +10018,9 @@ _08103810: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810384C @@ -10117,9 +10117,9 @@ sub_81038C8: @ 81038C8 b _0810390E .pool _081038EC: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810390E @@ -10137,10 +10137,10 @@ _0810390E: adds r0, r5, 0 movs r1, 0x1 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r6, =gBattleAnimArgs lsrs r0, 24 @@ -10151,7 +10151,7 @@ _0810390E: mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x6] @@ -10676,8 +10676,8 @@ _08103D54: strh r0, [r3, 0x4] b _08103DB6 _08103D5C: - ldr r1, =gBanksByIdentity - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerPositions + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -10716,10 +10716,10 @@ _08103DB0: _08103DB4: strh r0, [r2, 0x4] _08103DB6: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldr r1, =gTasks mov r3, r8 adds r4, r3, r7 @@ -10731,7 +10731,7 @@ _08103DB6: adds r6, r0, 0 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -10742,11 +10742,11 @@ _08103DB6: ands r0, r1 cmp r0, 0 beq _08103E20 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08103E20 @@ -10759,16 +10759,16 @@ _08103DB6: .pool _08103E20: mov r5, sp - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r1, r10 @@ -10897,7 +10897,7 @@ _08103F28: asrs r0, 16 cmp r0, 0x3F ble _08103FA0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -10914,7 +10914,7 @@ _08103F78: asrs r0, 16 cmp r0, 0x3F ble _08103FA0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -10927,7 +10927,7 @@ _08103F78: b _08103FB0 .pool _08103FA0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -11050,15 +11050,15 @@ sub_8104088: @ 8104088 adds r5, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -11066,9 +11066,9 @@ sub_8104088: @ 8104088 adds r0, r1 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081040CC @@ -11145,9 +11145,9 @@ sub_8104154: @ 8104154 lsls r0, 16 asrs r0, 24 strh r0, [r4, 0x24] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08104178 @@ -11200,16 +11200,16 @@ sub_81041C4: @ 81041C4 bl sub_80A69CC movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -11352,9 +11352,9 @@ sub_8104304: @ 8104304 adds r4, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08104322 @@ -11423,17 +11423,17 @@ _08104390: strh r0, [r5, 0x22] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 add r0, r8 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -11510,10 +11510,10 @@ _08104448: movs r0, 0x6 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 add r0, r9 @@ -11522,7 +11522,7 @@ _08104448: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -11678,7 +11678,7 @@ sub_81045B0: @ 81045B0 lsls r5, 24 lsrs r5, 24 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -11735,7 +11735,7 @@ sub_8104614: @ 8104614 cmp r1, r0 bne _08104664 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -11771,7 +11771,7 @@ sub_8104674: @ 8104674 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -11786,7 +11786,7 @@ sub_8104674: @ 8104674 strh r0, [r4, 0x10] strh r5, [r4, 0x12] strh r5, [r4, 0x14] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -12129,7 +12129,7 @@ sub_8104938: @ 8104938 .pool _08104964: ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12303,7 +12303,7 @@ sub_8104AB4: @ 8104AB4 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12345,9 +12345,9 @@ _08104B10: sub_8104B1C: @ 8104B1C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08104B50 @@ -12356,7 +12356,7 @@ sub_8104B1C: @ 8104B1C bl StartSpriteAnim ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -12370,7 +12370,7 @@ _08104B50: bl StartSpriteAnim ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x20 @@ -12378,10 +12378,10 @@ _08104B50: ldr r0, =0x0000ffc0 _08104B6A: strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -12411,15 +12411,15 @@ sub_8104BAC: @ 8104BAC ldrsh r0, [r0, r1] cmp r0, 0 bne _08104BC8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08104BCA .pool _08104BC8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08104BCA: ldrb r5, [r0] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12432,7 +12432,7 @@ _08104BCA: _08104BE4: adds r0, r5, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -12441,7 +12441,7 @@ _08104BE4: strh r0, [r6, 0x20] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x4] @@ -12476,7 +12476,7 @@ sub_8104C38: @ 8104C38 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12528,7 +12528,7 @@ sub_8104CA4: @ 8104CA4 ldr r0, =gTasks adds r4, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r2, 0 @@ -12559,9 +12559,9 @@ sub_8104CA4: @ 8104CA4 strh r2, [r4, 0x18] movs r0, 0x2 strh r0, [r4, 0x1A] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12759,7 +12759,7 @@ sub_8104E74: @ 8104E74 lsls r1, 3 ldr r0, =gTasks adds r5, r1, r0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] bl sub_80A6190 lsls r0, 24 @@ -12802,7 +12802,7 @@ _08104EDC: lsls r0, 16 cmp r2, r0 bgt _08104F1A - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r4, r0 @@ -12839,7 +12839,7 @@ _08104F1A: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_8104F54 str r0, [r5] add sp, 0xC @@ -12919,7 +12919,7 @@ _08104FCC: ldrsh r0, [r3, r1] cmp r0, 0 blt _08104FF0 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers lsls r0, 1 adds r0, r2 ldrh r1, [r3, 0x14] @@ -12943,7 +12943,7 @@ _08104FF0: ldrsh r1, [r3, r2] cmp r0, r1 blt _0810500E - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] adds r0, r4, 0 @@ -12959,10 +12959,10 @@ _0810500E: sub_810501C: @ 810501C push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -13194,11 +13194,11 @@ sub_81051C4: @ 81051C4 adds r1, r0, 0 cmp r2, 0 bne _081051F0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081051F2 .pool _081051F0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081051F2: ldrb r5, [r0] ldrb r1, [r1, 0x6] @@ -13212,7 +13212,7 @@ _081051F2: movs r1, 0x2 adds r0, r5, 0 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810526A @@ -13231,11 +13231,11 @@ _08105230: adds r0, r5, 0 movs r1, 0x2 _08105234: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08105260 @@ -13305,15 +13305,15 @@ sub_81052A4: @ 81052A4 ldrsh r0, [r0, r2] cmp r0, 0 bne _081052DC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r7, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _081052E2 .pool _081052DC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r7, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _081052E2: ldrb r0, [r0] mov r8, r0 @@ -13335,13 +13335,13 @@ _08105308: str r3, [sp, 0x4] _08105310: adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810536C adds r0, r7, 0 mov r1, r10 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r1, =gBattleAnimArgs lsrs r0, 24 @@ -13354,25 +13354,25 @@ _08105310: mov r4, r8 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810535C ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 b _081053EA .pool _0810535C: ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds add r0, r8 b _081053EA .pool _0810536C: adds r0, r7, 0 mov r1, r10 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =gBattleAnimArgs @@ -13389,12 +13389,12 @@ _0810536C: adds r4, r7, 0 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081053E4 ldr r3, =gSprites - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds adds r0, r7, r2 ldrb r1, [r0] lsls r0, r1, 4 @@ -13424,7 +13424,7 @@ _081053E0: b _081053F4 _081053E4: ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r7, r0 _081053EA: ldrb r1, [r0] @@ -13442,7 +13442,7 @@ _081053FA: strb r0, [r1] adds r0, r7, 0 ldr r1, [sp, 0x4] - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -13457,7 +13457,7 @@ _081053FA: movs r1, 0x2 mov r0, r8 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810544C @@ -13473,20 +13473,20 @@ _0810544C: mov r4, sp mov r0, r8 mov r1, r10 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4] mov r0, r8 ldr r1, [sp, 0x4] - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r2, sp strh r0, [r2, 0x2] _0810546C: mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08105490 @@ -13581,9 +13581,9 @@ sub_8105538: @ 8105538 adds r4, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0xA0 cmp r0, 0 @@ -13622,9 +13622,9 @@ sub_810557C: @ 810557C strh r0, [r4, 0x24] subs r2, 0x20 strh r2, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0xA0 cmp r0, 0 @@ -13873,7 +13873,7 @@ sub_810577C: @ 810577C ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -13950,9 +13950,9 @@ sub_8105810: @ 8105810 strh r0, [r4, 0xE] movs r0, 0x3 strh r0, [r4, 0x20] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08105850 @@ -13968,7 +13968,7 @@ _08105850: _08105856: strh r0, [r4, 0x24] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14154,7 +14154,7 @@ sub_810599C: @ 810599C movs r0, 0x2 strh r0, [r4, 0x24] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14292,16 +14292,16 @@ sub_8105AAC: @ 8105AAC strh r0, [r4, 0x16] strh r0, [r4, 0x18] strh r0, [r4, 0x22] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14567,7 +14567,7 @@ _08105CCC: lsls r2, 1 adds r0, r2 str r1, [r0] - ldr r0, =gUnknown_08C22610 + ldr r0, =gBattleAnimSpritePalette_206 bl LZDecompressWram movs r4, 0 _08105D00: @@ -14684,9 +14684,9 @@ sub_8105DE8: @ 8105DE8 adds r5, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08105E08 @@ -14700,7 +14700,7 @@ _08105E08: strh r0, [r5, 0x2E] ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -14708,7 +14708,7 @@ _08105E08: strh r0, [r5, 0x32] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -14939,7 +14939,7 @@ sub_8106020: @ 8106020 lsrs r0, 24 adds r6, r0, 0 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gTasks @@ -14955,7 +14955,7 @@ sub_8106020: @ 8106020 cmp r0, 0x1 bne _0810607C movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -15004,7 +15004,7 @@ sub_81060B0: @ 81060B0 lsrs r0, 24 adds r6, r0, 0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gTasks @@ -15020,7 +15020,7 @@ sub_81060B0: @ 81060B0 cmp r0, 0x1 bne _0810610C movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -15072,10 +15072,10 @@ sub_8106140: @ 8106140 strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -15083,7 +15083,7 @@ sub_8106140: @ 8106140 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -15557,18 +15557,18 @@ _0810653A: lsls r0, 24 cmp r0, 0 beq _08106578 - ldr r1, =gUnknown_08D93960 + ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceContest b _0810658A .pool _08106578: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0810659C - ldr r1, =gUnknown_08D93598 + ldr r1, =gBattleAnimBackgroundTilemap_ScaryFacePlayer _0810658A: mov r0, sp movs r2, 0 @@ -15576,7 +15576,7 @@ _0810658A: b _081065A6 .pool _0810659C: - ldr r1, =gUnknown_08D9377C + ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceOpponent mov r0, sp movs r2, 0 bl sub_80A6D60 @@ -15773,16 +15773,16 @@ _08106730: sub_810673C: @ 810673C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -15924,16 +15924,16 @@ _08106868: sub_8106878: @ 8106878 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -16029,16 +16029,16 @@ _08106940: sub_8106944: @ 8106944 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -16314,7 +16314,7 @@ sub_8106B54: @ 8106B54 adds r0, r4, 0 movs r1, 0 bl StartSpriteAnim - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 @@ -16505,21 +16505,21 @@ _08106CEC: ldrsh r0, [r1, r2] cmp r0, 0 bne _08106CFC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _08106CFE .pool _08106CFC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _08106CFE: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -16593,7 +16593,7 @@ sub_8106D90: @ 8106D90 lsrs r5, 24 ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -16645,15 +16645,15 @@ sub_8106E00: @ 8106E00 ldrsh r0, [r0, r1] cmp r0, 0 bne _08106E1C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08106E1E .pool _08106E1C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08106E1E: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -16666,7 +16666,7 @@ _08106E1E: _08106E38: adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r7, =gBattleAnimArgs lsrs r0, 24 @@ -16676,7 +16676,7 @@ _08106E38: strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r7, 0x4] @@ -16992,11 +16992,11 @@ sub_81070AC: @ 81070AC ands r0, r1 cmp r0, 0 beq _081070F8 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081070F8 @@ -17016,16 +17016,16 @@ sub_81070AC: @ 81070AC b _08107118 .pool _081070F8: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x28 @@ -17067,8 +17067,8 @@ sub_8107144: @ 8107144 .pool thumb_func_end sub_8107144 - thumb_func_start update_fury_cutter_counter_copy -update_fury_cutter_counter_copy: @ 8107168 + thumb_func_start sub_8107168 +sub_8107168: @ 8107168 push {lr} lsls r0, 24 lsrs r0, 24 @@ -17081,7 +17081,7 @@ update_fury_cutter_counter_copy: @ 8107168 pop {r0} bx r0 .pool - thumb_func_end update_fury_cutter_counter_copy + thumb_func_end sub_8107168 thumb_func_start sub_8107188 sub_8107188: @ 8107188 @@ -17196,15 +17196,15 @@ _0810725A: sub_8107260: @ 8107260 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08107290 ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r4, =gBattleAnimArgs @@ -17215,7 +17215,7 @@ sub_8107260: @ 8107260 _08107290: ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -17225,7 +17225,7 @@ _081072A2: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -17237,9 +17237,9 @@ _081072A2: movs r1, 0x40 orrs r0, r1 strb r0, [r2] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081072D8 @@ -17253,10 +17253,10 @@ _081072D8: strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x32] @@ -17264,7 +17264,7 @@ _081072D8: strh r0, [r6, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x36] @@ -17422,9 +17422,9 @@ sub_810744C: @ 810744C adds r5, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810747C @@ -17445,10 +17445,10 @@ _08107482: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -17457,7 +17457,7 @@ _08107482: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r7, [r7, 0x6] @@ -17621,10 +17621,10 @@ sub_81075EC: @ 81075EC strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -17632,7 +17632,7 @@ sub_81075EC: @ 81075EC strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -17773,16 +17773,16 @@ _08107722: sub_8107730: @ 8107730 push {r4-r7,lr} adds r4, r0, 0 - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r7] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -17797,7 +17797,7 @@ sub_8107730: @ 8107730 cmp r0, 0 bne _0810778A ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08107784 @@ -17846,13 +17846,13 @@ _081077BA: sub_81077C0: @ 81077C0 push {r4-r7,lr} adds r6, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -17863,12 +17863,12 @@ sub_81077C0: @ 81077C0 negs r0, r0 strh r0, [r4] ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 beq _08107802 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -17898,9 +17898,9 @@ _0810781E: _08107828: adds r0, r6, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08107842 @@ -17910,10 +17910,10 @@ _08107828: _08107842: ldrh r0, [r5, 0x8] strh r0, [r6, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x4] @@ -17921,7 +17921,7 @@ _08107842: strh r0, [r6, 0x32] ldrb r0, [r4] adds r1, r7, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -18069,9 +18069,9 @@ sub_8107954: @ 8107954 movs r1, 0x3 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18097,7 +18097,7 @@ _081079E0: _081079EA: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08D94AB8 + ldr r1, =gBattleAnimBackgroundImage_Surf mov r2, sp ldrh r2, [r2, 0xA] bl sub_80A6CC0 @@ -18106,7 +18106,7 @@ _081079EA: ldrsh r0, [r0, r1] cmp r0, 0 bne _08107A24 - ldr r0, =gUnknown_08D95DD8 + ldr r0, =gBattleAnimBackgroundPalette_Surf mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -18115,7 +18115,7 @@ _081079EA: b _08107A32 .pool _08107A24: - ldr r0, =gUnknown_08D8FB9C + ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -18174,9 +18174,9 @@ _08107A32: b _08107B0E .pool _08107AB4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x1 @@ -18518,7 +18518,7 @@ _08107D8C: movs r3, 0 movs r2, 0x10 ldrsh r0, [r4, r2] - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers mov r12, r1 cmp r3, r0 bge _08107DCA @@ -18555,7 +18555,7 @@ _08107DCA: ldrsh r0, [r4, r3] cmp r1, r0 bge _08107E04 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -18584,7 +18584,7 @@ _08107E04: asrs r0, r2, 16 cmp r0, 0x9F bgt _08107E3A - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -18652,7 +18652,7 @@ _08107E7A: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -18689,8 +18689,8 @@ _08107ED8: ldrsh r0, [r4, r1] cmp r3, r0 bge _08107F0C - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107EE6: lsls r1, r3, 16 asrs r1, 16 @@ -18719,8 +18719,8 @@ _08107F0C: ldrsh r0, [r4, r3] cmp r1, r0 bge _08107F40 - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107F1E: asrs r3, r2, 16 lsls r2, r3, 1 @@ -18745,8 +18745,8 @@ _08107F40: asrs r0, r1, 16 cmp r0, 0x9F bgt _08108022 - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107F4E: asrs r3, r1, 16 lsls r2, r3, 1 @@ -18771,8 +18771,8 @@ _08107F78: ldrsh r0, [r4, r1] cmp r3, r0 bge _08107FAC - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107F86: lsls r1, r3, 16 asrs r1, 16 @@ -18801,8 +18801,8 @@ _08107FAC: ldrsh r0, [r4, r3] cmp r1, r0 bge _08107FE0 - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107FBE: asrs r3, r2, 16 lsls r2, r3, 1 @@ -18827,8 +18827,8 @@ _08107FE0: asrs r0, r1, 16 cmp r0, 0x9F bgt _0810800C - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107FEE: asrs r3, r1, 16 lsls r2, r3, 1 @@ -18852,7 +18852,7 @@ _0810800C: negs r0, r0 cmp r1, r0 bne _08108022 - bl remove_some_task + bl ScanlineEffect_Stop adds r0, r7, 0 bl DestroyTask _08108022: @@ -18963,7 +18963,7 @@ sub_81080E4: @ 81080E4 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -19278,13 +19278,13 @@ _0810837A: thumb_func_start sub_8108384 sub_8108384: @ 8108384 push {r4,r5,lr} - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081083B8 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -19298,7 +19298,7 @@ _081083B4: adds r0, r2, 0 b _081083FA _081083B8: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -19350,16 +19350,16 @@ sub_8108408: @ 8108408 lsls r1, 24 lsrs r1, 24 str r1, [sp] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 movs r5, 0xAC @@ -19576,9 +19576,9 @@ sub_81085C8: @ 81085C8 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08108600 @@ -19956,22 +19956,22 @@ sub_81088E4: @ 81088E4 lsls r1, 3 ldr r0, =gTasks adds r5, r1, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0xE] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -20234,7 +20234,7 @@ _08108B1A: sub_8108B2C: @ 8108B2C push {r4-r6,lr} adds r6, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08108B86 @@ -20283,7 +20283,7 @@ _08108B86: sub_8108B94: @ 8108B94 push {r4-r6,lr} adds r5, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08108BD0 @@ -20418,16 +20418,16 @@ sub_8108C94: @ 8108C94 adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -20593,7 +20593,7 @@ _08108DE2: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 @@ -20648,7 +20648,7 @@ _08108E58: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 @@ -20746,9 +20746,9 @@ sub_8108F4C: @ 8108F4C push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08108F88 @@ -20798,9 +20798,9 @@ _08108F9E: sub_8108FBC: @ 8108FBC push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08108FF0 @@ -20886,9 +20886,9 @@ sub_8109064: @ 8109064 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08109090 @@ -21037,26 +21037,26 @@ sub_810916C: @ 810916C sub_8109198: @ 8109198 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _081091DE movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldrb r1, [r5] lsls r0, 24 lsrs r0, 24 cmp r1, r0 beq _081091D6 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition ldrb r1, [r5] lsls r0, 24 lsrs r0, 24 @@ -21128,10 +21128,10 @@ sub_8109244: @ 8109244 strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -21139,7 +21139,7 @@ sub_8109244: @ 8109244 strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -21164,16 +21164,16 @@ sub_810929C: @ 810929C beq _081092E4 movs r4, 0 strh r4, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] @@ -21389,7 +21389,7 @@ sub_8109460: @ 8109460 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -21407,9 +21407,9 @@ sub_8109460: @ 8109460 adds r0, r2 ldrh r0, [r0, 0x22] strh r0, [r4, 0x10] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x12] @@ -21820,9 +21820,9 @@ sub_81097B4: @ 81097B4 lsls r0, 2 adds r0, r1 ldrh r4, [r0, 0x20] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810980C @@ -21992,9 +21992,9 @@ sub_8109930: @ 8109930 adds r0, r2 lsls r0, 16 lsrs r4, r0, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08109970 @@ -22248,9 +22248,9 @@ _08109B18: bl StartSpriteAnim ldrh r0, [r4, 0x4] strh r0, [r5, 0x3C] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08109B48 @@ -22261,7 +22261,7 @@ _08109B48: ldr r0, =0x0000fffc _08109B4A: strh r0, [r5, 0x36] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -22279,9 +22279,9 @@ _08109B70: ldrh r0, [r5, 0x30] adds r0, 0xC0 strh r0, [r5, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08109B94 @@ -22356,10 +22356,10 @@ _08109BCE: lsls r0, 1 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -22367,7 +22367,7 @@ _08109BCE: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -22485,7 +22485,7 @@ _08109CC8: lsrs r0, 16 cmp r0, 0x83 bls _08109D3C - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -22500,7 +22500,7 @@ _08109CC8: b _08109D80 .pool _08109D3C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 @@ -22578,9 +22578,9 @@ sub_8109DBC: @ 8109DBC lsls r1, 3 ldr r0, =gTasks adds r4, r1, r0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -22590,22 +22590,22 @@ sub_8109DBC: @ 8109DBC movs r1, 0x1 _08109DE2: strh r1, [r4, 0x20] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 adds r0, 0x1 strh r0, [r4, 0x22] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] movs r0, 0x3 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -22973,8 +22973,8 @@ _0810A0CA: ldrh r0, [r2, 0x8] adds r0, 0x1 strh r0, [r2, 0x8] - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] @@ -23075,9 +23075,9 @@ _0810A194: sub_810A1A8: @ 810A1A8 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810A1D0 @@ -23129,9 +23129,9 @@ _0810A20E: sub_810A214: @ 810A214 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810A23C @@ -23178,22 +23178,22 @@ _0810A26E: sub_810A274: @ 810A274 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810A2C4 @@ -23261,15 +23261,15 @@ _0810A324: beq _0810A35C b _0810A380 _0810A32E: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810A382 .pool _0810A338: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r6, 0x2 eors r0, r6 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _0810A354 @@ -23282,21 +23282,21 @@ _0810A354: eors r4, r0 b _0810A384 _0810A35C: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810A380 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] eors r4, r0 b _0810A384 .pool _0810A380: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810A382: ldrb r4, [r0] _0810A384: @@ -23307,7 +23307,7 @@ _0810A384: bne _0810A3AC adds r0, r4, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -23318,14 +23318,14 @@ _0810A384: _0810A3AC: adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] adds r0, r4, 0 movs r1, 0x3 _0810A3BE: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -23417,10 +23417,10 @@ sub_810A46C: @ 810A46C strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -23428,7 +23428,7 @@ sub_810A46C: @ 810A46C strh r0, [r4, 0x34] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -23576,9 +23576,9 @@ sub_810A5BC: @ 810A5BC lsls r0, 24 cmp r0, 0 bne _0810A5D8 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810A5E0 @@ -23588,10 +23588,10 @@ _0810A5D8: negs r0, r0 strh r0, [r1, 0x2] _0810A5E0: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -23600,7 +23600,7 @@ _0810A5E0: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -23633,11 +23633,11 @@ sub_810A628: @ 810A628 ands r0, r1 cmp r0, 0 beq _0810A64C - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _0810A64E .pool _0810A64C: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _0810A64E: ldrb r6, [r0] bl IsContest @@ -23645,7 +23645,7 @@ _0810A64E: cmp r0, 0 bne _0810A666 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810A66E @@ -23657,7 +23657,7 @@ _0810A666: _0810A66E: adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -23666,7 +23666,7 @@ _0810A66E: strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -23827,10 +23827,10 @@ sub_810A7DC: @ 810A7DC adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldr r1, =gTasks lsls r4, r5, 2 adds r4, r5 @@ -23844,7 +23844,7 @@ sub_810A7DC: @ 810A7DC strh r0, [r4, 0x8] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x2] @@ -24220,21 +24220,21 @@ sub_810AAFC: @ 810AAFC ldrsh r0, [r0, r1] cmp r0, 0 bne _0810AB28 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810AB2A .pool _0810AB28: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810AB2A: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x26] @@ -24440,21 +24440,21 @@ sub_810ACD8: @ 810ACD8 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810ACF4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810ACF6 .pool _0810ACF4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810ACF6: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -24478,21 +24478,21 @@ sub_810AD30: @ 810AD30 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810AD4C - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810AD4E .pool _0810AD4C: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810AD4E: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -24518,28 +24518,28 @@ sub_810AD98: @ 810AD98 adds r5, r0, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] movs r0, 0x10 strh r0, [r5, 0x3C] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -24641,20 +24641,20 @@ _0810AE8E: b _0810AFC0 _0810AE90: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0x26] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810AECC @@ -24820,9 +24820,9 @@ _0810AFF4: _0810AFFA: b _0810B14E _0810AFFC: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -24855,13 +24855,13 @@ _0810B012: _0810B048: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0xE] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] @@ -24878,16 +24878,16 @@ _0810B070: movs r0, 0x78 subs r0, r1 strh r0, [r5, 0xE] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r2, 0xA @@ -25124,16 +25124,16 @@ sub_810B23C: @ 810B23C beq _0810B280 b _0810B294 _0810B24E: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -25191,25 +25191,25 @@ _0810B2C8: .4byte _0810B404 .4byte _0810B414 _0810B2DC: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x16] movs r0, 0x4 strh r0, [r5, 0x18] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x1C] @@ -25539,10 +25539,10 @@ _0810B584: beq _0810B600 b _0810B60E _0810B58A: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -25561,10 +25561,10 @@ _0810B5A4: bgt _0810B5A4 strh r1, [r5, 0x24] _0810B5B4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -25721,29 +25721,29 @@ sub_810B6C4: @ 810B6C4 ands r0, r2 orrs r0, r1 strh r0, [r5, 0x4] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r9, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 ldrb r0, [r4] movs r1, 0x3 str r3, [sp] - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldr r1, =gBattleAnimArgs @@ -25976,16 +25976,16 @@ sub_810B8EC: @ 810B8EC adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810B92C @@ -26003,10 +26003,10 @@ _0810B92C: adds r0, r1 strh r0, [r4, 0x32] _0810B936: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r1, =gBattleAnimArgs lsrs r0, 24 @@ -26041,7 +26041,7 @@ sub_810B974: @ 810B974 b _0810B9C6 .pool _0810B990: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -26049,9 +26049,9 @@ _0810B990: adds r3, 0x22 movs r1, 0x1 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810B9B6 @@ -26130,16 +26130,16 @@ sub_810BA24: @ 810BA24 ldrsh r0, [r6, r1] cmp r0, 0 bne _0810BA74 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -26148,7 +26148,7 @@ sub_810BA24: @ 810BA24 b _0810BA86 .pool _0810BA74: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -26157,9 +26157,9 @@ _0810BA74: movs r1, 0x1 bl sub_80A8924 _0810BA86: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BAAC @@ -26277,9 +26277,9 @@ sub_810BB60: @ 810BB60 strh r5, [r4, 0x24] movs r0, 0x80 strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, =0x0000ffec cmp r0, 0 @@ -26312,9 +26312,9 @@ _0810BB90: sub_810BBC8: @ 810BBC8 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, =0x0000ffec cmp r0, 0 @@ -26431,23 +26431,23 @@ sub_810BC94: @ 810BC94 ldrsh r0, [r1, r2] cmp r0, 0 bne _0810BCE0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] b _0810BCF2 .pool _0810BCE0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -26456,9 +26456,9 @@ _0810BCE0: movs r1, 0x1 bl sub_80A8924 _0810BCF2: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BD1C @@ -26645,7 +26645,7 @@ sub_810BE48: @ 810BE48 b _0810BEA2 .pool _0810BE6C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -26653,9 +26653,9 @@ _0810BE6C: adds r3, 0x22 movs r1, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BE92 @@ -26712,7 +26712,7 @@ sub_810BED0: @ 810BED0 b _0810BF32 .pool _0810BEF4: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -26721,7 +26721,7 @@ _0810BEF4: movs r1, 0 bl sub_80A8924 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BF20 @@ -26742,7 +26742,7 @@ _0810BF26: adds r0, r1 strh r0, [r5, 0x22] _0810BF32: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810BF90 .pool _0810BF40: @@ -26755,7 +26755,7 @@ _0810BF40: bl sub_80A6980 b _0810BF8E _0810BF52: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -26764,7 +26764,7 @@ _0810BF52: movs r1, 0 bl sub_80A8924 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BF7C @@ -26785,7 +26785,7 @@ _0810BF82: adds r0, r1 strh r0, [r5, 0x22] _0810BF8E: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810BF90: ldrb r0, [r0] strh r0, [r5, 0x3C] @@ -26806,9 +26806,9 @@ _0810BFB4: movs r0, 0x40 _0810BFB6: strh r0, [r5, 0x3A] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810BFCC @@ -26963,13 +26963,13 @@ _0810C0E2: bl sub_80A6B30 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_0854CAD0 + ldr r1, =gWeatherFog1Tiles movs r2, 0x80 lsls r2, 4 mov r3, sp ldrh r3, [r3, 0xA] bl LoadBgTiles - ldr r1, =gUnknown_08D932E0 + ldr r1, =gBattleAnimFogTilemap mov r0, sp movs r2, 0 bl sub_80A6D60 @@ -27179,16 +27179,16 @@ _0810C2DA: sub_810C2F0: @ 810C2F0 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -27245,13 +27245,13 @@ _0810C366: bl sub_80A6B30 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_0854CAD0 + ldr r1, =gWeatherFog1Tiles movs r2, 0x80 lsls r2, 4 mov r3, sp ldrh r3, [r3, 0xA] bl LoadBgTiles - ldr r1, =gUnknown_08D932E0 + ldr r1, =gBattleAnimFogTilemap mov r0, sp movs r2, 0 bl sub_80A6D60 @@ -27456,16 +27456,16 @@ sub_810C560: @ 810C560 ldr r6, =gBattleAnimArgs ldrh r0, [r6] strh r0, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 - ldr r7, =gAnimBankTarget + ldr r7, =gBattleAnimTarget ldrb r0, [r7] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -27474,7 +27474,7 @@ sub_810C560: @ 810C560 lsls r0, 8 strh r0, [r5, 0x3C] _0810C594: - ldr r3, =gBanksByIdentity + ldr r3, =gBattlerPositions ldrb r0, [r7] adds r0, r3 ldrb r1, [r0] @@ -27505,7 +27505,7 @@ _0810C594: cmp r0, 0 bne _0810C5F0 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -27523,16 +27523,16 @@ _0810C5F0: movs r0, 0x1 strh r0, [r5, 0x3A] _0810C5F4: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -27545,10 +27545,10 @@ _0810C5F4: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -27567,10 +27567,10 @@ _0810C65C: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -27583,7 +27583,7 @@ _0810C65C: ldrb r0, [r4] movs r1, 0x1 _0810C684: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x8] @@ -27676,10 +27676,10 @@ _0810C728: _0810C736: movs r5, 0x50 strh r5, [r4, 0x2E] - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] @@ -27699,7 +27699,7 @@ _0810C736: lsls r0, 24 cmp r0, 0 bne _0810C78C - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions ldrb r0, [r6] adds r0, r1 ldrb r1, [r0] @@ -27843,8 +27843,8 @@ _0810C85A: lsls r0, 24 cmp r0, 0 bne _0810C8B4 - ldr r1, =gBanksByIdentity - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerPositions + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -28050,11 +28050,11 @@ sub_810C9E4: @ 810C9E4 ldrh r0, [r4, 0x2] lsls r0, 20 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810CAD0 @@ -28062,12 +28062,12 @@ sub_810C9E4: @ 810C9E4 str r0, [sp, 0x4] adds r0, r5, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 mov r1, r8 @@ -28371,9 +28371,9 @@ _0810CCA6: ldr r6, =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810CCCE @@ -28381,10 +28381,10 @@ _0810CCA6: negs r0, r0 strh r0, [r6, 0x4] _0810CCCE: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -28392,7 +28392,7 @@ _0810CCCE: strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -28414,7 +28414,7 @@ _0810CCCE: sub_810CD1C: @ 810CD1C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810CD3E @@ -28581,9 +28581,9 @@ sub_810CE68: @ 810CE68 ldrsh r0, [r4, r1] cmp r0, 0x1 bne _0810CE90 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810CE90 @@ -28680,11 +28680,11 @@ sub_810CF30: @ 810CF30 mov r9, r0 cmp r1, 0 bne _0810CF54 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810CF56 .pool _0810CF54: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810CF56: ldrb r0, [r0] mov r8, r0 @@ -28705,13 +28705,13 @@ _0810CF74: bl StartSpriteAnim mov r0, r8 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] mov r0, r8 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -28771,7 +28771,7 @@ _0810D000: negs r0, r0 lsrs r4, r0, 16 _0810D012: - ldr r0, =gBanksByIdentity + ldr r0, =gBattlerPositions add r0, r8 ldrb r1, [r0] adds r0, r7, 0 @@ -28974,16 +28974,16 @@ _0810D1A4: sub_810D1B4: @ 810D1B4 push {r4-r6,lr} adds r6, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 - ldr r2, =gAnimBankTarget + ldr r2, =gBattleAnimTarget eors r0, r1 ldrb r1, [r2] cmp r0, r1 bne _0810D1E0 ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -28997,9 +28997,9 @@ _0810D1E0: adds r0, r6, 0 movs r1, 0x1 bl sub_80A6980 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810D1FE @@ -29146,16 +29146,16 @@ sub_810D308: @ 810D308 bne _0810D34C movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -29267,21 +29267,21 @@ sub_810D40C: @ 810D40C ldrsh r0, [r0, r1] cmp r0, 0 bne _0810D428 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810D42A .pool _0810D428: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810D42A: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -29386,10 +29386,10 @@ sub_810D4F4: @ 810D4F4 ldrsh r0, [r6, r1] cmp r0, 0 bne _0810D520 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x4] @@ -29397,10 +29397,10 @@ sub_810D4F4: @ 810D4F4 b _0810D532 .pool _0810D520: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -29409,7 +29409,7 @@ _0810D532: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -29520,20 +29520,20 @@ sub_810D608: @ 810D608 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810D664 - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -29545,11 +29545,11 @@ sub_810D608: @ 810D608 ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _0810D680 .pool _0810D664: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -29561,7 +29561,7 @@ _0810D664: ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _0810D680: ldrb r0, [r0] strh r0, [r5, 0x3C] @@ -29601,7 +29601,7 @@ sub_810D6A8: @ 810D6A8 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -29611,7 +29611,7 @@ sub_810D6A8: @ 810D6A8 lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -29712,31 +29712,31 @@ _0810D7BA: strh r0, [r7, 0x2E] b _0810D818 _0810D7C2: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r2, =gAnimBankTarget + ldr r2, =gBattleAnimTarget mov r8, r2 ldrb r0, [r2] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 subs r4, r6 strh r4, [r7, 0x2E] @@ -29808,28 +29808,28 @@ sub_810D874: @ 810D874 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810D8B8 - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r4, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810D8BE .pool _0810D8B8: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810D8BE: ldrb r0, [r0] bl sub_80A8328 @@ -29857,7 +29857,7 @@ _0810D8BE: .pool _0810D8F8: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810D918 @@ -29879,7 +29879,7 @@ _0810D918: strh r0, [r5, 0x30] adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -29887,7 +29887,7 @@ _0810D918: strh r0, [r5, 0x34] adds r0, r4, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -29929,16 +29929,16 @@ _0810D976: sub_810D984: @ 810D984 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -29954,7 +29954,7 @@ sub_810D984: @ 810D984 ldr r0, =gAnimMoveTurn ldrb r6, [r0] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810D9CE @@ -30018,9 +30018,9 @@ _0810DA34: bl StartSpriteAnim b _0810DA5E _0810DA48: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DA5E @@ -30128,9 +30128,9 @@ _0810DB1A: ldrh r1, [r4, 0x1C] adds r0, r1 strh r0, [r4, 0x1C] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810DB50 @@ -30205,16 +30205,16 @@ _0810DBC2: bl sub_80A69CC ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -30234,7 +30234,7 @@ _0810DBC2: sub_810DC10: @ 810DC10 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810DC24 @@ -30263,7 +30263,7 @@ _0810DC44: adds r0, r4, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] mov r6, sp adds r6, 0x2 @@ -30271,9 +30271,9 @@ _0810DC44: mov r2, sp adds r3, r6, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DC72 @@ -30309,7 +30309,7 @@ _0810DC72: sub_810DCB4: @ 810DCB4 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810DCC8 @@ -30389,7 +30389,7 @@ _0810DD4A: sub_810DD50: @ 810DD50 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -30397,9 +30397,9 @@ sub_810DD50: @ 810DD50 adds r3, 0x22 movs r1, 0x1 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DD7C @@ -30450,7 +30450,7 @@ sub_810DDC4: @ 810DDC4 b _0810DE16 .pool _0810DDE0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -30458,9 +30458,9 @@ _0810DDE0: adds r3, 0x22 movs r1, 0x1 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DE06 @@ -30680,9 +30680,9 @@ sub_810DFA8: @ 810DFA8 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DFC8 @@ -30696,10 +30696,10 @@ _0810DFC8: strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -30709,7 +30709,7 @@ _0810DFC8: strh r0, [r6, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -30748,9 +30748,9 @@ _0810E03C: sub_810E044: @ 810E044 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810E070 @@ -30782,13 +30782,13 @@ _0810E070: _0810E088: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r2, =gBattleAnimArgs ldrh r1, [r2] @@ -30805,23 +30805,23 @@ _0810E088: ldrsh r0, [r2, r3] cmp r0, 0 bne _0810E0EC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] b _0810E0FE .pool _0810E0EC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -30867,7 +30867,7 @@ sub_810E13C: @ 810E13C ldr r0, =sub_810E184 str r0, [r4, 0x1C] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -30929,9 +30929,9 @@ _0810E1C2: sub_810E1C8: @ 810E1C8 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810E1F8 @@ -30955,10 +30955,10 @@ _0810E1FE: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -30966,7 +30966,7 @@ _0810E1FE: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -31021,7 +31021,7 @@ _0810E274: ble _0810E2BC _0810E296: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -31099,15 +31099,15 @@ sub_810E314: @ 810E314 ands r0, r1 cmp r0, 0 beq _0810E33C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810E33E .pool _0810E33C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810E33E: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810E354 @@ -31118,7 +31118,7 @@ _0810E33E: _0810E354: adds r0, r6, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -31127,7 +31127,7 @@ _0810E354: strh r0, [r7, 0x20] adds r0, r6, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldrh r1, [r4, 0x2] lsrs r0, 24 @@ -32049,7 +32049,7 @@ _0810EA36: sub_810EA4C: @ 810EA4C push {r4,r5,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -32061,16 +32061,16 @@ sub_810EA4C: @ 810EA4C ands r0, r2 orrs r0, r1 strb r0, [r4, 0x5] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -32106,9 +32106,9 @@ _0810EAC4: ldrsh r0, [r4, r2] cmp r0, 0 bne _0810EADC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810EAF2 @@ -32117,9 +32117,9 @@ _0810EADC: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _0810EAF8 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810EAF8 @@ -32237,16 +32237,16 @@ sub_810EB88: @ 810EB88 strh r0, [r4, 0x6] ldr r0, =gUnknown_085973E8 mov r8, r0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -32289,7 +32289,7 @@ _0810EC46: movs r1, 0x1 bl sub_80A69CC movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -32341,10 +32341,10 @@ _0810ECAA: beq _0810ECE0 b _0810ED1E _0810ECB0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -32379,7 +32379,7 @@ _0810ECE0: cmp r0, r1 bge _0810ED1E movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -32416,7 +32416,7 @@ sub_810ED28: @ 810ED28 ldr r0, =sub_810ED70 str r0, [r4, 0x1C] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -32545,21 +32545,21 @@ _0810EE28: ldrsh r0, [r0, r2] cmp r0, 0 bne _0810EE40 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810EE42 .pool _0810EE40: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810EE42: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -32700,21 +32700,21 @@ _0810EF60: ldrsh r0, [r2, r1] cmp r0, 0 bne _0810EF74 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810EF76 .pool _0810EF74: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810EF76: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -32861,17 +32861,17 @@ sub_810F084: @ 810F084 mov r8, r0 ldrh r4, [r0, 0x20] ldrh r5, [r0, 0x22] - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r1, r8 strh r0, [r1, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 @@ -32989,7 +32989,7 @@ sub_810F184: @ 810F184 cmp r0, 0 bne _0810F1BC movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -33005,7 +33005,7 @@ sub_810F184: @ 810F184 .pool _0810F1BC: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -33038,9 +33038,9 @@ sub_810F1EC: @ 810F1EC lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810F212 @@ -33064,7 +33064,7 @@ _0810F212: bne _0810F2B8 _0810F22E: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r7, r4, 0 @@ -33078,7 +33078,7 @@ _0810F22E: orrs r1, r0 lsrs r6, r1, 31 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F264 @@ -33091,7 +33091,7 @@ _0810F264: adds r4, r0, 0 eors r4, r7 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F284 @@ -33109,9 +33109,9 @@ _0810F284: lsls r0, 24 cmp r0, 0 beq _0810F2B8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810F2B0 @@ -33126,9 +33126,9 @@ _0810F2B0: movs r0, 0x28 b _0810F2F2 _0810F2B8: - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810F2CE @@ -33139,7 +33139,7 @@ _0810F2B8: _0810F2CE: ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -33148,7 +33148,7 @@ _0810F2CE: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -33193,7 +33193,7 @@ sub_810F340: @ 810F340 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r1, 0x3C @@ -33205,12 +33205,12 @@ sub_810F340: @ 810F340 b _0810F3B6 _0810F35C: adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F382 ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33226,12 +33226,12 @@ _0810F382: movs r0, 0x2 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F3AC ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33370,17 +33370,17 @@ sub_810F46C: @ 810F46C cmp r0, 0 bne _0810F502 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F4D4 ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33398,12 +33398,12 @@ _0810F4D4: adds r4, r0, 0 eors r4, r6 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F502 ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33441,7 +33441,7 @@ sub_810F524: @ 810F524 cmp r0, 0 bne _0810F57C movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 @@ -33454,7 +33454,7 @@ sub_810F524: @ 810F524 orrs r1, r0 lsrs r5, r1, 31 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F562 @@ -33464,7 +33464,7 @@ _0810F562: movs r0, 0x2 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F57C @@ -33505,9 +33505,9 @@ _0810F5A6: lsls r0, 24 cmp r0, 0 beq _0810F5EE - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810F5E0 @@ -33568,21 +33568,21 @@ _0810F62C: sub_810F634: @ 810F634 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810F684 @@ -33623,7 +33623,7 @@ _0810F692: sub_810F6B0: @ 810F6B0 push {r4-r7,lr} adds r5, r0, 0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x1 bl sub_80A861C @@ -33645,7 +33645,7 @@ sub_810F6B0: @ 810F6B0 lsls r1, 16 lsrs r7, r1, 16 ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -33656,14 +33656,14 @@ sub_810F6B0: @ 810F6B0 _0810F6F6: ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r4 strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 @@ -33774,7 +33774,7 @@ sub_810F7D4: @ 810F7D4 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -33824,16 +33824,16 @@ sub_810F83C: @ 810F83C ldr r0, =gTasks adds r4, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r1, 0 strh r0, [r4, 0x8] strh r1, [r4, 0xA] strh r1, [r4, 0xC] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x8 cmp r0, 0 @@ -33952,16 +33952,16 @@ sub_810F940: @ 810F940 movs r0, 0x10 strh r0, [r5, 0xE] strh r1, [r5, 0x10] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] @@ -34260,16 +34260,16 @@ sub_810FBA8: @ 810FBA8 ldrsh r0, [r6, r1] cmp r0, 0 bne _0810FBD4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -34305,7 +34305,7 @@ sub_810FBF0: @ 810FBF0 bne _0810FC60 ldr r0, =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34316,7 +34316,7 @@ sub_810FBF0: @ 810FBF0 bl sub_80A861C adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34331,7 +34331,7 @@ sub_810FBF0: @ 810FBF0 _0810FC60: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34342,7 +34342,7 @@ _0810FC60: bl sub_80A861C subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34357,7 +34357,7 @@ _0810FC94: bne _0810FCE8 ldr r0, =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34368,7 +34368,7 @@ _0810FC94: bl sub_80A861C adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34383,7 +34383,7 @@ _0810FC94: _0810FCE8: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34394,7 +34394,7 @@ _0810FCE8: bl sub_80A861C subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34508,7 +34508,7 @@ _0810FDE8: sub_810FDF0: @ 810FDF0 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810FE0E @@ -34535,7 +34535,7 @@ sub_810FE14: @ 810FE14 lsls r1, 3 ldr r0, =gTasks adds r4, r1, r0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -34590,7 +34590,7 @@ _0810FE86: movs r0, 0 strh r0, [r4, 0x24] _0810FE92: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -34618,7 +34618,7 @@ _0810FEC0: adds r0, 0x40 cmp r1, r0 bgt _0810FEFA - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -34651,7 +34651,7 @@ _0810FEFA: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_810FF34 str r0, [r4] add sp, 0xC @@ -34700,7 +34700,7 @@ _0810FF66: ldr r0, =gSineTable mov r9, r0 movs r7, 0x3 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers mov r12, r1 movs r2, 0xF0 lsls r2, 3 @@ -34775,7 +34775,7 @@ _0810FFFE: ble _08110026 b _08110014 _0811000E: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08110014: @@ -34891,7 +34891,7 @@ _08110094: bl CalcCenterToCornerVec ldr r1, =gBattleAnimArgs ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x22] @@ -35062,16 +35062,16 @@ _08110256: beq _0811034A b _08110360 _08110260: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -35209,9 +35209,9 @@ sub_8110368: @ 8110368 b _081103C4 .pool _08110394: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081103C4 @@ -35232,7 +35232,7 @@ _08110394: negs r0, r0 strh r0, [r1] _081103C4: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_80A60AC @@ -35254,7 +35254,7 @@ _081103C4: strh r0, [r6, 0x2E] ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -35262,7 +35262,7 @@ _081103C4: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -35297,9 +35297,9 @@ sub_8110438: @ 8110438 b _08110478 .pool _0811045C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08110478 @@ -35311,7 +35311,7 @@ _0811045C: negs r1, r1 strh r1, [r0] _08110478: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_80A60AC @@ -35333,13 +35333,13 @@ _08110478: strh r0, [r6, 0x2E] ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x36] @@ -35384,23 +35384,23 @@ _08110500: ldrsh r0, [r1, r2] cmp r0, 0 bne _08110548 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] b _0811055A .pool _08110548: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -35457,7 +35457,7 @@ _081105AE: sub_81105B4: @ 81105B4 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -35465,9 +35465,9 @@ sub_81105B4: @ 81105B4 adds r3, 0x22 movs r1, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081105F0 @@ -35490,9 +35490,9 @@ _081105FC: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08110618 @@ -35655,9 +35655,9 @@ sub_8110720: @ 8110720 b _08110762 .pool _08110740: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110762 @@ -35676,24 +35676,24 @@ _08110762: lsls r0, 24 cmp r0, 0 bne _081107B2 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _081107B2 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 beq _081107A0 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -35712,10 +35712,10 @@ _081107B2: adds r0, r7, 0 movs r1, 0x1 bl sub_80A69CC - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 ldr r6, =gBattleAnimArgs @@ -35726,7 +35726,7 @@ _081107B2: lsrs r4, 16 ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -35780,9 +35780,9 @@ sub_8110850: @ 8110850 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110870 @@ -35794,10 +35794,10 @@ _08110870: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -35805,7 +35805,7 @@ _08110870: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -35844,7 +35844,7 @@ sub_81108CC: @ 81108CC ands r1, r0 strb r1, [r2] adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081108F8 @@ -35879,7 +35879,7 @@ _0811090E: lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _08110988 @@ -35941,21 +35941,21 @@ sub_8110994: @ 8110994 ldrsh r0, [r0, r1] cmp r0, 0 bne _081109B0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081109B2 .pool _081109B0: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081109B2: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x12 @@ -35980,7 +35980,7 @@ sub_81109F0: @ 81109F0 ldrsh r0, [r6, r1] cmp r0, 0 beq _08110A10 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x20 @@ -36064,9 +36064,9 @@ sub_8110AB4: @ 8110AB4 bl StartSpriteAnim adds r0, r5, 0 bl AnimateSprite - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110AE4 @@ -36243,7 +36243,7 @@ _08110C10: mov r0, sp movs r2, 0 bl sub_80A6D60 - ldr r0, =gUnknown_08D8DAB8 + ldr r0, =gBattleAnimSpritePalette_261 mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -36254,9 +36254,9 @@ _08110C10: ldrsh r0, [r0, r1] cmp r0, 0 beq _08110C6E - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110C6E @@ -36480,9 +36480,9 @@ sub_8110E4C: @ 8110E4C ldrsh r0, [r4, r2] cmp r0, 0 beq _08110E98 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110E98 @@ -36620,32 +36620,32 @@ sub_8110F74: @ 8110F74 lsls r1, 3 ldr r0, =gTasks adds r6, r1, r0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r9, r0 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0xC0 lsls r1, 13 adds r0, r1 lsrs r7, r0, 16 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xC0 @@ -36732,7 +36732,7 @@ _0811101E: strh r0, [r6, 0x24] strh r5, [r6, 0xA] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] @@ -37059,7 +37059,7 @@ _08111304: sub_811131C: @ 811131C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0811134E @@ -37193,9 +37193,9 @@ _08111412: sub_8111418: @ 8111418 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -37216,16 +37216,16 @@ _08111434: sub_8111444: @ 8111444 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r2, =gBattleAnimArgs @@ -37443,10 +37443,10 @@ sub_811160C: @ 811160C strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -37454,7 +37454,7 @@ sub_811160C: @ 811160C strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -37770,7 +37770,7 @@ sub_811188C: @ 811188C movs r0, 0x52 bl SetGpuReg movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -37881,7 +37881,7 @@ sub_811196C: @ 811196C .pool _08111994: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 ldrh r0, [r4, 0x8] @@ -37925,11 +37925,11 @@ sub_81119E0: @ 81119E0 adds r4, r0, 0 ldrh r5, [r4, 0x20] ldrh r6, [r4, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -37938,7 +37938,7 @@ sub_81119E0: @ 81119E0 mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -38042,16 +38042,16 @@ _08111AD2: lsls r0, 16 cmp r0, 0 bgt _08111B96 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x30] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -38104,16 +38104,16 @@ _08111B3C: lsls r0, 16 cmp r0, 0 bgt _08111B96 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -38285,9 +38285,9 @@ _08111C80: adds r0, r4 movs r1, 0x50 strh r1, [r0, 0x2E] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08111CF4 @@ -38510,7 +38510,7 @@ sub_8111E78: @ 8111E78 lsls r0, 3 ldr r1, =gTasks adds r5, r0, r1 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -38604,7 +38604,7 @@ _08111F0C: adds r2, r4 ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -38626,7 +38626,7 @@ _08111F0C: movs r0, 0x10 strh r0, [r5, 0xE] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -38728,7 +38728,7 @@ _08112054: _0811206C: movs r2, 0x2 movs r3, 0x6 - bl sub_80BA384 + bl ScanlineEffect_InitWave lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x1C] @@ -38864,7 +38864,7 @@ sub_8112170: @ 8112170 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -38884,11 +38884,11 @@ _081121A8: beq _081121F0 b _08112258 _081121AE: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] @@ -38979,51 +38979,51 @@ sub_8112264: @ 8112264 ldrsh r0, [r0, r1] cmp r0, 0 bne _081122AC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget b _081122D0 .pool _081122AC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker _081122D0: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0xE0 @@ -39166,10 +39166,10 @@ sub_81123C4: @ 81123C4 ldr r2, =gBattleAnimArgs ldrh r0, [r2] strh r0, [r1, 0x1C] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] @@ -39189,7 +39189,7 @@ _08112434: _08112436: lsls r1, r4, 16 asrs r3, r1, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r2, [r0] str r1, [sp, 0x10] cmp r3, r2 @@ -39201,7 +39201,7 @@ _08112436: lsls r0, r4, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08112502 @@ -39221,7 +39221,7 @@ _08112436: beq _08112502 adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -39594,9 +39594,9 @@ sub_8112758: @ 8112758 movs r0, 0x54 movs r1, 0x10 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081127A0 @@ -39869,9 +39869,9 @@ sub_81129F0: @ 81129F0 adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08112A24 @@ -40064,9 +40064,9 @@ sub_8112B78: @ 8112B78 movs r1, 0xC bl Sin strh r0, [r5, 0x24] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08112B9C @@ -40195,10 +40195,10 @@ sub_8112C6C: @ 8112C6C mov r8, r0 mov r0, r8 strh r0, [r4, 0xA] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] @@ -40301,9 +40301,9 @@ _08112D56: lsls r0, 2 adds r5, r0, r1 strh r7, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0 lsls r0, 24 cmp r0, 0 @@ -40561,8 +40561,8 @@ sub_8112F60: @ 8112F60 movs r2, 0x4 orrs r1, r2 strb r1, [r3] - ldr r2, =gBankSpriteIds - ldr r1, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r1, =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 ldrb r1, [r1] @@ -40679,21 +40679,21 @@ _08113054: sub_8113064: @ 8113064 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081130B4 @@ -40752,22 +40752,22 @@ sub_8113100: @ 8113100 push {r4,r5,lr} adds r5, r0, 0 bl sub_80A6838 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08113164 @@ -40834,21 +40834,21 @@ sub_81131B4: @ 81131B4 ldrsh r0, [r0, r1] cmp r0, 0 bne _081131D0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081131D2 .pool _081131D0: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081131D2: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -40876,9 +40876,9 @@ _081131D2: sub_8113224: @ 8113224 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0811323E @@ -40898,17 +40898,17 @@ _0811323E: sub_8113250: @ 8113250 push {r4-r7,lr} adds r6, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r6, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] @@ -40918,7 +40918,7 @@ sub_8113250: @ 8113250 ldr r0, =gBattleAnimArgs ldrh r0, [r0] strh r0, [r6, 0x3A] - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] movs r1, 0 bl sub_80A861C @@ -41106,7 +41106,7 @@ sub_81133E8: @ 81133E8 lsls r1, 3 ldr r0, =gTasks adds r4, r1, r0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -41133,7 +41133,7 @@ _0811342A: strb r0, [r1, 0x8] mov r0, sp strb r5, [r0, 0x9] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -41152,7 +41152,7 @@ _0811345A: ldrsh r0, [r4, r1] cmp r3, r0 bgt _08113488 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -41175,7 +41175,7 @@ _08113488: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_81134B8 str r0, [r4] add sp, 0xC @@ -41264,7 +41264,7 @@ _0811354E: bl sub_8113574 b _0811356E _08113556: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] ldrh r0, [r2, 0x8] @@ -41292,11 +41292,11 @@ sub_8113574: @ 8113574 ldrsh r0, [r5, r1] cmp r4, r0 bgt _081135CA - ldr r7, =gUnknown_02038C28 + ldr r7, =gScanlineEffectRegBuffers mov r12, r7 ldr r0, =gSineTable mov r8, r0 - ldr r6, =gUnknown_02039B28 + ldr r6, =gScanlineEffect _08113592: lsls r2, r4, 1 ldrb r1, [r6, 0x14] @@ -41354,18 +41354,18 @@ sub_81135EC: @ 81135EC movs r1, 0x5 bl __divsi3 adds r6, r0, 0 - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker mov r8, r1 ldrb r0, [r1] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] mov r2, r8 ldrb r0, [r2] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r3, [r5, 0x8] @@ -41473,7 +41473,7 @@ sub_81136E8: @ 81136E8 ldr r1, =gBattleAnimArgs ldrh r1, [r1] strh r1, [r0, 0x8] - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker ldrb r4, [r1] movs r1, 0x10 strh r1, [r0, 0xA] @@ -41544,8 +41544,8 @@ sub_811375C: @ 811375C cmp r4, 0x10 bne _081137DE ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -41661,7 +41661,7 @@ sub_8113888: @ 8113888 lsls r1, 5 movs r0, 0x52 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -41690,29 +41690,29 @@ _081138C4: sub_81138D4: @ 81138D4 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -41918,11 +41918,11 @@ sub_8113A90: @ 8113A90 adds r3, r0, 0 cmp r1, 0 bne _08113AAC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08113AAE .pool _08113AAC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08113AAE: ldrb r5, [r0] movs r6, 0x14 @@ -42031,7 +42031,7 @@ _08113B60: sub_8113B90: @ 8113B90 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08113BA4 @@ -42054,10 +42054,10 @@ sub_8113BAC: @ 8113BAC lsls r1, 3 ldr r0, =gTasks adds r5, r1, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -42076,7 +42076,7 @@ sub_8113BAC: @ 8113BAC strh r1, [r5, 0x22] ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -42085,7 +42085,7 @@ sub_8113BAC: @ 8113BAC adds r0, 0x20 strh r0, [r5, 0x26] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08113C1C @@ -42096,7 +42096,7 @@ _08113C1C: ldr r0, =0x0000ffc0 _08113C1E: strh r0, [r5, 0x18] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -42169,7 +42169,7 @@ _08113CB0: movs r0, 0x3 bl sub_8114374 movs r3, 0 - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r4, r0 @@ -42189,7 +42189,7 @@ _08113CDC: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams movs r0, 0x3F eors r7, r0 movs r1, 0xFC @@ -42344,7 +42344,7 @@ _08113E3E: b _08113E5E .pool _08113E58: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08113E5E: @@ -42415,7 +42415,7 @@ _08113EBC: b _081140A6 .pool _08113EF8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -42472,10 +42472,10 @@ _08113F78: b _08114044 .pool _08113F84: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -42492,7 +42492,7 @@ _08113F84: strh r1, [r5, 0x22] ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r1, r0, 0x4 @@ -42500,7 +42500,7 @@ _08113F84: adds r0, 0x4 strh r0, [r5, 0x26] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08113FD8 @@ -42534,7 +42534,7 @@ _08114002: str r0, [sp, 0x10] movs r3, 0 add r4, sp, 0x10 - ldr r6, =gUnknown_02038C28 + ldr r6, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r7, r6, r0 @@ -42563,7 +42563,7 @@ _08114010: strb r2, [r4, 0x9] ldr r0, [sp, 0x10] ldr r2, [r4, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams _08114044: ldrh r0, [r5, 0x8] adds r0, 0x1 @@ -42772,7 +42772,7 @@ _081141DA: bne _08114232 b _08114204 _081141FE: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08114204: @@ -42827,9 +42827,9 @@ sub_8114244: @ 8114244 movs r4, 0 cmp r0, 0 ble _081142A4 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect _08114278: lsls r2, r4, 16 asrs r2, 16 @@ -42861,9 +42861,9 @@ _081142A4: ldrsh r0, [r6, r2] cmp r1, r0 bgt _081142EE - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect _081142B8: asrs r4, r3, 16 cmp r4, 0 @@ -42904,8 +42904,8 @@ _081142EE: ldrsh r0, [r6, r3] cmp r1, r0 bge _08114366 - ldr r7, =gUnknown_02038C28 - ldr r4, =gUnknown_02039B28 + ldr r7, =gScanlineEffectRegBuffers + ldr r4, =gScanlineEffect _08114306: asrs r3, r2, 16 cmp r3, 0 @@ -42935,7 +42935,7 @@ _08114338: adds r5, r0, 0 adds r5, 0x9F movs r4, 0 - ldr r3, =gUnknown_02038C28 + ldr r3, =gScanlineEffectRegBuffers movs r2, 0xF0 lsls r2, 3 adds r6, r3, r2 @@ -42979,7 +42979,7 @@ sub_8114374: @ 8114374 _0811438A: lsls r0, r4, 24 lsrs r0, 24 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -43014,7 +43014,7 @@ sub_81143C0: @ 81143C0 lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] bl sub_80A8364 lsls r0, 24 @@ -43030,7 +43030,7 @@ sub_81143C0: @ 81143C0 bl sub_80A438C ldr r0, =gSprites mov r9, r0 - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds mov r8, r0 ldrb r0, [r6] add r0, r8 @@ -43049,7 +43049,7 @@ sub_81143C0: @ 81143C0 ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811444E @@ -43091,7 +43091,7 @@ sub_8114470: @ 8114470 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] bl sub_80A8364 lsls r0, 24 @@ -43106,7 +43106,7 @@ sub_8114470: @ 8114470 ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081144AC @@ -43202,15 +43202,15 @@ _0811455C: lsls r0, 24 cmp r0, 0 bne _081145D6 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _0811458C ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _081145D6 @@ -43218,13 +43218,13 @@ _0811458C: ldrb r0, [r4] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _081145D6 ldr r3, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r4] eors r0, r5 adds r0, r1 @@ -43262,13 +43262,13 @@ _081145D6: b _0811465C .pool _08114614: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08114640 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -43279,7 +43279,7 @@ _08114614: b _08114650 .pool _08114640: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -43295,11 +43295,11 @@ _08114650: lsrs r5, r0, 16 _0811465C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r4, 0 adds r2, r5, 0 @@ -43421,7 +43421,7 @@ _08114776: cmp r0, 0x2 bne _08114824 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r5, =gSprites @@ -43457,8 +43457,8 @@ _081147B8: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _08114886 - ldr r2, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -43562,7 +43562,7 @@ _081148C4: .4byte _081148FC _081148E4: ldrb r0, [r2] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r2, r0, 24 b _08114902 @@ -43586,15 +43586,15 @@ _08114902: beq _0811492E _08114908: adds r0, r4, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811492C - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r2, [r0] b _0811492E @@ -43655,31 +43655,31 @@ _08114980: sub_8114994: @ 8114994 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -43699,7 +43699,7 @@ sub_8114994: @ 8114994 sub_81149FC: @ 81149FC push {r4,r5,lr} adds r5, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08114A50 @@ -43716,16 +43716,16 @@ sub_81149FC: @ 81149FC strh r1, [r5, 0x24] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -43746,7 +43746,7 @@ _08114A50: sub_8114A60: @ 8114A60 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08114A74 @@ -43764,9 +43764,9 @@ sub_8114A7C: @ 8114A7C adds r6, r0, 0 movs r1, 0x1 bl sub_80A6980 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08114A9C @@ -43778,10 +43778,10 @@ _08114A9C: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -43789,7 +43789,7 @@ _08114A9C: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -43814,7 +43814,7 @@ sub_8114AF0: @ 8114AF0 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_80A60AC @@ -43890,10 +43890,10 @@ sub_8114B80: @ 8114B80 ldrsh r0, [r6, r1] cmp r0, 0 bne _08114BF4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x2] @@ -43901,7 +43901,7 @@ sub_8114B80: @ 8114B80 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r3, [r6, 0x4] @@ -44092,11 +44092,11 @@ _08114D28: .4byte _08114E8C _08114D3C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -44118,7 +44118,7 @@ _08114D70: _08114D78: ldrh r0, [r0] strh r0, [r4, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -44235,7 +44235,7 @@ _08114E4E: b _08114E7E .pool _08114E78: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08114E7E: @@ -44272,7 +44272,7 @@ sub_8114EB4: @ 8114EB4 lsls r0, 24 lsrs r5, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -44289,7 +44289,7 @@ sub_8114EB4: @ 8114EB4 movs r4, 0 strh r4, [r1, 0x24] strh r4, [r1, 0x26] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -44361,7 +44361,7 @@ sub_8114F54: @ 8114F54 .pool _08114F78: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -44438,11 +44438,11 @@ _08115004: .4byte _081150D4 _08115018: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -44458,7 +44458,7 @@ _08115044: _08115046: ldrh r0, [r0] strh r0, [r4, 0x20] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -44510,7 +44510,7 @@ _08115094: ldrsh r0, [r0, r1] cmp r0, 0 bne _081150DA - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _081150C2: @@ -44561,7 +44561,7 @@ _08115114: asrs r4, r0, 16 cmp r2, r0 bge _08115140 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -44584,7 +44584,7 @@ _08115140: asrs r0, r1, 16 cmp r0, 0x9F bgt _0811516E - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers lsls r0, r3, 16 asrs r0, 16 adds r3, r0, 0 @@ -44616,7 +44616,7 @@ _0811516E: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams add sp, 0xC pop {r4-r6} pop {r0} @@ -44634,11 +44634,11 @@ sub_81151A0: @ 81151A0 adds r7, r0, 0 cmp r1, 0 bne _081151BC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081151BE .pool _081151BC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081151BE: ldrb r4, [r0] movs r6, 0x18 @@ -44657,7 +44657,7 @@ _081151BE: _081151DA: adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -44693,7 +44693,7 @@ _081151DA: sub_8115228: @ 8115228 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0811523C @@ -44714,16 +44714,16 @@ sub_8115244: @ 8115244 ldrsh r0, [r0, r1] cmp r0, 0 bne _08115260 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08115262 .pool _08115260: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08115262: ldrb r5, [r0] adds r0, r5, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r2, =0x0000fff0 @@ -44818,7 +44818,7 @@ _08115340: _08115346: lsls r0, r5, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08115370 @@ -44829,7 +44829,7 @@ _08115346: adds r1, r4, 0 adds r1, 0x8 adds r1, r0 - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r5, r0 ldrb r0, [r0] strh r0, [r1] @@ -44846,7 +44846,7 @@ _08115370: .pool _08115380: ldrb r0, [r6] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] @@ -45217,11 +45217,11 @@ sub_8115628: @ 8115628 adds r6, r2, 0 cmp r0, 0 beq _08115648 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _0811564A .pool _08115648: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _0811564A: ldrb r0, [r0] adds r5, r0, 0 @@ -45244,7 +45244,7 @@ _0811565A: adds r4, r0 adds r0, r5, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x20 @@ -45255,7 +45255,7 @@ _0811565A: strh r1, [r4, 0xA] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x40 @@ -45333,9 +45333,9 @@ sub_811572C: @ 811572C strh r0, [r4, 0x22] ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -45846,15 +45846,15 @@ sub_8115B0C: @ 8115B0C strh r1, [r0, 0x12] strh r5, [r0, 0x18] movs r4, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r1, [r0] mov r9, r3 mov r8, r2 cmp r5, r1 bge _08115B74 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r3, [r0] - ldr r7, =gAnimBankTarget + ldr r7, =gBattleAnimTarget movs r0, 0x1 mov r12, r0 adds r2, r1, 0 @@ -46336,9 +46336,9 @@ sub_8115F10: @ 8115F10 lsrs r0, 24 mov r8, r0 movs r2, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r6, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r7, [r0] ldr r4, =gBattleAnimArgs ldrh r1, [r4] @@ -46429,10 +46429,10 @@ _08115FD6: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] mov r9, r0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] mov r10, r0 ldrh r1, [r4, 0xC] @@ -46450,7 +46450,7 @@ _08115FF8: cmp r0, 0 beq _08116028 ldr r2, =gSprites - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds add r0, r9 ldrb r1, [r0] lsls r0, r1, 4 @@ -46650,13 +46650,13 @@ _0811618A: cmp r0, 0x1 bhi _081161DC movs r4, 0 - ldr r5, =gNoOfAllBanks + ldr r5, =gBattlersCount ldrb r0, [r5] cmp r4, r0 bcs _081161DC ldr r2, =gSprites mov r12, r2 - ldr r6, =gBankSpriteIds + ldr r6, =gBattlerSpriteIds movs r7, 0x3 negs r7, r7 _081161BA: @@ -46691,8 +46691,8 @@ _081161E2: sub_81161F4: @ 81161F4 push {r4-r6,lr} ldr r6, =gSprites - ldr r4, =gBankSpriteIds - ldr r5, =gAnimBankAttacker + ldr r4, =gBattlerSpriteIds + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -46707,7 +46707,7 @@ sub_81161F4: @ 81161F4 adds r0, r2, 0 ands r0, r3 strb r0, [r1] - ldr r3, =gAnimBankTarget + ldr r3, =gBattleAnimTarget ldrb r0, [r3] adds r0, r4 ldrb r1, [r0] @@ -46955,9 +46955,9 @@ _081163FC: sub_8116420: @ 8116420 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08116444 @@ -47048,7 +47048,7 @@ sub_81164F0: @ 81164F0 adds r4, r0, 0 ldr r5, =gBattleAnimArgs ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] @@ -47256,14 +47256,14 @@ _081166B8: movs r5, 0 _081166BA: mov r0, sp - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker b _081166CA .pool _081166C4: movs r5, 0 _081166C6: mov r0, sp - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget _081166CA: ldrb r1, [r1] strb r1, [r0] @@ -47271,10 +47271,10 @@ _081166CA: .pool _081166D4: mov r1, sp - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] strb r0, [r1] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] strb r0, [r1, 0x1] b _0811670E @@ -47287,13 +47287,13 @@ _081166EC: _081166F4: movs r5, 0 mov r2, sp - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08116706 .pool _08116700: movs r5, 0 mov r2, sp - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08116706: ldrb r0, [r0] movs r1, 0x2 @@ -47310,7 +47310,7 @@ _08116712: cmp r4, r0 beq _0811673C adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811673C @@ -47867,15 +47867,15 @@ _08116BA2: lsls r0, 24 cmp r0, 0 bne _08116C26 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _08116BD2 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _08116C26 @@ -47883,13 +47883,13 @@ _08116BD2: ldrb r0, [r5] movs r6, 0x2 eors r0, r6 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08116C26 ldr r3, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] eors r0, r6 adds r0, r1 @@ -47932,13 +47932,13 @@ _08116C26: b _08116CAC .pool _08116C64: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08116C90 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -47949,7 +47949,7 @@ _08116C64: b _08116CA0 .pool _08116C90: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -47965,11 +47965,11 @@ _08116CA0: lsrs r5, r0, 16 _08116CAC: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r4, 0 adds r2, r5, 0 @@ -48119,7 +48119,7 @@ _08116DF6: movs r1, 0 bl SetGpuReg movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r4, =gSprites movs r0, 0x8 ldrsh r1, [r5, r0] @@ -48137,8 +48137,8 @@ _08116DF6: ldrsh r0, [r5, r1] cmp r0, 0x1 bne _08116E7C - ldr r2, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -48223,11 +48223,11 @@ sub_8116F04: @ 8116F04 ldrsh r0, [r1, r2] cmp r0, 0 bne _08116F24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08116F26 .pool _08116F24: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08116F26: ldrb r0, [r0] strb r0, [r1] @@ -48247,7 +48247,7 @@ _08116F26: cmp r0, 0 beq _08116F5C ldrb r0, [r1, 0x1] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _08116F5C @@ -48306,27 +48306,27 @@ _08116FBA: cmp r0, 0 bne _08117036 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _08116FEC ldr r0, [r4] ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _08117036 _08116FEC: ldr r0, [r4] ldrb r0, [r0, 0x1] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x1 bne _08117036 ldr r3, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldr r0, [r4] ldrb r0, [r0, 0x1] adds r0, r1 @@ -48370,11 +48370,11 @@ _08117078: ldr r4, =gUnknown_0203A110 ldr r0, [r4] ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081170A8 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldr r0, [r4] ldrb r0, [r0] lsls r0, 1 @@ -48386,7 +48386,7 @@ _08117078: b _081170BA .pool _081170A8: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldr r0, [r4] ldrb r0, [r0] lsls r0, 1 @@ -48425,7 +48425,7 @@ sub_81170EC: @ 81170EC lsrs r5, r0, 24 movs r0, 0 mov r8, r0 - ldr r6, =gBankSpriteIds + ldr r6, =gBattlerSpriteIds ldr r4, =gUnknown_0203A110 ldr r2, [r4] ldrb r0, [r2] @@ -48601,7 +48601,7 @@ _08117280: strh r4, [r1, 0xE] ldrb r0, [r3, 0x2] strh r0, [r1, 0x14] - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds ldrb r0, [r3, 0x1] adds r0, r2 ldrb r0, [r0] @@ -49044,7 +49044,7 @@ sub_8117610: @ 8117610 lsrs r6, r0, 24 movs r4, 0 movs r2, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r3, [r0] movs r5, 0x1 _08117620: @@ -49096,9 +49096,9 @@ sub_8117660: @ 8117660 ldrsh r0, [r4, r1] cmp r0, 0 beq _0811769C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0811769C @@ -49196,9 +49196,9 @@ sub_8117754: @ 8117754 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 @@ -49217,9 +49217,9 @@ sub_8117780: @ 8117780 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 @@ -49239,10 +49239,10 @@ sub_81177AC: @ 81177AC lsrs r3, r0, 24 ldr r5, =gBattleAnimArgs movs r4, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r2, [r0] movs r0, 0x2 - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget eors r0, r2 ldrb r1, [r1] cmp r0, r1 @@ -49266,17 +49266,17 @@ sub_81177E4: @ 81177E4 movs r4, 0 ldr r6, =gSprites _081177EE: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] cmp r4, r0 beq _0811782C lsls r0, r4, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811782C - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r0, [r0] lsls r2, r0, 4 @@ -49355,7 +49355,7 @@ sub_8117854: @ 8117854 cmp r1, 0 beq _081178BA adds r0, r6, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _081178BA @@ -49431,11 +49431,11 @@ _08117930: .pool _08117964: adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08117988 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r7, 1 adds r0, r1 ldrh r1, [r0] @@ -49445,7 +49445,7 @@ _08117964: b _08117996 .pool _08117988: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r7, 1 adds r0, r1 ldrh r1, [r0] @@ -49459,7 +49459,7 @@ _08117996: lsls r0, 16 lsrs r4, r0, 16 _081179A2: - ldr r5, =gBankSpriteIds + ldr r5, =gBattlerSpriteIds adds r0, r7, r5 ldrb r1, [r0] adds r0, r7, 0 @@ -49854,13 +49854,13 @@ _08117CD2: _08117CE4: cmp r0, 0x1 bne _08117CF0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08117CF6 .pool _08117CF0: cmp r0, 0x2 bne _08117CFC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08117CF6: ldrb r0, [r0] adds r4, r0, 0 @@ -49929,13 +49929,13 @@ _08117D6E: _08117D80: cmp r0, 0x1 bne _08117D8C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08117D92 .pool _08117D8C: cmp r0, 0x2 bne _08117D98 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08117D92: ldrb r0, [r0] adds r4, r0, 0 @@ -50004,13 +50004,13 @@ _08117E0A: _08117E1C: cmp r0, 0x1 bne _08117E28 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08117E2E .pool _08117E28: cmp r0, 0x2 bne _08117E34 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08117E2E: ldrb r0, [r0] adds r4, r0, 0 @@ -50064,12 +50064,12 @@ sub_8117E94: @ 8117E94 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankAttacker - ldr r1, =gBankTarget + ldr r2, =gBattleAnimAttacker + ldr r1, =gBattlerTarget ldrb r1, [r1] strb r1, [r2] - ldr r2, =gAnimBankTarget - ldr r1, =gEffectBank + ldr r2, =gBattleAnimTarget + ldr r1, =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -50083,13 +50083,13 @@ sub_8117EC4: @ 8117EC4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -50116,8 +50116,8 @@ sub_8117F10: @ 8117F10 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankTarget - ldr r1, =gBankTarget + ldr r2, =gBattleAnimTarget + ldr r1, =gBattlerTarget ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -50131,12 +50131,12 @@ sub_8117F30: @ 8117F30 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankAttacker - ldr r1, =gBankAttacker + ldr r2, =gBattleAnimAttacker + ldr r1, =gBattlerAttacker ldrb r1, [r1] strb r1, [r2] - ldr r2, =gAnimBankTarget - ldr r1, =gEffectBank + ldr r2, =gBattleAnimTarget + ldr r1, =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -50165,7 +50165,7 @@ _08117F78: adds r3, r0 ldr r0, =gBattleSpritesDataPtr ldr r4, [r0] - ldr r2, =gAnimBankAttacker + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] ldr r1, [r4] lsls r0, 2 @@ -50209,7 +50209,7 @@ sub_8117FD0: @ 8117FD0 bne _08118014 ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r3, [r0] ldr r0, [r1] lsls r3, 2 @@ -50670,7 +50670,7 @@ _081183B4: strh r0, [r1, 0xC] movs r0, 0x20 strh r0, [r1, 0xE] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -50740,9 +50740,9 @@ _08118442: strh r0, [r1, 0xC] _0811845A: movs r3, 0 - ldr r5, =gUnknown_02039B28 + ldr r5, =gScanlineEffect mov r9, r5 - ldr r7, =gUnknown_02038C28 + ldr r7, =gScanlineEffectRegBuffers mov r6, r9 adds r5, r1, 0 _08118466: @@ -50760,8 +50760,8 @@ _08118466: ble _08118466 cmp r3, 0x9F bgt _081184AA - ldr r7, =gUnknown_02038C28 - ldr r6, =gUnknown_02039B28 + ldr r7, =gScanlineEffectRegBuffers + ldr r6, =gScanlineEffect ldr r1, =gTasks mov r2, r12 adds r0, r2, r4 @@ -51014,7 +51014,7 @@ _08118690: strh r0, [r1, 0xE] movs r0, 0x1 strh r0, [r1, 0x12] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -51089,9 +51089,9 @@ _0811873C: strh r0, [r1, 0xC] _08118752: movs r3, 0 - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect mov r8, r0 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers mov r12, r2 mov r7, r8 adds r4, r1, 0 @@ -51110,9 +51110,9 @@ _08118760: ble _08118760 cmp r3, 0x9F bgt _081187A4 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect ldr r1, =gTasks adds r0, r6, r5 lsls r0, 3 @@ -51315,7 +51315,7 @@ _08118934: strh r0, [r1, 0xE] movs r0, 0x1 strh r0, [r1, 0x12] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -51378,9 +51378,9 @@ _081189BA: strh r0, [r1, 0xC] _081189D0: movs r3, 0 - ldr r6, =gUnknown_02039B28 + ldr r6, =gScanlineEffect mov r8, r6 - ldr r7, =gUnknown_02038C28 + ldr r7, =gScanlineEffectRegBuffers adds r4, r1, 0 _081189DA: lsls r2, r3, 1 @@ -51397,8 +51397,8 @@ _081189DA: ble _081189DA cmp r3, 0x9F bgt _08118A1E - ldr r7, =gUnknown_02038C28 - ldr r6, =gUnknown_02039B28 + ldr r7, =gScanlineEffectRegBuffers + ldr r6, =gScanlineEffect ldr r1, =gTasks mov r2, r12 adds r0, r2, r5 @@ -51675,7 +51675,7 @@ _08118C50: strh r0, [r1, 0xC] movs r0, 0x20 strh r0, [r1, 0xE] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -51707,9 +51707,9 @@ _08118C90: strh r0, [r1, 0xC] _08118CA6: movs r3, 0 - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect mov r12, r0 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers mov r8, r2 mov r7, r12 adds r4, r1, 0 @@ -51728,9 +51728,9 @@ _08118CB4: ble _08118CB4 cmp r3, 0x9F bgt _08118CF8 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r8, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect ldr r1, =gTasks adds r0, r5, r6 lsls r0, 3 @@ -51924,7 +51924,7 @@ _08118E7E: strh r0, [r1, 0x8] movs r0, 0xF0 strh r0, [r1, 0xC] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -52025,7 +52025,7 @@ _08118F28: lsls r1, 7 movs r0, 0xC bl SetGpuReg - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] ldr r1, =gTasks @@ -52078,7 +52078,7 @@ sub_8118FBC: @ 8118FBC lsls r5, 16 lsrs r5, 16 adds r0, r4, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 ldr r1, =gMonSpritesGfxPtr diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s index 69835bf4e..6b894a0f1 100755..100644 --- a/asm/battle_anim_815A0D4.s +++ b/asm/battle_anim_815A0D4.s @@ -87,10 +87,10 @@ sub_815A160: @ 815A160 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 8 @@ -100,7 +100,7 @@ sub_815A160: @ 815A160 asrs r4, 16 ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 lsrs r1, 8 @@ -207,16 +207,16 @@ sub_815A254: @ 815A254 push {r4-r7,lr} sub sp, 0x4 adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 @@ -639,8 +639,8 @@ _0815A5AC: .pool thumb_func_end sub_815A52C - thumb_func_start c3_80DE6F0 -c3_80DE6F0: @ 815A5C8 + thumb_func_start sub_815A5C8 +sub_815A5C8: @ 815A5C8 lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks @@ -656,7 +656,7 @@ c3_80DE6F0: @ 815A5C8 strb r0, [r1] bx lr .pool - thumb_func_end c3_80DE6F0 + thumb_func_end sub_815A5C8 thumb_func_start sub_815A5F0 sub_815A5F0: @ 815A5F0 @@ -768,7 +768,7 @@ sub_815A6C4: @ 815A6C4 adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] mov r5, sp adds r5, 0x2 @@ -776,9 +776,9 @@ sub_815A6C4: @ 815A6C4 mov r2, sp adds r3, r5, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815A6F8 @@ -816,7 +816,7 @@ _0815A6F8: sub_815A73C: @ 815A73C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0815A75E @@ -919,9 +919,9 @@ sub_815A7EC: @ 815A7EC lsls r0, 24 cmp r0, 0 bne _0815A840 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815A830 @@ -1017,9 +1017,9 @@ sub_815A8C8: @ 815A8C8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1251,16 +1251,16 @@ sub_815AAA4: @ 815AAA4 ldrsh r0, [r6, r1] cmp r0, 0 bne _0815AAD0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1502,15 +1502,15 @@ sub_815ACD0: @ 815ACD0 ldrsh r0, [r6, r1] cmp r0, 0 bne _0815ACEC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0815ACEE .pool _0815ACEC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0815ACEE: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x2] @@ -1518,7 +1518,7 @@ _0815ACEE: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1618,11 +1618,11 @@ sub_815ADB0: @ 815ADB0 ldrsh r0, [r0, r1] cmp r0, 0 bne _0815ADDC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0815ADDE .pool _0815ADDC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0815ADDE: ldrb r0, [r4] bl sub_80A6190 @@ -1689,7 +1689,7 @@ _0815AE58: ldrsh r0, [r5, r6] cmp r1, r0 bgt _0815AE8E - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r0, r4 @@ -1729,7 +1729,7 @@ _0815AEA2: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_815AED8 str r0, [r5] add sp, 0xC @@ -1820,7 +1820,7 @@ _0815AF5C: ldrsh r0, [r4, r2] cmp r1, r0 bge _0815AF90 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -1848,7 +1848,7 @@ _0815AF90: ldrsh r0, [r4, r2] cmp r1, r0 bgt _0815AFC4 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -1877,7 +1877,7 @@ _0815AFC4: ldrsh r0, [r4, r1] cmp r0, 0 beq _0815AFDA - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _0815AFDA: @@ -1903,16 +1903,16 @@ sub_815AFF0: @ 815AFF0 movs r5, 0 strh r5, [r4, 0x8] strh r5, [r4, 0xA] - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xC] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xE] @@ -1922,7 +1922,7 @@ sub_815AFF0: @ 815AFF0 strh r0, [r4, 0x12] strh r5, [r4, 0x14] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -2278,16 +2278,16 @@ _0815B2D8: strh r1, [r5, 0x26] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -2320,7 +2320,7 @@ sub_815B338: @ 815B338 .pool _0815B35C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2351,7 +2351,7 @@ sub_815B394: @ 815B394 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r6, r0, 24 movs r1, 0x2E @@ -2370,16 +2370,16 @@ _0815B3B4: beq _0815B478 b _0815B496 _0815B3BE: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2482,9 +2482,9 @@ _0815B496: sub_815B49C: @ 815B49C push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815B4BC @@ -2513,9 +2513,9 @@ sub_815B4D4: @ 815B4D4 ldrh r0, [r4, 0x2E] adds r0, 0x48 strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815B4F8 @@ -2728,7 +2728,7 @@ sub_815B65C: @ 815B65C cmp r0, 0 bne _0815B69C movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2770,7 +2770,7 @@ sub_815B6B4: @ 815B6B4 cmp r0, 0 bne _0815B6F4 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2814,10 +2814,10 @@ _0815B71E: movs r0, 0x90 lsls r0, 4 strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -2868,7 +2868,7 @@ sub_815B778: @ 815B778 cmp r0, 0 bne _0815B7B8 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2933,7 +2933,7 @@ _0815B81C: movs r0, 0x4C movs r1, 0 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -2996,9 +2996,9 @@ _0815B886: _0815B8A6: b _0815BA7A _0815B8A8: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget ldrb r1, [r1] mov r2, r8 lsls r4, r2, 2 @@ -3006,7 +3006,7 @@ _0815B8A8: lsls r2, 3 adds r2, r3 ldrb r2, [r2, 0x1C] - bl sub_805E448 + bl HandleSpeciesGfxDataChange ldrb r1, [r5] mov r0, sp bl sub_80A6BFC @@ -3020,7 +3020,7 @@ _0815B8A8: .pool _0815B8E0: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r1, r0, 24 _0815B8EA: @@ -3030,7 +3030,7 @@ _0815B8EA: adds r2, 0x4 adds r2, r0 ldr r1, =gBattleMonForms - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -3122,8 +3122,8 @@ _0815B99C: cmp r0, 0 beq _0815B9EC ldr r3, =gSprites - ldr r4, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r4, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r4 ldrb r1, [r0] @@ -3138,8 +3138,8 @@ _0815B99C: .pool _0815B9EC: ldr r3, =gSprites - ldr r4, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r4, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r4 ldrb r1, [r0] @@ -3209,7 +3209,7 @@ _0815BA82: movs r0, 0x4C movs r1, 0 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -3232,9 +3232,9 @@ _0815BAB6: lsls r0, 24 cmp r0, 0 bne _0815BAF6 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3256,7 +3256,7 @@ _0815BAB6: lsls r1, r0, 2 adds r1, r2 ldrh r1, [r1, 0x2] - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback _0815BAF6: mov r0, r8 bl DestroyAnimVisualTask @@ -3271,15 +3271,15 @@ _0815BAFC: .pool thumb_func_end sub_815B7D0 - thumb_func_start c3_80DFBE4 -c3_80DFBE4: @ 815BB18 + thumb_func_start sub_815BB18 +sub_815BB18: @ 815BB18 push {r4,lr} lsls r0, 24 lsrs r0, 24 ldr r4, =gBattleAnimArgs ldr r3, =gSprites - ldr r2, =gBankSpriteIds - ldr r1, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r1, =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 ldrb r2, [r1] @@ -3297,7 +3297,7 @@ c3_80DFBE4: @ 815BB18 pop {r0} bx r0 .pool - thumb_func_end c3_80DFBE4 + thumb_func_end sub_815BB18 thumb_func_start sub_815BB58 sub_815BB58: @ 815BB58 @@ -3305,12 +3305,12 @@ sub_815BB58: @ 815BB58 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget ldrb r1, [r1] movs r2, 0x1 - bl sub_805E448 + bl HandleSpeciesGfxDataChange adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4} @@ -3390,9 +3390,9 @@ _0815BC02: b _0815BC5C .pool _0815BC34: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815BC58 @@ -3621,17 +3621,17 @@ sub_815BE04: @ 815BE04 lsls r0, 16 lsrs r5, r0, 16 _0815BE2E: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r5 strh r0, [r7, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -3996,9 +3996,9 @@ _0815C124: b _0815C1CA .pool _0815C15C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r4, r0, 24 bl IsDoubleBattle @@ -4085,9 +4085,9 @@ _0815C224: adds r5, r0, r1 movs r0, 0 strh r0, [r5, 0xE] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4272,7 +4272,7 @@ sub_815C3A8: @ 815C3A8 cmp r0, 0 bne _0815C3E8 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4325,9 +4325,9 @@ _0815C41E: ldrh r0, [r4, 0x32] adds r0, 0x80 strh r0, [r4, 0x32] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815C450 @@ -4419,7 +4419,7 @@ _0815C4BC: subs r0, 0x1 strh r0, [r4, 0x14] ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -4427,14 +4427,14 @@ _0815C4BC: ldrsh r0, [r5, r1] cmp r0, 0 bne _0815C508 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815C50A .pool _0815C508: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815C50A: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4643,9 +4643,9 @@ _0815C6A8: sub_815C6B0: @ 815C6B0 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4683,9 +4683,9 @@ sub_815C700: @ 815C700 ldrh r0, [r4, 0x2E] adds r0, 0x3 strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815C744 @@ -4758,7 +4758,7 @@ sub_815C770: @ 815C770 strh r0, [r4, 0x24] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -4991,16 +4991,16 @@ sub_815C95C: @ 815C95C ldrsh r0, [r6, r2] cmp r0, 0 bne _0815C990 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -5100,17 +5100,17 @@ sub_815CA20: @ 815CA20 mov r8, r0 cmp r1, 0 bne _0815CA5C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815CA5E .pool _0815CA5C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815CA5E: ldrb r0, [r0] strh r0, [r2, 0x1E] mov r1, r8 ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r5, r0, 24 ldr r1, =gTasks @@ -5172,7 +5172,7 @@ _0815CAD2: cmp r0, 0 bne _0815CAF8 ldrb r0, [r6, 0x1E] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsls r2, r5, 4 cmp r0, 0 @@ -5528,16 +5528,16 @@ _0815CDAA: sub_815CDB4: @ 815CDB4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -5586,14 +5586,14 @@ sub_815CDFC: @ 815CDFC cmp r0, 0xC3 ble _0815CE48 _0815CE36: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 b _0815CE52 .pool _0815CE48: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x1 @@ -5674,7 +5674,7 @@ sub_815CED8: @ 815CED8 lsrs r0, 24 str r0, [sp, 0x18] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId bl IsContest lsls r0, 24 cmp r0, 0 @@ -5693,16 +5693,16 @@ sub_815CED8: @ 815CED8 b _0815D058 .pool _0815CF18: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815CFC4 movs r0, 0 str r0, [sp, 0x1C] - ldr r6, =gBattlePartyID - ldr r4, =gAnimBankTarget + ldr r6, =gBattlerPartyIndexes + ldr r4, =gBattleAnimTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -5733,7 +5733,7 @@ _0815CF18: cmp r0, 0 bne _0815CFBC adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815CF9C @@ -5769,8 +5769,8 @@ _0815CFBE: _0815CFC4: movs r2, 0x1 str r2, [sp, 0x1C] - ldr r6, =gBattlePartyID - ldr r4, =gAnimBankTarget + ldr r6, =gBattlerPartyIndexes + ldr r4, =gBattleAnimTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -5801,7 +5801,7 @@ _0815CFC4: cmp r0, 0 bne _0815D054 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815D03C @@ -5834,21 +5834,21 @@ _0815D056: _0815D058: mov r10, r3 _0815D05A: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 lsrs r7, r0, 24 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 mov r2, r10 lsls r1, r2, 16 @@ -5864,7 +5864,7 @@ _0815D05A: str r3, [sp, 0x8] mov r0, r8 str r0, [sp, 0xC] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] str r0, [sp, 0x10] movs r0, 0x1 @@ -6072,11 +6072,11 @@ sub_815D240: @ 815D240 ldrsh r0, [r0, r1] cmp r0, 0 bne _0815D26C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815D26E .pool _0815D26C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815D26E: ldrb r5, [r0] movs r6, 0 @@ -6093,7 +6093,7 @@ _0815D26E: movs r0, 0x18 strh r0, [r4, 0x18] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6118,7 +6118,7 @@ _0815D2B4: strh r0, [r4, 0x24] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -6151,7 +6151,7 @@ _0815D316: ldrh r3, [r0] movs r7, 0 movs r2, 0 - ldr r6, =gUnknown_02038C28 + ldr r6, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r0, r6 @@ -6192,7 +6192,7 @@ _0815D326: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_815D398 str r0, [r4] add sp, 0xC @@ -6304,7 +6304,7 @@ _0815D40E: ldrsh r0, [r6, r3] cmp r1, r0 ble _0815D52E - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect mov r10, r0 ldr r1, [sp, 0x4] lsls r0, r1, 16 @@ -6325,7 +6325,7 @@ _0815D47E: subs r0, r1 lsls r0, 7 adds r2, r0 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers adds r2, r0 lsls r4, 16 asrs r4, 16 @@ -6343,7 +6343,7 @@ _0815D47E: subs r0, r1 lsls r0, 7 adds r3, r0 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r3, r1 lsls r1, r7, 16 asrs r1, 16 @@ -6407,7 +6407,7 @@ _0815D52E: lsls r1, r2, 17 cmp r1, 0 blt _0815D55A - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers ldr r7, [sp, 0x4] lsls r0, r7, 16 asrs r0, 16 @@ -6487,7 +6487,7 @@ _0815D5CC: asrs r0, 16 cmp r0, 0xC ble _0815D63C - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0 @@ -6562,7 +6562,7 @@ sub_815D64C: @ 815D64C strh r0, [r4, 0x8] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -6827,9 +6827,9 @@ sub_815D870: @ 815D870 ldrb r1, [r6] adds r0, r5, 0 bl StartSpriteAffineAnim - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815D896 @@ -6837,10 +6837,10 @@ sub_815D870: @ 815D870 negs r0, r0 strh r0, [r6, 0x2] _0815D896: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -6848,7 +6848,7 @@ _0815D896: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7237,8 +7237,8 @@ sub_815DB90: @ 815DB90 lsls r0, 3 mov r1, r8 adds r4, r0, r1 - ldr r1, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] @@ -7261,7 +7261,7 @@ sub_815DB90: @ 815DB90 strh r0, [r4, 0x14] _0815DBD4: ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815DC04 @@ -7373,22 +7373,22 @@ _0815DCC4: ldrsh r0, [r4, r1] cmp r0, 0 bne _0815DCE8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815DCEA .pool _0815DCE8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815DCEA: ldrb r4, [r0] adds r0, r4, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] adds r0, r4, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] @@ -7399,7 +7399,7 @@ _0815DCEA: strh r0, [r5, 0x14] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7661,7 +7661,7 @@ sub_815DF0C: @ 815DF0C ldrh r0, [r1, 0x2] strh r0, [r4, 0xA] ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -7746,7 +7746,7 @@ sub_815DFCC: @ 815DFCC lsrs r0, 24 movs r2, 0xD0 lsls r2, 1 - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker ldrb r3, [r1] ldr r1, =gBattleAnimArgs ldrb r1, [r1] @@ -7775,9 +7775,9 @@ sub_815DFCC: @ 815DFCC sub_815E01C: @ 815E01C push {r4-r6,lr} adds r5, r0, 0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7789,7 +7789,7 @@ sub_815E01C: @ 815E01C _0815E038: ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -7798,7 +7798,7 @@ _0815E038: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -7837,9 +7837,9 @@ _0815E09A: lsls r0, 2 strh r0, [r5, 0x2E] _0815E0A8: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815E0C8 @@ -7923,15 +7923,15 @@ _0815E144: strh r0, [r6, 0x14] strh r1, [r6, 0x16] _0815E14E: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815E188 ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -7951,7 +7951,7 @@ _0815E17C: _0815E188: ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -7968,10 +7968,10 @@ _0815E1A8: subs r0, r4, r0 _0815E1AC: strh r0, [r6, 0x1E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -7987,16 +7987,16 @@ _0815E1D0: asrs r0, 2 subs r0, r4, r0 strh r0, [r6, 0x20] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x24] @@ -8345,33 +8345,33 @@ sub_815E47C: @ 815E47C lsls r0, 3 ldr r1, =gTasks adds r7, r0, r1 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r10, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x1E] mov r1, r10 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x20] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x22] mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 mov r1, r8 ldrb r0, [r1] @@ -8451,7 +8451,7 @@ _0815E4EE: bl sub_80A68D4 mov r1, r10 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8524,7 +8524,7 @@ _0815E5FE: lsls r0, 2 ldr r1, =gSprites adds r0, r1 - bl sub_80A6900 + bl AnimateBallThrow ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -8542,7 +8542,7 @@ _0815E634: lsls r0, 2 ldr r1, =gSprites adds r0, r1 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0815E6D2 @@ -8626,11 +8626,11 @@ sub_815E6D8: @ 815E6D8 adds r6, r0, 0 cmp r1, 0 bne _0815E6F4 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815E6F6 .pool _0815E6F4: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815E6F6: ldrb r5, [r0] ldrh r2, [r4, 0x4] @@ -8659,7 +8659,7 @@ _0815E724: strh r1, [r4, 0x3C] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -8827,7 +8827,7 @@ _0815E85C: ldrh r0, [r2, 0x2] strh r0, [r4, 0x8] ldrb r0, [r2] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -8942,15 +8942,15 @@ sub_815E954: @ 815E954 ldrsh r0, [r0, r1] cmp r0, 0 bne _0815E970 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0815E972 .pool _0815E970: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0815E972: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -9326,7 +9326,7 @@ sub_815EC48: @ 815EC48 ldr r0, =gTasks adds r6, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] @@ -9339,10 +9339,10 @@ sub_815EC48: @ 815EC48 lsrs r7, r0, 24 cmp r7, 0x1 bne _0815ECB4 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -9350,7 +9350,7 @@ sub_815EC48: @ 815EC48 movs r0, 0x2 eors r0, r1 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -9363,9 +9363,9 @@ _0815ECAC: b _0815ECD2 .pool _0815ECB4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815ECD0 @@ -9606,18 +9606,18 @@ sub_815EE84: @ 815EE84 adds r0, r4, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815EEAA .pool _0815EEA8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815EEAA: ldrb r0, [r0] strh r0, [r4, 0x3C] ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9771,14 +9771,14 @@ _0815EFEC: lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r1, r0, 24 _0815F00C: @@ -9991,15 +9991,15 @@ _0815F17C: sub_815F18C: @ 815F18C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815F1B8 @@ -10057,7 +10057,7 @@ sub_815F20C: @ 815F20C lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r5, r0, 24 adds r2, r5, 0 @@ -10126,16 +10126,16 @@ _0815F2A0: b _0815F310 .pool _0815F2AC: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl refresh_graphics_maybe + bl LoadBattleMonGfxAndAnimate bl IsContest lsls r0, 24 cmp r0, 0 beq _0815F2EE ldr r3, =gSprites - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds ldrb r0, [r4] adds r0, r2 ldrb r1, [r0] @@ -10191,7 +10191,7 @@ sub_815F330: @ 815F330 lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 ldr r1, =gTasks @@ -10360,9 +10360,9 @@ _0815F482: sub_815F48C: @ 815F48C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815F4B8 @@ -10384,10 +10384,10 @@ _0815F4B8: strb r0, [r1] ldr r4, =0x0000ffa0 _0815F4C8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -10639,7 +10639,7 @@ _0815F67C: strh r1, [r0, 0x8] ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -10764,7 +10764,7 @@ sub_815F7C4: @ 815F7C4 strh r0, [r4, 0x30] ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -10943,7 +10943,7 @@ _0815F92C: .4byte _0815FD8C _0815F940: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, =gTasks @@ -10958,9 +10958,9 @@ _0815F940: ldrh r1, [r6, 0xA] adds r0, r1 strh r0, [r6, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11036,7 +11036,7 @@ _0815F9F4: ldr r3, [r0, 0xC] mov r9, r3 ldrh r6, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -11045,13 +11045,13 @@ _0815F9F4: b _0815FB4E .pool _0815FA28: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815FAC8 - ldr r7, =gBattlePartyID + ldr r7, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r7 @@ -11096,7 +11096,7 @@ _0815FA9C: ldrh r6, [r1, 0x2] _0815FA9E: movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -11115,7 +11115,7 @@ _0815FA9E: b _0815FB50 .pool _0815FAC8: - ldr r7, =gBattlePartyID + ldr r7, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r7 @@ -11160,7 +11160,7 @@ _0815FB2C: ldrh r6, [r1, 0x2] _0815FB2E: movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -11177,10 +11177,10 @@ _0815FB2E: _0815FB4E: ldr r5, =0x0000ffe0 _0815FB50: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 lsls r3, r5, 16 @@ -11191,7 +11191,7 @@ _0815FB50: str r4, [sp, 0x8] mov r0, r9 str r0, [sp, 0xC] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] str r0, [sp, 0x10] movs r0, 0 @@ -11253,9 +11253,9 @@ _0815FBE8: ldrh r2, [r6, 0xA] adds r0, r2 strh r0, [r6, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11307,18 +11307,18 @@ _0815FC56: ldrsh r0, [r6, r1] cmp r0, 0 bne _0815FCD6 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815FCB4 lsls r4, r5, 16 asrs r4, 16 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11328,10 +11328,10 @@ _0815FC56: _0815FCB4: lsls r4, r5, 16 asrs r4, 16 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11365,7 +11365,7 @@ _0815FCE8: .pool _0815FD08: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, =gTasks @@ -11383,9 +11383,9 @@ _0815FD08: ldr r5, =gSprites adds r0, r5 bl sub_80A8610 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11425,7 +11425,7 @@ _0815FD7E: .pool _0815FD8C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, =gTasks @@ -11440,11 +11440,11 @@ _0815FD8C: ldrh r3, [r2, 0xA] adds r0, r3 strh r0, [r2, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r10, r0 ldrb r0, [r0] str r2, [sp, 0x18] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 ldr r2, [sp, 0x18] @@ -11469,7 +11469,7 @@ _0815FD8C: mov r1, r10 ldrb r0, [r1] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -11499,7 +11499,7 @@ _0815FE0C: mov r2, r10 ldrb r0, [r2] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -11563,10 +11563,10 @@ _0815FE92: asrs r1, 24 movs r0, 0x7A bl PlaySE12WithPanning - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -11583,9 +11583,9 @@ _0815FE92: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -11595,7 +11595,7 @@ _0815FE92: cmp r0, 0 bne _0815FFBC movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -11652,9 +11652,9 @@ _0815FF6E: ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815FF9C @@ -11721,17 +11721,17 @@ _0815FFF4: .4byte _081600CC .4byte _08160132 _08160008: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 @@ -11755,8 +11755,8 @@ _0816003E: b _08160150 .pool _08160058: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -11811,8 +11811,8 @@ _081600B4: strh r1, [r0, 0x26] b _08160150 _081600CC: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -11861,8 +11861,8 @@ _0816012A: strh r0, [r2, 0x26] b _08160150 _08160132: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -11893,14 +11893,14 @@ sub_8160164: @ 8160164 ldr r0, =gTasks adds r4, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0xE] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -12072,9 +12072,9 @@ _081602DA: sub_81602E0: @ 81602E0 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x30] @@ -12115,9 +12115,9 @@ _08160326: sub_8160338: @ 8160338 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0816037C @@ -12166,10 +12166,10 @@ _08160396: sub_81603A8: @ 81603A8 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -12396,7 +12396,7 @@ sub_8160544: @ 8160544 strh r0, [r4, 0x8] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s index 8de82c629..ef7e609d9 100644 --- a/asm/battle_anim_8170478.s +++ b/asm/battle_anim_8170478.s @@ -16,7 +16,7 @@ sub_8170478: @ 8170478 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x10] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] ldr r0, =gBattle_WIN0H movs r1, 0 @@ -56,7 +56,7 @@ sub_8170478: @ 8170478 movs r1, 0x3 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds adds r4, r0 ldrb r0, [r4] ldr r1, =gSprites @@ -212,7 +212,7 @@ sub_8170660: @ 8170660 push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] mov r8, r0 ldr r1, =gTasks @@ -373,7 +373,7 @@ _0817076C: movs r1, 0x1 movs r2, 0 bl SetAnimBgAttribute - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds add r0, r8 ldrb r0, [r0] lsls r1, r0, 4 @@ -434,7 +434,7 @@ sub_8170834: @ 8170834 adds r7, r1, 0 lsls r2, 24 lsrs r2, 24 - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds adds r2, r0 ldrb r0, [r2] lsls r5, r0, 4 @@ -540,7 +540,7 @@ sub_8170920: @ 8170920 lsrs r4, 24 mov r1, sp adds r1, 0x1 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r2, [r0] mov r0, sp bl sub_8170834 @@ -561,7 +561,7 @@ sub_817094C: @ 817094C push {r5,r6} lsls r0, 24 lsrs r0, 24 - ldr r1, =gHealthBoxesIds + ldr r1, =gHealthboxSpriteIds adds r0, r1 ldrb r0, [r0] ldr r1, =gSprites @@ -628,7 +628,7 @@ sub_81709EC: @ 81709EC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_817094C adds r0, r4, 0 @@ -765,8 +765,8 @@ sub_8170B04: @ 8170B04 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r5, [r0] @@ -851,17 +851,17 @@ sub_8170BB0: @ 8170BB0 sub sp, 0xC lsls r0, 24 lsrs r5, r0, 24 - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r1, r0, r1 ldrb r1, [r1] mov r9, r1 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08170BF8 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -872,7 +872,7 @@ sub_8170BB0: @ 8170BB0 b _08170C08 .pool _08170BF8: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -886,7 +886,7 @@ _08170C08: bl GetMonData lsls r0, 16 lsrs r0, 16 - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -904,16 +904,16 @@ _08170C08: b _08170CEE .pool _08170C44: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 ldr r2, =gSprites @@ -934,7 +934,7 @@ _08170C44: mov r0, r8 str r0, [sp] adds r0, r4, 0 - bl sub_8171D98 + bl LaunchBallStarsTask lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x1C] @@ -950,7 +950,7 @@ _08170C44: ldrb r1, [r5] movs r0, 0 mov r3, r8 - bl sub_81729E8 + bl LaunchBallFadeMonTask lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x1E] @@ -998,10 +998,10 @@ sub_8170CFC: @ 8170CFC lsrs r4, 24 ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r0, 24 - bl sub_8076A78 + bl LoadBallGfx adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4} @@ -1018,10 +1018,10 @@ sub_8170D24: @ 8170D24 lsrs r4, 24 ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r0, 24 - bl sub_8076AE8 + bl FreeBallGfx adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4} @@ -1057,8 +1057,8 @@ _08170D74: .pool thumb_func_end sub_8170D4C - thumb_func_start ball_number_to_ball_processing_index -ball_number_to_ball_processing_index: @ 8170D84 + thumb_func_start ItemIdToBallId +ItemIdToBallId: @ 8170D84 push {lr} lsls r0, 16 lsrs r0, 16 @@ -1123,7 +1123,7 @@ _08170DFC: _08170DFE: pop {r1} bx r1 - thumb_func_end ball_number_to_ball_processing_index + thumb_func_end ItemIdToBallId thumb_func_start sub_8170E04 sub_8170E04: @ 8170E04 @@ -1138,14 +1138,14 @@ sub_8170E04: @ 8170E04 mov r10, r0 ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 1 adds r0, r1 lsls r0, 3 - ldr r1, =gUnknown_0832C588 + ldr r1, =gBallSpriteTemplates adds r0, r1 movs r1, 0x20 movs r2, 0x50 @@ -1162,18 +1162,18 @@ sub_8170E04: @ 8170E04 adds r6, r4, r1 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r2, =gAnimBankTarget + ldr r2, =gBattleAnimTarget mov r8, r2 ldrb r0, [r2] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1186,7 +1186,7 @@ sub_8170E04: @ 8170E04 ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, [r0, 0x8] - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds mov r2, r8 ldrb r0, [r2] adds r0, r1 @@ -1278,12 +1278,12 @@ _08170F50: _08170F54: ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_80A82E4 @@ -1294,7 +1294,7 @@ _08170F54: lsls r0, r4, 1 adds r0, r4 lsls r0, 3 - ldr r1, =gUnknown_0832C588 + ldr r1, =gBallSpriteTemplates adds r0, r1 adds r1, r6, 0 adds r1, 0x20 @@ -1313,18 +1313,18 @@ _08170F54: adds r6, r4, r0 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget mov r8, r1 ldrb r0, [r1] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1335,8 +1335,8 @@ _08170F54: ldr r0, =SpriteCallbackDummy str r0, [r4] movs r0, 0 - bl GetBankByIdentity - ldr r1, =gBankSpriteIds + bl GetBattlerAtPosition + ldr r1, =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1371,8 +1371,8 @@ sub_8171030: @ 8171030 lsrs r5, r0, 24 ldr r6, =gSprites movs r0, 0 - bl GetBankByIdentity - ldr r1, =gBankSpriteIds + bl GetBattlerAtPosition + ldr r1, =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1422,8 +1422,8 @@ sub_81710A8: @ 81710A8 lsrs r5, r0, 24 ldr r6, =gSprites movs r0, 0 - bl GetBankByIdentity - ldr r4, =gBankSpriteIds + bl GetBattlerAtPosition + ldr r4, =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -1438,7 +1438,7 @@ sub_81710A8: @ 81710A8 cmp r0, 0 bge _081710F4 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -1487,7 +1487,7 @@ sub_8171134: @ 8171134 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081711D2 @@ -1532,7 +1532,7 @@ _08171188: str r0, [r4, 0x1C] ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0xB @@ -1549,13 +1549,13 @@ _08171188: str r5, [sp] movs r2, 0x1 movs r3, 0x1C - bl sub_8171D98 - ldr r0, =gAnimBankTarget + bl LaunchBallStarsTask + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0 movs r2, 0xE adds r3, r5, 0 - bl sub_81729E8 + bl LaunchBallFadeMonTask _081711D2: add sp, 0x4 pop {r4,r5} @@ -1584,8 +1584,8 @@ sub_81711E8: @ 81711E8 ldr r0, =sub_8171240 str r0, [r4, 0x1C] ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -1606,8 +1606,8 @@ _08171224: sub_8171240: @ 8171240 push {r4-r7,lr} adds r7, r0, 0 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r4, [r0] @@ -2333,7 +2333,7 @@ sub_81717F8: @ 81717F8 push {r7} sub sp, 0x4 adds r6, r0, 0 - ldr r7, =gAnimBankTarget + ldr r7, =gBattleAnimTarget ldrh r0, [r6, 0x36] adds r0, 0x1 movs r1, 0 @@ -2390,7 +2390,7 @@ _08171880: cmp r1, r0 bne _081718BC ldr r5, =gSprites - ldr r4, =gBankSpriteIds + ldr r4, =gBattlerSpriteIds ldrb r0, [r7] adds r0, r4 ldrb r1, [r0] @@ -2671,7 +2671,7 @@ sub_8171AAC: @ 8171AAC orrs r0, r1 strb r0, [r3] adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08171ADC @@ -2697,7 +2697,7 @@ sub_8171AE4: @ 8171AE4 str r0, [r4, 0x1C] ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0xB @@ -2714,17 +2714,17 @@ sub_8171AE4: @ 8171AE4 str r5, [sp] movs r2, 0x1 movs r3, 0x1C - bl sub_8171D98 - ldr r0, =gAnimBankTarget + bl LaunchBallStarsTask + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x1 movs r2, 0xE adds r3, r5, 0 - bl sub_81729E8 + bl LaunchBallFadeMonTask _08171B36: ldr r6, =gSprites - ldr r5, =gBankSpriteIds - ldr r4, =gAnimBankTarget + ldr r5, =gBattlerSpriteIds + ldr r4, =gBattleAnimTarget ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -2791,8 +2791,8 @@ sub_8171BAC: @ 8171BAC strb r0, [r2] _08171BCA: ldr r4, =gSprites - ldr r3, =gBankSpriteIds - ldr r2, =gAnimBankTarget + ldr r3, =gBattlerSpriteIds + ldr r2, =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -2840,8 +2840,8 @@ _08171C24: cmp r5, 0 beq _08171C8A ldr r4, =gSprites - ldr r3, =gBankSpriteIds - ldr r2, =gAnimBankTarget + ldr r3, =gBattlerSpriteIds + ldr r2, =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -3007,8 +3007,8 @@ _08171D86: .pool thumb_func_end sub_8171D60 - thumb_func_start sub_8171D98 -sub_8171D98: @ 8171D98 + thumb_func_start LaunchBallStarsTask +LaunchBallStarsTask: @ 8171D98 push {r4-r6,lr} mov r6, r10 mov r5, r9 @@ -3070,7 +3070,7 @@ sub_8171D98: @ 8171D98 pop {r1} bx r1 .pool - thumb_func_end sub_8171D98 + thumb_func_end LaunchBallStarsTask thumb_func_start sub_8171E20 sub_8171E20: @ 8171E20 @@ -4476,8 +4476,8 @@ _081729E2: bx r0 thumb_func_end sub_8172944 - thumb_func_start sub_81729E8 -sub_81729E8: @ 81729E8 + thumb_func_start LaunchBallFadeMonTask +LaunchBallFadeMonTask: @ 81729E8 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -4563,7 +4563,7 @@ _08172A7E: pop {r1} bx r1 .pool - thumb_func_end sub_81729E8 + thumb_func_end LaunchBallFadeMonTask thumb_func_start sub_8172AB0 sub_8172AB0: @ 8172AB0 @@ -4729,8 +4729,8 @@ sub_8172BF0: @ 8172BF0 lsrs r7, r0, 24 movs r0, 0 mov r8, r0 - ldr r0, =gBankSpriteIds - ldr r3, =gAnimBankAttacker + ldr r0, =gBattlerSpriteIds + ldr r3, =gBattleAnimAttacker ldrb r2, [r3] adds r0, r2, r0 ldrb r6, [r0] @@ -4764,7 +4764,7 @@ _08172C36: adds r0, r4 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08172C78 @@ -4825,7 +4825,7 @@ _08172CC8: ldrb r1, [r5, 0x1E] adds r0, r2, 0 adds r2, r6, 0 - bl refresh_graphics_maybe + bl LoadBattleMonGfxAndAnimate ldrh r0, [r5, 0x1C] adds r0, 0x1 strh r0, [r5, 0x1C] @@ -4838,7 +4838,7 @@ _08172CDA: adds r0, r2 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08172D10 @@ -4877,9 +4877,9 @@ _08172D28: adds r0, r1 ldrb r1, [r0, 0x8] strh r1, [r0, 0x8] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -4949,7 +4949,7 @@ _08172DC0: beq _08172E4E b _08172E84 _08172DC6: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -5009,8 +5009,8 @@ _08172E14: strh r0, [r4, 0x26] b _08172E84 _08172E4E: - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r1, [r0] @@ -5030,7 +5030,7 @@ _08172E4E: movs r3, 0x1 bl RequestDma3Fill ldrb r0, [r4] - bl sub_805E974 + bl ClearBehindSubstituteBit adds r0, r5, 0 bl DestroyAnimVisualTask _08172E84: @@ -5048,7 +5048,7 @@ sub_8172E9C: @ 8172E9C ldr r3, =gBattleAnimArgs ldr r1, =gBattleSpritesDataPtr ldr r2, [r1] - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker ldrb r1, [r1] ldr r2, [r2] lsls r1, 2 @@ -5068,8 +5068,8 @@ sub_8172ED0: @ 8172ED0 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankTarget - ldr r1, =gEffectBank + ldr r2, =gBattleAnimTarget + ldr r1, =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -5108,7 +5108,7 @@ sub_8172EF0: @ 8172EF0 bl GetMonData adds r4, r0, 0 adds r0, r6, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08172FC8 @@ -5234,12 +5234,12 @@ _0817303A: ldrb r0, [r4, 0x8] mov r8, r0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 mov r0, r8 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 movs r1, 0x1E @@ -5347,7 +5347,7 @@ _08173118: cmp r0, 0 bne _08173160 mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x3F cmp r0, 0 @@ -5575,11 +5575,11 @@ sub_817330C: @ 817330C movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r5, =gBattleAnimArgs lsrs r0, 24 @@ -5587,11 +5587,11 @@ sub_817330C: @ 817330C adds r0, r1 strh r0, [r4, 0x32] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -5602,8 +5602,8 @@ sub_817330C: @ 817330C adds r0, r4, 0 bl sub_80A68D4 ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -5627,8 +5627,8 @@ sub_817339C: @ 817339C push {lr} adds r3, r0, 0 ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -5652,7 +5652,7 @@ _081733C0: sub_81733D4: @ 81733D4 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081733F6 @@ -5678,8 +5678,8 @@ sub_8173400: @ 8173400 push {r4,r5,lr} adds r4, r0, 0 ldr r5, =gSprites - ldr r3, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r3, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -5732,21 +5732,21 @@ sub_817345C: @ 817345C .pool _08173478: movs r0, 0 - bl GetBankByIdentity - ldr r1, =gAnimBankAttacker + bl GetBattlerAtPosition + ldr r1, =gBattleAnimAttacker strb r0, [r1] movs r0, 0x1 b _08173498 .pool _0817348C: movs r0, 0x1 - bl GetBankByIdentity - ldr r1, =gAnimBankAttacker + bl GetBattlerAtPosition + ldr r1, =gBattleAnimAttacker strb r0, [r1] movs r0, 0 _08173498: - bl GetBankByIdentity - ldr r1, =gAnimBankTarget + bl GetBattlerAtPosition + ldr r1, =gBattleAnimTarget strb r0, [r1] _081734A0: adds r0, r4, 0 @@ -5812,13 +5812,13 @@ sub_817351C: @ 817351C push {lr} lsls r0, 24 lsrs r0, 24 - ldr r3, =gAnimBankAttacker + ldr r3, =gBattleAnimAttacker ldr r1, =gBattleSpritesDataPtr ldr r2, [r1] ldr r1, [r2, 0x8] ldrh r1, [r1] strb r1, [r3] - ldr r3, =gAnimBankTarget + ldr r3, =gBattleAnimTarget ldr r1, [r2, 0x8] ldrh r1, [r1] lsrs r1, 8 diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s index 4bfd7ae68..def934fab 100644 --- a/asm/battle_anim_sound_tasks.s +++ b/asm/battle_anim_sound_tasks.s @@ -150,8 +150,8 @@ _08158C4C: .pool thumb_func_end sub_8158C04 - thumb_func_start mas_80DCF38 -mas_80DCF38: @ 8158C58 + thumb_func_start sub_8158C58 +sub_8158C58: @ 8158C58 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -230,7 +230,7 @@ mas_80DCF38: @ 8158C58 pop {r0} bx r0 .pool - thumb_func_end mas_80DCF38 + thumb_func_end sub_8158C58 thumb_func_start sub_8158D08 sub_8158D08: @ 8158D08 @@ -336,25 +336,25 @@ _08158DD0: adds r2, r0, 0 cmp r1, 0 bne _08158DEC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] b _08158E12 .pool _08158DEC: cmp r1, 0x1 bne _08158DFC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r4, [r0] b _08158E12 .pool _08158DFC: cmp r1, 0x2 bne _08158E08 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08158E0A .pool _08158E08: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08158E0A: ldrb r1, [r0] movs r0, 0x2 @@ -369,7 +369,7 @@ _08158E12: bne _08158E38 _08158E1E: adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _08158E38 @@ -379,11 +379,11 @@ _08158E1E: .pool _08158E38: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08158E5C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -393,7 +393,7 @@ _08158E38: b _08158E6A .pool _08158E5C: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -461,25 +461,25 @@ _08158EE0: adds r2, r0, 0 cmp r1, 0 bne _08158EFC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] b _08158F22 .pool _08158EFC: cmp r1, 0x1 bne _08158F0C - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r4, [r0] b _08158F22 .pool _08158F0C: cmp r1, 0x2 bne _08158F18 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08158F1A .pool _08158F18: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08158F1A: ldrb r1, [r0] movs r0, 0x2 @@ -494,7 +494,7 @@ _08158F22: bne _08158F48 _08158F2E: adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _08158F48 @@ -504,11 +504,11 @@ _08158F2E: .pool _08158F48: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08158F6C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -518,7 +518,7 @@ _08158F48: b _08158F7A .pool _08158F6C: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -705,7 +705,7 @@ sub_81590B8: @ 81590B8 .pool _081590F8: ldr r1, =gAnimSpeciesByBanks - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 978dd30fa..38e0e4b0a 100755..100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -136,7 +136,7 @@ _0818EAC8: .4byte _0818ECD0 .4byte _0818ECF4 _0818EAF0: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] lsls r1, r5, 1 @@ -150,7 +150,7 @@ _0818EAF0: b _0818ED10 .pool _0818EB14: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r2, [r0] ldr r3, =0x00000cdc @@ -170,7 +170,7 @@ _0818EB14: b _0818ED10 .pool _0818EB48: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -180,7 +180,7 @@ _0818EB48: b _0818ECBE .pool _0818EB64: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -190,7 +190,7 @@ _0818EB64: b _0818ECBE .pool _0818EB80: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -198,7 +198,7 @@ _0818EB80: b _0818ECBA .pool _0818EB98: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -216,7 +216,7 @@ _0818EBB4: bne _0818EC04 cmp r5, 0 beq _0818EBE8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -226,7 +226,7 @@ _0818EBB4: b _0818ECBE .pool _0818EBE8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -238,7 +238,7 @@ _0818EBE8: _0818EC04: cmp r5, 0 beq _0818EC24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -248,7 +248,7 @@ _0818EC04: b _0818ECBE .pool _0818EC24: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -266,7 +266,7 @@ _0818EC40: bne _0818EC90 cmp r5, 0 beq _0818EC74 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -277,7 +277,7 @@ _0818EC40: b _0818ED10 .pool _0818EC74: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -289,7 +289,7 @@ _0818EC74: _0818EC90: cmp r5, 0 beq _0818ECB0 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -299,7 +299,7 @@ _0818EC90: b _0818ECBE .pool _0818ECB0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -328,7 +328,7 @@ _0818ECD0: b _0818ED10 .pool _0818ECF4: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r1, [r0] ldr r3, =0x00000d0a @@ -7096,7 +7096,7 @@ _081926B0: movs r1, 0x1 str r1, [sp, 0x8] ldr r1, =sub_8190938 - bl sub_80D2CC4 + bl CreateMonIcon ldr r1, [r6] adds r1, r4 strb r0, [r1] @@ -7171,7 +7171,7 @@ _0819270A: ldr r4, [sp, 0x24] cmp r4, r0 bne _08192784 - ldr r0, =gTrainerClassToNameIndex + ldr r0, =gFacilityClassToTrainerClass adds r0, 0x3C ldrb r5, [r0] b _081927A2 @@ -7383,12 +7383,12 @@ _08192932: ldr r1, [sp, 0x24] cmp r1, r0 bne _08192980 - ldr r0, =gUnknown_0860D1D0 + ldr r0, =gBattleDomePotentialPointers ldr r0, [r0, 0x40] b _0819298A .pool _08192980: - ldr r0, =gUnknown_0860D1D0 + ldr r0, =gBattleDomePotentialPointers ldr r2, [sp, 0x20] lsls r1, r2, 2 adds r1, r0 @@ -7503,7 +7503,7 @@ _08192A58: cmp r7, 0x2 ble _081929AE movs r7, 0 - ldr r2, =gUnknown_0860D214 + ldr r2, =gBattleDomeOpponentStylePointers mov r9, r2 ldr r3, =gUnknown_0860C988 mov r10, r3 @@ -8071,7 +8071,7 @@ _08192ED0: movs r7, 0x2A _08192ED2: lsls r0, r7, 2 - ldr r3, =gUnknown_0860D294 + ldr r3, =gBattleDomeOpponentStatsPointers adds r0, r3 ldr r0, [r0] str r0, [sp, 0xC] @@ -8779,7 +8779,7 @@ _081934B0: mov r1, r10 str r1, [sp, 0x8] ldr r1, =sub_8190938 - bl sub_80D2CC4 + bl CreateMonIcon ldr r1, [r6] adds r1, r4 strb r0, [r1] @@ -8927,7 +8927,7 @@ _081935FA: movs r1, 0x1 str r1, [sp, 0x8] ldr r1, =sub_8190938 - bl sub_80D2CC4 + bl CreateMonIcon ldr r1, [r6] adds r1, r4 strb r0, [r1] @@ -9029,7 +9029,7 @@ _081936A0: movs r0, 0xD0 strb r0, [r1, 0xD] ldr r4, =gStringVar4 - ldr r0, =gUnknown_0860D38C + ldr r0, =gBattleDomeWinStringsPointers ldr r7, [sp, 0x70] adds r0, r7, r0 ldr r1, [r0] @@ -9167,7 +9167,7 @@ _08193802: bl AddTextPrinter add r0, sp, 0xC strb r6, [r0, 0xA] - ldr r0, =gUnknown_0860D350 + ldr r0, =gBattleDomeMatchNumberPointers ldr r1, [sp, 0x58] adds r0, r1, r0 ldr r0, [r0] @@ -9449,7 +9449,7 @@ _08193AA8: b _08193BC2 _08193ABA: bl FreeAllWindowBuffers - bl remove_some_task + bl ScanlineEffect_Stop ldr r4, =gUnknown_0203CD7C ldr r0, [r4] bl Free @@ -9494,7 +9494,7 @@ _08193B20: cmp r6, 0 bne _08193BC2 bl FreeAllWindowBuffers - bl remove_some_task + bl ScanlineEffect_Stop ldr r4, =gUnknown_0203CD7C ldr r0, [r4] bl Free @@ -9534,7 +9534,7 @@ _08193B84: cmp r6, 0 bne _08193BC2 bl FreeAllWindowBuffers - bl remove_some_task + bl ScanlineEffect_Stop ldr r4, =gUnknown_0203CD7C ldr r0, [r4] bl Free @@ -11000,8 +11000,8 @@ _0819486C: movs r1, 0 strh r1, [r0, 0x8] _08194878: - bl dp12_8087EA4 - ldr r0, =gUnknown_02038C28 + bl ScanlineEffect_Clear + ldr r0, =gScanlineEffectRegBuffers ldr r2, =0x00001f0a movs r4, 0xF0 lsls r4, 3 @@ -11017,7 +11017,7 @@ _08194888: bge _08194888 movs r5, 0x5B ldr r3, =gUnknown_0860CF44 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers ldr r2, =0x00001f09 ldr r4, =0x00000836 adds r1, r0, r4 @@ -11033,7 +11033,7 @@ _081948A4: ldr r0, [r3] ldr r1, [r3, 0x4] ldr r2, [r3, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams mov r0, r8 bl DestroyTask _081948C2: @@ -11513,7 +11513,7 @@ sub_8194CE4: @ 8194CE4 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .pool @@ -11707,12 +11707,12 @@ sub_8194EC0: @ 8194EC0 bl sub_8195358 cmp r4, r0 ble _08194EE8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _08194EEC .pool _08194EE8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 _08194EEC: strh r0, [r1] @@ -12991,7 +12991,7 @@ sub_8195938: @ 8195938 push {r4,lr} adds r3, r0, 0 movs r2, 0 - ldr r4, =gTrainers + TRAINER_TUCKER * 0x28 + 0x4 @ Tucker's name + ldr r4, =(gTrainers + 806 * 0x28 + 0x4) @ TRAINER_TUCKER name _08195940: adds r0, r3, r2 adds r1, r2, r4 @@ -13130,7 +13130,7 @@ _08195A74: beq _08195AB0 b _08195AD0 _08195A7A: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r5] ldr r2, =0x00000dc6 adds r1, r2 @@ -13139,7 +13139,7 @@ _08195A7A: b _08195AD0 .pool _08195A90: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, [r5] lsls r1, r7, 1 lsls r2, r6, 2 @@ -13152,7 +13152,7 @@ _08195A90: b _08195AD0 .pool _08195AB0: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r2, [r5] ldr r0, =0x00000cdc adds r2, r0 @@ -13285,7 +13285,7 @@ sub_8195BB0: @ 8195BB0 ldrh r0, [r2] cmp r0, 0x31 bhi _08195C00 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl Random lsls r0, 16 lsrs r0, 16 @@ -13297,12 +13297,12 @@ sub_8195BB0: @ 8195BB0 _08195C00: cmp r0, 0x62 bhi _08195C10 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _08195C14 .pool _08195C10: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 _08195C14: strh r0, [r1] @@ -13517,12 +13517,12 @@ sub_8195DB8: @ 8195DB8 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _08195E06 .pool _08195E00: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _08195E06: @@ -13641,7 +13641,7 @@ sub_8195ED8: @ 8195ED8 push {r4,lr} ldr r4, =gMapHeader ldrb r0, [r4, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 cmp r0, 0 beq _08195F30 @@ -13791,7 +13791,7 @@ sub_8195FF8: @ 8195FF8 push {r4-r6,lr} adds r5, r0, 0 movs r4, 0 - ldr r6, =gUnknown_085500A4 + ldr r6, =gRematchTable _08196000: movs r1, 0xAE lsls r1, 1 @@ -13887,7 +13887,7 @@ task_prev_quest: @ 81960A8 cmp r0, 0 bne _081960C2 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 _081960C2: @@ -14097,7 +14097,7 @@ sub_8196274: @ 8196274 _08196298: movs r1, 0x4 ldrsh r0, [r4, r1] - ldr r1, =gUnknown_0860EF70 + ldr r1, =gText_PokenavCallEllipsis bl sub_81965D8 movs r0, 0x1 _081962A4: @@ -14531,7 +14531,7 @@ sub_81965D8: @ 81965D8 negs r0, r0 ands r0, r1 strb r0, [r2] - bl sav2_get_text_speed + bl GetPlayerTextSpeed adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -14659,7 +14659,7 @@ sub_8196710: @ 8196710 thumb_func_start sub_819672C sub_819672C: @ 819672C push {lr} - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, 4 adds r0, r1 ldrh r2, [r0, 0xA] @@ -14677,10 +14677,10 @@ sub_8196748: @ 8196748 push {r4-r6,lr} movs r5, 0 movs r6, 0 - ldr r4, =gUnknown_085500A4 + ldr r4, =gRematchTable _08196750: ldrh r0, [r4] - bl HasTrainerAlreadyBeenFought + bl HasTrainerBeenFought lsls r0, 24 cmp r0, 0 beq _0819675E @@ -14703,10 +14703,10 @@ sub_8196774: @ 8196774 adds r7, r0, 0 movs r4, 0 movs r6, 0 - ldr r5, =gUnknown_085500A4 + ldr r5, =gRematchTable _0819677E: ldrh r0, [r5] - bl HasTrainerAlreadyBeenFought + bl HasTrainerBeenFought lsls r0, 24 cmp r0, 0 beq _0819679A @@ -14766,7 +14766,7 @@ _081967EC: adds r4, r0, 0 movs r7, 0x1 adds r0, r5, 0 - bl sub_80B1E94 + bl UpdateRematchIfDefeated b _08196832 _0819680A: bl Random @@ -15270,7 +15270,7 @@ sub_8196B98: @ 8196B98 adds r7, r0, 0 cmp r1, 0xFF beq _08196C5C - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, r2, 4 adds r2, r0, r1 ldrh r4, [r2, 0xA] @@ -15373,7 +15373,7 @@ sub_8196C70: @ 8196C70 lsls r1, 2 adds r1, r2 ldrh r0, [r1] - bl sub_80B2250 + bl GetLastBeatenRematchTrainerId lsls r0, 16 lsrs r0, 16 ldr r5, =gTrainers @@ -16009,6 +16009,44 @@ _0819715C: pop {r0} bx r0 .pool + thumb_func_end sub_8197080 + thumb_func_start sub_8197184 +sub_8197184: @ 8197184 + push {r4,r5,lr} + adds r4, r1, 0 + adds r5, r2, 0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl GetWindowAttribute + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gUnknown_0860EA6C + movs r2, 0x80 + lsls r2, 1 + lsls r4, 16 + lsrs r4, 16 + adds r3, r4, 0 + bl LoadBgTiles + ldr r0, =gUnknown_0860EA4C + lsls r5, 20 + lsrs r5, 16 + adds r1, r5, 0 + movs r2, 0x20 + bl LoadPalette + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8197184 + + thumb_func_start sub_81971C4 +sub_81971C4: @ 81971C4 + push {lr} + bl sub_819645C + pop {r0} + bx r0 + thumb_func_end sub_81971C4 .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index ac92b3c2a..67f44a0b6 100755..100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -5,6 +5,70 @@ .text + thumb_func_start sub_819A44C +sub_819A44C: @ 819A44C + push {r4,r5,lr} + adds r5, r0, 0 + ldrb r4, [r5, 0x5] + lsrs r4, 4 + movs r0, 0x65 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsls r4, 16 + lsrs r4, 16 + lsrs r0, 24 + cmp r4, r0 + bne _0819A4BA + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _0819A4B0 + ldrh r1, [r5, 0x2E] + movs r2, 0x2E + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _0819A484 + subs r0, r1, 0x1 + strh r0, [r5, 0x2E] + b _0819A4C2 +_0819A484: + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x5 + bl __umodsi3 + lsls r0, 16 + cmp r0, 0 + bne _0819A4A6 + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAnim + movs r0, 0x20 + strh r0, [r5, 0x2E] + b _0819A4C2 +_0819A4A6: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim + b _0819A4C2 +_0819A4B0: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnimIfDifferent + b _0819A4C2 +_0819A4BA: + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent +_0819A4C2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_819A44C + thumb_func_start sub_819A4C8 sub_819A4C8: @ 819A4C8 push {lr} @@ -189,7 +253,7 @@ _0819A69C: bl ResetSpriteData bl ResetTasks bl FreeAllSpritePalettes - ldr r0, =gUnknown_08DC0754 + ldr r0, =gFrontierFactorySelectMenu_Gfx ldr r5, =gUnknown_0203CE2C ldr r1, [r5] movs r2, 0x88 @@ -211,7 +275,7 @@ _0819A69C: movs r2, 0x60 movs r3, 0 bl LoadBgTiles - ldr r0, =gUnknown_08DC0B94 + ldr r0, =gFrontierFactorySelectMenu_Tilemap ldr r4, =gUnknown_0203CE34 ldr r1, [r4] movs r2, 0x80 @@ -223,7 +287,7 @@ _0819A69C: movs r0, 0x1 movs r3, 0 bl LoadBgTilemap - ldr r0, =gUnknown_08DC0714 + ldr r0, =gFrontierFactorySelectMenu_Pal movs r1, 0 movs r2, 0x40 bl LoadPalette @@ -2801,7 +2865,7 @@ sub_819BCF8: @ 819BCF8 lsls r0, 16 lsrs r0, 16 add r1, sp, 0xC - bl sub_81DB468 + bl CopyMonCategoryText movs r0, 0x1 add r1, sp, 0xC movs r2, 0x76 @@ -4361,14 +4425,14 @@ _0819CA4E: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _0819CAFE .pool _0819CA68: movs r0, 0x2 strh r0, [r4, 0x8] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _0819CAFE @@ -6646,7 +6710,7 @@ _0819DDA8: bl ResetTasks bl FreeAllSpritePalettes bl dp13_810BB8C - ldr r0, =gUnknown_08DC0754 + ldr r0, =gFrontierFactorySelectMenu_Gfx ldr r5, =gUnknown_0203CE40 ldr r1, [r5] movs r2, 0x88 @@ -6668,7 +6732,7 @@ _0819DDA8: movs r2, 0x60 movs r3, 0 bl LoadBgTiles - ldr r0, =gUnknown_08DC0B94 + ldr r0, =gFrontierFactorySelectMenu_Tilemap ldr r4, =gUnknown_0203CE48 ldr r1, [r4] movs r2, 0x80 @@ -6680,7 +6744,7 @@ _0819DDA8: movs r0, 0x1 movs r3, 0 bl LoadBgTilemap - ldr r0, =gUnknown_08DC0714 + ldr r0, =gFrontierFactorySelectMenu_Pal movs r1, 0 movs r2, 0x40 bl LoadPalette @@ -8831,7 +8895,7 @@ _0819EFF2: lsls r0, 16 lsrs r0, 16 add r1, sp, 0xC - bl sub_81DB468 + bl CopyMonCategoryText movs r0, 0x1 add r1, sp, 0xC movs r2, 0x76 @@ -11329,7 +11393,7 @@ _081A03E6: bls _081A03E6 movs r5, 0 ldr r7, =gSaveBlock2Ptr - ldr r6, =gUnknown_086109A4 + ldr r6, =gUnknown_08610970+0x34 _081A0416: ldr r0, [r7] mov r12, r0 @@ -11490,7 +11554,7 @@ _081A0540: mov r12, r1 adds r5, r3, 0 adds r5, 0xB0 - ldr r0, =gUnknown_086109A4 + ldr r0, =gUnknown_08610970+0x34 mov r8, r0 _081A0560: adds r0, r3, 0 @@ -11730,13 +11794,13 @@ _081A0734: bne _081A0778 movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _081A0768 .pool _081A0764: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _081A0768: ldrb r0, [r4, 0xC] @@ -11982,12 +12046,12 @@ sub_81A093C: @ 81A093C lsrs r1, r0, 24 cmp r1, 0 bne _081A0954 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _081A095A .pool _081A0954: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081A095A: @@ -12046,7 +12110,7 @@ sub_81A0990: @ 81A0990 thumb_func_start sub_81A09B4 sub_81A09B4: @ 81A09B4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] adds r0, 0xB1 @@ -12070,13 +12134,13 @@ sub_81A09D0: @ 81A09D0 subs r1, r0, 0x3 cmp r1, 0 bge _081A09F4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _081A0A1C .pool _081A09F4: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result cmp r1, 0x8 ble _081A09FE movs r0, 0x1 @@ -12380,12 +12444,12 @@ _081A0C8E: sub_81A0C9C: @ 81A0C9C push {lr} bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame bl sub_81A0A70 pop {r0} bx r0 @@ -12403,7 +12467,7 @@ sub_81A0CC0: @ 81A0CC0 lsrs r0, r1, 28 cmp r0, 0x2 bhi _081A0CE4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 b _081A0D34 .pool @@ -12431,22 +12495,22 @@ _081A0D08: beq _081A0D24 b _081A0D30 _081A0D0E: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 b _081A0D34 .pool _081A0D18: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _081A0D34 .pool _081A0D24: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A0D34 .pool _081A0D30: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 _081A0D34: strh r0, [r1] @@ -13078,7 +13142,7 @@ _081A1242: lsls r0, 30 ldr r1, =gSpecialVar_0x8005 mov r12, r1 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result mov r8, r1 cmp r0, 0 beq _081A127C @@ -13855,7 +13919,7 @@ _081A186C: .4byte _081A1918 .4byte _081A1938 _081A188C: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca8 @@ -13865,7 +13929,7 @@ _081A188C: b _081A1956 .pool _081A18A8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca9 @@ -13877,7 +13941,7 @@ _081A18A8: b _081A1956 .pool _081A18C8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000cb2 @@ -13887,7 +13951,7 @@ _081A18C8: b _081A1956 .pool _081A18E4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca9 @@ -13897,7 +13961,7 @@ _081A18E4: b _081A1926 .pool _081A1900: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, =gBattleOutcome ldrb r0, [r1] strh r0, [r2] @@ -13906,7 +13970,7 @@ _081A1900: b _081A1956 .pool _081A1918: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca9 @@ -13919,7 +13983,7 @@ _081A1926: b _081A1956 .pool _081A1938: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r2, [r0] movs r0, 0xD0 @@ -14280,7 +14344,7 @@ sub_81A1C4C: @ 81A1C4C adds r3, r0, 0 lsls r0, r5, 3 adds r5, r0, 0x1 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId ldrb r0, [r0] lsls r3, 24 lsrs r3, 24 @@ -14306,7 +14370,7 @@ sub_81A1C90: @ 81A1C90 push {r4,lr} sub sp, 0x34 adds r2, r0, 0 - ldr r3, =gUnknown_0203AB74 + ldr r3, =gResultsWindowId movs r1, 0xAE mov r0, sp adds r0, 0x2F @@ -14361,7 +14425,7 @@ sub_81A1CD8: @ 81A1CD8 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -14580,13 +14644,13 @@ sub_81A1EA8: @ 81A1EA8 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -14621,7 +14685,7 @@ _081A1F28: ldr r0, =gStringVar4 movs r1, 0x2 bl sub_81A1C4C - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldrb r0, [r6] ldr r2, =gText_Lv502 movs r1, 0x31 @@ -14734,7 +14798,7 @@ sub_81A2008: @ 81A2008 lsrs r6, 24 lsls r5, 24 lsrs r5, 24 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r5, [sp] @@ -14868,13 +14932,13 @@ sub_81A2134: @ 81A2134 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -14893,7 +14957,7 @@ _081A2184: ldr r0, =gStringVar4 movs r1, 0 bl sub_81A1C4C - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] ldr r2, =gText_Lv502 movs r6, 0x21 @@ -14905,7 +14969,7 @@ _081A2184: movs r1, 0x1 movs r3, 0x8 bl PrintTextOnWindow - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -14988,10 +15052,10 @@ _081A2184: mov r1, r8 movs r3, 0x40 bl sub_81A2008 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] bl PutWindowTilemap - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] movs r1, 0x3 bl CopyWindowToVram @@ -15027,7 +15091,7 @@ sub_81A22B8: @ 81A22B8 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -15221,13 +15285,13 @@ sub_81A2460: @ 81A2460 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -15246,7 +15310,7 @@ _081A24B0: ldr r0, =gStringVar4 movs r1, 0x2 bl sub_81A1C4C - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldrb r0, [r6] ldr r2, =gText_Lv502 movs r1, 0x31 @@ -15356,7 +15420,7 @@ sub_81A258C: @ 81A258C lsrs r6, 24 lsls r5, 24 lsrs r5, 24 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r5, [sp] @@ -15469,13 +15533,13 @@ sub_81A2698: @ 81A2698 mov r5, r8 push {r5-r7} sub sp, 0xC - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6] movs r1, 0x11 bl FillWindowPixelBuffer @@ -15608,7 +15672,7 @@ sub_81A27E8: @ 81A27E8 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -15772,13 +15836,13 @@ _081A2956: sub_81A2968: @ 81A2968 push {r4-r6,lr} sub sp, 0xC - ldr r5, =gUnknown_0203AB74 + ldr r5, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] movs r1, 0x11 bl FillWindowPixelBuffer @@ -15871,7 +15935,7 @@ sub_81A2A28: @ 81A2A28 lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r6, [sp] @@ -16147,13 +16211,13 @@ sub_81A2C94: @ 81A2C94 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -16172,7 +16236,7 @@ _081A2CE0: ldr r0, =gStringVar4 movs r1, 0 bl sub_81A1C4C - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] ldr r2, =gText_Lv502 @@ -16276,7 +16340,7 @@ sub_81A2DB4: @ 81A2DB4 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -16442,13 +16506,13 @@ _081A2F26: sub_81A2F38: @ 81A2F38 push {r4-r6,lr} sub sp, 0xC - ldr r5, =gUnknown_0203AB74 + ldr r5, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] movs r1, 0x11 bl FillWindowPixelBuffer @@ -16520,13 +16584,13 @@ sub_81A2FF8: @ 81A2FF8 mov r6, r8 push {r6,r7} sub sp, 0xC - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C7C bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -16686,7 +16750,7 @@ _081A315C: movs r2, 0x1 movs r3, 0x4 bl ConvertIntToDecimalStringN - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldrb r0, [r6] movs r1, 0x26 adds r3, r5, 0 @@ -17183,7 +17247,7 @@ sub_81A35EC: @ 81A35EC push {r4,lr} ldr r0, =0x000040cf bl VarGet - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_81A3610 lsls r0, 24 lsrs r0, 24 @@ -17495,7 +17559,7 @@ _081A38A8: lsrs r3, r0, 24 movs r0, 0x58 muls r0, r3 - ldr r1, =gUnknown_086109BA + ldr r1, =gUnknown_08610970+0x4A _081A38C4: adds r0, r1 bl ConvertBattleFrontierTrainerSpeechToString @@ -17516,7 +17580,7 @@ _081A38D4: lsrs r3, r0, 27 movs r0, 0x58 muls r0, r3 - ldr r1, =gUnknown_086109BA + ldr r1, =gUnknown_08610970+0x4A adds r0, r1 bl ConvertBattleFrontierTrainerSpeechToString _081A38F8: @@ -17755,12 +17819,12 @@ sub_81A3B00: @ 81A3B00 ldr r0, =0x000003fe cmp r1, r0 bne _081A3B20 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A3B24 .pool _081A3B20: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 _081A3B24: strh r0, [r1] @@ -17988,7 +18052,7 @@ sub_81A3D30: @ 81A3D30 push {r4,lr} ldr r0, =0x000040cf bl VarGet - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result lsls r0, 24 lsrs r0, 24 bl sub_81A3B30 @@ -18044,13 +18108,13 @@ sub_81A3DA0: @ 81A3DA0 ands r2, r1 cmp r2, 0 beq _081A3DC4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _081A3DC8 .pool _081A3DC4: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] _081A3DC8: pop {r0} @@ -18390,7 +18454,7 @@ _081A404E: bne _081A40C8 cmp r7, 0 bne _081A40E4 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrb r3, [r0] str r6, [sp] add r1, sp, 0x10 @@ -18406,7 +18470,7 @@ _081A404E: b _081A40E4 .pool _081A40C8: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrb r3, [r0] str r6, [sp] add r1, sp, 0x10 @@ -18529,7 +18593,7 @@ _081A41E0: strh r0, [r1] ldr r0, =gSaveBlock2Ptr ldr r2, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrb r0, [r0] ldr r1, =0x00000ca9 adds r2, r1 @@ -18556,7 +18620,7 @@ _081A4202: thumb_func_start sub_81A4224 sub_81A4224: @ 81A4224 push {lr} - bl sub_81652B4 + bl ValidateEReaderTrainer pop {r0} bx r0 thumb_func_end sub_81A4224 @@ -18767,7 +18831,7 @@ _081A43EE: thumb_func_start sub_81A4410 sub_81A4410: @ 81A4410 push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl MoveRecordedBattleToSaveData strh r0, [r4] ldr r0, =gSaveBlock2Ptr @@ -18962,7 +19026,7 @@ sub_81A4594: @ 81A4594 sub sp, 0x2C mov r8, r1 adds r6, r3, 0 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r5, [r1] lsls r4, r0, 1 adds r4, r0 @@ -18998,7 +19062,7 @@ sub_81A4594: @ 81A4594 ldrb r2, [r6, 0xE] add r0, sp, 0xC bl TVShowConvertInternationalString - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] mov r3, r8 adds r3, 0x2 @@ -19038,7 +19102,7 @@ _081A4618: adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] str r7, [sp] mov r1, r10 @@ -19072,7 +19136,7 @@ sub_81A4684: @ 81A4684 adds r7, r1, 0 mov r10, r2 adds r5, r3, 0 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] lsls r2, r6, 1 adds r2, r6 @@ -19112,7 +19176,7 @@ sub_81A4684: @ 81A4684 ldrb r2, [r5, 0x1A] add r0, sp, 0xC bl TVShowConvertInternationalString - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] adds r3, r7, 0x2 lsls r3, 27 @@ -19147,7 +19211,7 @@ _081A4734: adds r1, r4, 0 bl StringCopy _081A473C: - ldr r2, =gUnknown_0203AB74 + ldr r2, =gResultsWindowId mov r9, r2 ldrb r0, [r2] adds r3, r7, 0x4 @@ -19468,7 +19532,7 @@ sub_81A4998: @ 81A4998 ldr r1, [r5] adds r0, r6, 0 bl StringExpandPlaceholders - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] movs r1, 0x1 @@ -19567,13 +19631,13 @@ _081A4A90: thumb_func_start sub_81A4AA0 sub_81A4AA0: @ 81A4AA0 push {r4,lr} - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C84 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -19595,7 +19659,7 @@ sub_81A4AA0: @ 81A4AA0 thumb_func_start sub_81A4AE8 sub_81A4AE8: @ 81A4AE8 push {r4,lr} - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -20736,7 +20800,7 @@ _081A54D4: bl HandleBattleWindow movs r0, 0 bl CopyBgTilemapBufferToVram - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r1, =0x0000ffff movs r2, 0x80 lsls r2, 1 @@ -21034,7 +21098,7 @@ sub_81A5718: @ 81A5718 b _081A57D8 .pool _081A576C: - ldr r0, =gBattleMoveFlags + ldr r0, =gMoveResultFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -21309,7 +21373,7 @@ _081A5994: beq _081A59C8 b _081A59EE _081A599A: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r2, =0x00000dd8 adds r1, r3, r2 ldrh r1, [r1] @@ -21317,7 +21381,7 @@ _081A599A: b _081A59EE .pool _081A59B0: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result lsls r1, 1 ldr r4, =0x00000dda adds r0, r3, r4 @@ -21328,7 +21392,7 @@ _081A59B0: _081A59C8: cmp r1, 0 beq _081A59E0 - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, =0x00000cdc adds r0, r3, r1 ldr r0, [r0] @@ -21336,7 +21400,7 @@ _081A59C8: b _081A59EA .pool _081A59E0: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r4, =0x00000cdc adds r0, r3, r4 ldr r0, [r0] @@ -21550,12 +21614,12 @@ sub_81A5B88: @ 81A5B88 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081A5BD6 .pool _081A5BD0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081A5BD6: @@ -22026,7 +22090,7 @@ _081A5FE4: beq _081A6030 b _081A6044 _081A5FEA: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, [r7] lsls r1, r6, 1 lsls r2, r5, 2 @@ -22035,7 +22099,7 @@ _081A5FEA: b _081A603C .pool _081A6000: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r2, [r7] ldr r0, =0x00000cdc adds r2, r0 @@ -22054,7 +22118,7 @@ _081A6000: b _081A6044 .pool _081A6030: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, [r7] lsls r1, r6, 1 lsls r2, r5, 2 @@ -23248,7 +23312,7 @@ sub_81A6A08: @ 81A6A08 str r0, [r1] movs r4, 0 add r5, sp, 0x14 - ldr r7, =gScriptResult + ldr r7, =gSpecialVar_Result movs r1, 0 _081A6A1E: mov r2, sp @@ -23407,7 +23471,7 @@ _081A6B18: lsrs r4, r0, 24 cmp r4, 0x2 bls _081A6B0E - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r4, 0x1 @@ -24180,7 +24244,7 @@ _081A7174: .4byte _081A71E8 .4byte _081A720C _081A7188: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000e02 adds r1, r3 @@ -24189,7 +24253,7 @@ _081A7188: b _081A723A .pool _081A71A0: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000ca9 adds r0, r1, r3 @@ -24203,7 +24267,7 @@ _081A71A0: b _081A7238 .pool _081A71C4: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000ca9 adds r0, r1, r3 @@ -24217,7 +24281,7 @@ _081A71C4: b _081A7238 .pool _081A71E8: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000ca9 adds r0, r1, r3 @@ -24233,7 +24297,7 @@ _081A71E8: _081A720C: cmp r2, 0 beq _081A7228 - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r1, =0x00000cdc adds r0, r1 @@ -24243,7 +24307,7 @@ _081A720C: b _081A7236 .pool _081A7228: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r3, =0x00000cdc adds r0, r3 @@ -24424,12 +24488,12 @@ sub_81A73B8: @ 81A73B8 ldrh r0, [r0] cmp r0, 0xE bls _081A73DC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A73E0 .pool _081A73DC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 _081A73E0: strh r0, [r1] @@ -24440,7 +24504,7 @@ _081A73E0: thumb_func_start sub_81A73EC sub_81A73EC: @ 81A73EC - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, =gUnknown_0300128C ldrb r1, [r1] strh r1, [r0] @@ -24528,27 +24592,27 @@ _081A7484: beq _081A74A4 b _081A74C2 _081A748E: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081A74C0 .pool _081A7498: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A74C0 .pool _081A74A4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 b _081A74C0 .pool _081A74B0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _081A74C0 .pool _081A74BC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 _081A74C0: strh r0, [r1] @@ -24560,7 +24624,7 @@ _081A74C2: thumb_func_start sub_81A74CC sub_81A74CC: @ 81A74CC - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, =gUnknown_0300128D ldrb r1, [r1] strh r1, [r0] @@ -24580,7 +24644,7 @@ sub_81A74E0: @ 81A74E0 adds r4, 0x1 adds r0, r4, 0 bl sub_81A7F38 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] pop {r4} pop {r0} @@ -25426,8 +25490,8 @@ sub_81A7B84: @ 81A7B84 .pool thumb_func_end sub_81A7B84 - thumb_func_start sub_81A7B90 -sub_81A7B90: @ 81A7B90 + thumb_func_start TryGenerateBattlePikeWildMon +TryGenerateBattlePikeWildMon: @ 81A7B90 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -25437,7 +25501,7 @@ sub_81A7B90: @ 81A7B90 lsls r0, 24 lsrs r0, 24 mov r8, r0 - bl sub_81A7D00 + bl GetBattlePikeWildMonHeaderId lsls r0, 24 lsrs r6, r0, 24 ldr r7, =gSaveBlock2Ptr @@ -25596,10 +25660,10 @@ _081A7CE2: pop {r1} bx r1 .pool - thumb_func_end sub_81A7B90 + thumb_func_end TryGenerateBattlePikeWildMon - thumb_func_start sub_81A7D00 -sub_81A7D00: @ 81A7D00 + thumb_func_start GetBattlePikeWildMonHeaderId +GetBattlePikeWildMonHeaderId: @ 81A7D00 push {lr} ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -25638,7 +25702,7 @@ _081A7D4C: adds r0, r1, 0 pop {r1} bx r1 - thumb_func_end sub_81A7D00 + thumb_func_end GetBattlePikeWildMonHeaderId thumb_func_start sub_81A7D54 sub_81A7D54: @ 81A7D54 @@ -26066,7 +26130,7 @@ _081A807A: thumb_func_start sub_81A8090 sub_81A8090: @ 81A8090 push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl InBattlePike lsls r0, 24 lsrs r0, 24 @@ -26110,7 +26174,7 @@ sub_81A80DC: @ 81A80DC push {r4-r7,lr} mov r7, r8 push {r7} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result movs r0, 0 strh r0, [r4] movs r0, 0x1 @@ -26295,7 +26359,7 @@ _081A824C: thumb_func_start sub_81A825C sub_81A825C: @ 81A825C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] movs r2, 0xE1 @@ -26311,7 +26375,7 @@ sub_81A825C: @ 81A825C thumb_func_start sub_81A827C sub_81A827C: @ 81A827C - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, =gUnknown_0861266C ldr r0, =gSaveBlock2Ptr ldr r0, [r0] @@ -26754,7 +26818,7 @@ _081A8634: thumb_func_start sub_81A863C sub_81A863C: @ 81A863C push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result movs r0, 0 bl sub_81A8590 lsls r0, 24 @@ -26787,7 +26851,7 @@ sub_81A8658: @ 81A8658 ldrb r4, [r0] adds r0, r4, 0 bl sub_81A7F38 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] pop {r4} pop {r0} @@ -26821,7 +26885,7 @@ sub_81A86C0: @ 81A86C0 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] movs r0, 0 @@ -26895,7 +26959,7 @@ _081A8766: mov r0, r9 cmp r0, 0x1 bne _081A8778 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _081A8786 @@ -27919,13 +27983,13 @@ _081A8F70: .4byte _081A9010 .4byte _081A9028 _081A8F8C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000e18 b _081A8FFE .pool _081A8F9C: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] lsls r1, r4, 1 ldr r3, =0x00000e1a @@ -27937,14 +28001,14 @@ _081A8F9C: _081A8FB4: cmp r4, 0 beq _081A8FCC - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r1, =0x00000cdc adds r0, r1 b _081A9030 .pool _081A8FCC: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r3, =0x00000cdc adds r0, r3 @@ -27954,14 +28018,14 @@ _081A8FCC: b _081A9036 .pool _081A8FE4: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r2, =0x00000e1a adds r1, r2 b _081A9000 .pool _081A8FF8: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000e1c _081A8FFE: @@ -27972,7 +28036,7 @@ _081A9000: b _081A903A .pool _081A9010: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r1, =0x00000cdc adds r0, r1 @@ -27982,7 +28046,7 @@ _081A9010: b _081A9036 .pool _081A9028: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r3, =0x00000cdc adds r0, r3 @@ -28211,12 +28275,12 @@ sub_81A91FC: @ 81A91FC adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081A924A .pool _081A9244: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081A924A: @@ -28296,7 +28360,7 @@ CalculateBattlePyramidItemBallItemId: @ 81A9290 _081A92DE: bl sub_81AA9E4 lsls r0, 24 - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked ldrh r4, [r1] ldr r1, =gUnknown_08613650 lsrs r0, 20 @@ -28401,7 +28465,7 @@ sub_81A93C8: @ 81A93C8 lsls r1, 4 adds r3, r0, r1 movs r2, 0 - ldr r4, =gScriptLastTalked + ldr r4, =gSpecialVar_LastTalked b _081A93F4 .pool _081A93E4: @@ -28712,7 +28776,7 @@ _081A9650: thumb_func_start sub_81A966C sub_81A966C: @ 81A966C push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl InBattlePyramid lsls r0, 24 lsrs r0, 24 @@ -28745,7 +28809,7 @@ _081A9698: b _081A9754 .pool _081A96B4: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldrh r0, [r4] cmp r0, 0x1 beq _081A9710 @@ -28775,7 +28839,7 @@ _081A96F4: ldrh r0, [r0] bl PlaySE _081A96FC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] @@ -29290,7 +29354,7 @@ sub_81A9B04: @ 81A9B04 cmp r0, 0 beq _081A9B2E movs r0, 0x1 - bl sub_80B47E0 + bl GetChosenApproachingTrainerMapObjectId ldr r1, =gSelectedMapObject strb r0, [r1] ldr r0, =gTrainerBattleOpponent_B @@ -29352,7 +29416,7 @@ _081A9B86: strb r3, [r0, 0x6] mov r7, r10 ldr r2, [r7] - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrh r1, [r0] subs r1, 0x1 lsls r0, r1, 1 @@ -29386,8 +29450,8 @@ _081A9B86: .pool thumb_func_end sub_81A9B44 - thumb_func_start sub_81A9C04 -sub_81A9C04: @ 81A9C04 + thumb_func_start GenerateBattlePyramidWildMon +GenerateBattlePyramidWildMon: @ 81A9C04 push {r4-r6,lr} sub sp, 0x14 ldr r0, =gSaveBlock2Ptr @@ -29627,7 +29691,7 @@ _081A9E0C: pop {r0} bx r0 .pool - thumb_func_end sub_81A9C04 + thumb_func_end GenerateBattlePyramidWildMon thumb_func_start sub_81A9E28 sub_81A9E28: @ 81A9E28 @@ -29783,7 +29847,7 @@ GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C lsls r0, 16 lsrs r0, 16 movs r4, 0 - ldr r3, =gTrainerClassToNameIndex + ldr r3, =gFacilityClassToTrainerClass ldr r1, =gUnknown_0203BC88 ldr r2, [r1] movs r1, 0x34 @@ -29815,7 +29879,7 @@ _081A9F7A: thumb_func_start sub_81A9F80 sub_81A9F80: @ 81A9F80 push {lr} - ldr r0, =gUnknown_08252C88 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -29962,7 +30026,7 @@ _081AA0A6: ldr r2, =0x00000169 adds r0, r2 lsls r0, 2 - ldr r1, =gUnknown_08481DD4 + ldr r1, =gMapAttributes adds r0, r1 ldr r6, [r0] ldr r2, [r6, 0xC] @@ -30241,8 +30305,8 @@ sub_81AA2F8: @ 81AA2F8 push {r4,r5,lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] - ldr r5, =gUnknown_08252C4F - ldr r4, =gUnknown_08252C6A + ldr r5, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F + ldr r4, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A movs r2, 0xC8 lsls r2, 4 adds r1, r0, r2 @@ -31102,7 +31166,7 @@ sub_81AA96C: @ 81AA96C lsls r0, 24 lsrs r5, r0, 24 movs r3, 0 - ldr r2, =gUnknown_08613655 + ldr r2, =gUnknown_08613650+0x5 mov r12, r2 movs r7, 0x7 _081AA994: diff --git a/asm/battle_link_817C95C.s b/asm/battle_link_817C95C.s index fedb50c45..55d0bae39 100644 --- a/asm/battle_link_817C95C.s +++ b/asm/battle_link_817C95C.s @@ -34,32 +34,32 @@ _0817C988: movs r1, 0x81 lsls r1, 2 adds r7, r0, r1 - ldr r5, =gBankAttacker + ldr r5, =gBattlerAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gEffectBank + ldr r0, =gEffectBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 mov r9, r0 ldr r0, =gStringInfo ldr r0, [r0] ldrb r0, [r0, 0x7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] cmp r4, 0 bne _0817CA00 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes ldrb r0, [r5] lsls r0, 1 adds r0, r2 @@ -70,7 +70,7 @@ _0817C988: b _0817CA10 .pool _0817CA00: - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes ldrb r0, [r5] lsls r0, 1 adds r0, r2 @@ -83,7 +83,7 @@ _0817CA10: str r1, [sp, 0x8] cmp r6, 0 bne _0817CA3C - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -94,7 +94,7 @@ _0817CA10: b _0817CA4C .pool _0817CA3C: - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -105,12 +105,12 @@ _0817CA3C: _0817CA4C: adds r1, r0 str r1, [sp, 0xC] - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] ldr r1, =gStringInfo ldr r1, [r1] ldrh r1, [r1] - bl GetBankMoveSlotId + bl GetBattlerMoveSlotId lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -134,20 +134,20 @@ _0817CA4C: bl _0817E0A2 .pool _0817CA9C: - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 mov r8, r0 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r5, r0, 25 - ldr r0, =gEffectBank + ldr r0, =gEffectBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r3, r0, 25 ldr r1, [sp] @@ -571,8 +571,8 @@ _0817D0DC: adds r3, r4 lsls r3, 2 adds r3, r7, r3 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -601,8 +601,8 @@ _0817D124: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -634,8 +634,8 @@ _0817D16C: adds r0, r4 lsls r0, 2 adds r5, r7, r0 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -715,8 +715,8 @@ _0817D216: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -775,8 +775,8 @@ _0817D296: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -833,8 +833,8 @@ _0817D314: lsls r0, r4, 4 adds r3, r0 adds r3, r7, r3 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -940,8 +940,8 @@ _0817D3F2: bne _0817D3FE bl _0817E0A6 _0817D3FE: - ldr r0, =gBankAttacker - ldr r1, =gBankTarget + ldr r0, =gBattlerAttacker + ldr r1, =gBattlerTarget ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -1014,8 +1014,8 @@ _0817D498: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1091,8 +1091,8 @@ _0817D53C: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1161,8 +1161,8 @@ _0817D5CE: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1226,8 +1226,8 @@ _0817D65E: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1301,8 +1301,8 @@ _0817D6F2: strb r0, [r1] bl _0817E0A6 _0817D704: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1314,7 +1314,7 @@ _0817D704: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1353,8 +1353,8 @@ _0817D76C: bne _0817D77E bl _0817E0A6 _0817D77E: - ldr r6, =gBattlePartyID - ldr r5, =gBankAttacker + ldr r6, =gBattlerPartyIndexes + ldr r5, =gBattlerAttacker ldrb r0, [r5] lsls r0, 1 adds r0, r6 @@ -1395,8 +1395,8 @@ _0817D7B2: b _0817D934 .pool _0817D7D8: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1408,7 +1408,7 @@ _0817D7D8: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1439,8 +1439,8 @@ _0817D7D8: b _0817D88C .pool _0817D838: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1452,7 +1452,7 @@ _0817D838: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1496,9 +1496,9 @@ _0817D8A4: bne _0817D8B6 bl _0817E0A6 _0817D8B6: - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes mov r8, r2 - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r0, [r6] lsls r0, 1 add r0, r8 @@ -1573,8 +1573,8 @@ _0817D94C: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1627,8 +1627,8 @@ _0817D9AE: movs r0, 0x9 b _0817E086 _0817D9C2: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1640,7 +1640,7 @@ _0817D9C2: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1671,8 +1671,8 @@ _0817D9C2: b _0817DB76 .pool _0817DA24: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1702,8 +1702,8 @@ _0817DA48: b _0817E0A6 .pool _0817DA68: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1715,7 +1715,7 @@ _0817DA68: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1747,8 +1747,8 @@ _0817DA68: b _0817DB76 .pool _0817DACC: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1790,8 +1790,8 @@ _0817DB10: b _0817E0A6 .pool _0817DB24: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1803,7 +1803,7 @@ _0817DB24: lsls r4, 3 adds r3, r4 adds r3, r7, r3 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1838,8 +1838,8 @@ _0817DB76: b _0817E0A6 .pool _0817DB90: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1875,8 +1875,8 @@ _0817DBD4: lsls r0, r1, 4 adds r3, r0 adds r3, r7, r3 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1943,8 +1943,8 @@ _0817DC62: adds r2, r6 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2021,8 +2021,8 @@ _0817DCFC: lsls r0, r4, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2049,8 +2049,8 @@ _0817DD38: lsls r0, r4, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2121,8 +2121,8 @@ _0817DDC8: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2154,8 +2154,8 @@ _0817DE10: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2253,8 +2253,8 @@ _0817DEDC: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2331,8 +2331,8 @@ _0817DF70: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2413,8 +2413,8 @@ _0817DFE6: negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2557,22 +2557,22 @@ _0817E122: lsls r1, 2 adds r1, r0, r1 str r1, [sp, 0x8] - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker mov r10, r2 ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 mov r9, r0 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 mov r1, r10 ldrb r0, [r1] adds r1, r7, 0 - bl GetBankMoveSlotId + bl GetBattlerMoveSlotId lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x3 @@ -2593,7 +2593,7 @@ _0817E122: _0817E184: mov r2, r10 ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 lsls r0, 3 @@ -2604,7 +2604,7 @@ _0817E184: mov r2, r10 ldrb r1, [r2] lsls r1, 1 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes adds r1, r2 ldrh r2, [r1] adds r2, 0x1 @@ -2617,7 +2617,7 @@ _0817E184: strb r1, [r0] mov r1, r10 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 lsls r0, 3 @@ -2685,7 +2685,7 @@ _0817E23C: mov r1, r10 ldrb r0, [r1] lsls r0, 1 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes adds r0, r2 ldrh r1, [r0] adds r1, 0x1 @@ -2723,7 +2723,7 @@ _0817E27A: mov r1, r10 ldrb r0, [r1] lsls r0, 1 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes adds r0, r1 ldrh r1, [r0] adds r1, 0x1 @@ -2812,9 +2812,9 @@ sub_817E32C: @ 817E32C movs r1, 0x81 lsls r1, 2 adds r4, r0, r1 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 cmp r5, 0x12 @@ -3244,14 +3244,14 @@ sub_817E684: @ 817E684 movs r2, 0x81 lsls r2, 2 adds r7, r0, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r3, r0, 24 mov r0, r10 @@ -3297,8 +3297,8 @@ _0817E6F0: .4byte _0817E760 .4byte _0817E760 _0817E760: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -3324,13 +3324,13 @@ _0817E760: _0817E79C: ldr r1, =gUnknown_0860A834 add r1, r12 - ldr r7, =gBattlePartyID + ldr r7, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r4 lsls r2, r0, 4 ldr r4, =0x0000ffff ldr r1, [r1] - ldr r3, =gBankAttacker + ldr r3, =gBattlerAttacker ldrh r0, [r1] cmp r6, r0 bne _0817E7E0 @@ -3708,15 +3708,15 @@ sub_817EA80: @ 817EA80 movs r1, 0x81 lsls r1, 2 adds r5, r0, r1 - ldr r3, =gBankAttacker + ldr r3, =gBattlerAttacker mov r8, r3 ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 lsls r0, r4, 1 @@ -4005,8 +4005,8 @@ _0817ECCC: ldrb r0, [r0] lsrs r0, 5 subs r6, r0, 0x1 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -4164,8 +4164,8 @@ _0817EE1C: cmp r7, 0x1 bne _0817EEBC adds r2, r4, 0 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -4227,7 +4227,7 @@ _0817EE8E: b _0817EEBC _0817EE96: adds r2, r4, 0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes mov r3, r8 ldrb r0, [r3] lsls r0, 1 @@ -4269,9 +4269,9 @@ sub_817EECC: @ 817EECC beq _0817EEE6 b _0817F1FA _0817EEE6: - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4291,7 +4291,7 @@ _0817EEF8: bgt _0817EF10 b _0817F1FA _0817EF10: - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] muls r0, r1 adds r0, r5 @@ -4367,7 +4367,7 @@ _0817EF8A: beq _0817EF98 b _0817F1FA _0817EF98: - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] adds r0, r6 ldrb r0, [r0] @@ -4386,11 +4386,11 @@ _0817EF98: mov r10, r3 mov r8, r0 add r7, sp, 0x10 - ldr r4, =gBankTarget + ldr r4, =gBattlerTarget mov r9, r4 _0817EFC2: lsls r1, r5, 1 - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r0, [r6] movs r2, 0x58 muls r0, r2 @@ -4411,16 +4411,16 @@ _0817EFC2: lsls r0, 24 cmp r0, 0 beq _0817F0B4 - ldr r4, =gSideAffecting + ldr r4, =gSideStatuses mov r1, r9 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 lsls r1, 1 adds r1, r4 ldrh r3, [r1] - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] movs r4, 0x58 muls r0, r4 @@ -4437,7 +4437,7 @@ _0817EFC2: str r4, [sp] movs r4, 0 str r4, [sp, 0x4] - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r4, [r6] str r4, [sp, 0x8] mov r6, r9 @@ -4448,7 +4448,7 @@ _0817EFC2: ldr r4, =gBattleMoveDamage str r3, [r4] ldr r1, =gStatuses3 - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] lsls r0, 2 adds r0, r1 @@ -4472,7 +4472,7 @@ _0817EFC2: str r0, [r4] _0817F06A: ldr r0, =gProtectStructs - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r1, [r6] lsls r1, 4 adds r1, r0 @@ -4513,9 +4513,9 @@ _0817F0B4: cmp r5, 0x3 ble _0817EFC2 movs r5, 0 - ldr r3, =gBankAttacker + ldr r3, =gBattlerAttacker ldr r6, =gMoveSelectionCursor - ldr r4, =gBattlePartyID + ldr r4, =gBattlerPartyIndexes mov r8, r4 movs r7, 0x64 mov r9, r7 @@ -4545,9 +4545,9 @@ _0817F0D8: movs r7, 0 _0817F0F6: movs r5, 0 - ldr r4, =gBankTarget + ldr r4, =gBattlerTarget ldr r6, =gEnemyParty - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] add r0, r10 ldrb r3, [r0] @@ -4582,7 +4582,7 @@ _0817F11A: adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] lsls r0, 1 add r0, r8 @@ -4598,7 +4598,7 @@ _0817F11A: adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r3, [r4] mov r2, r10 adds r0, r3, r2 @@ -4625,7 +4625,7 @@ _0817F1D4: _0817F1DC: ldr r2, =gBattleMoveDamage ldr r1, =gMoveSelectionCursor - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -4695,7 +4695,7 @@ _0817F270: cmp r2, 0x95 bne _0817F294 ldr r2, =gBattleMons - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -4793,15 +4793,15 @@ _0817F324: .pool thumb_func_end sub_817F2A8 - thumb_func_start GetBankMoveSlotId -GetBankMoveSlotId: @ 817F33C + thumb_func_start GetBattlerMoveSlotId +GetBattlerMoveSlotId: @ 817F33C push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r1, 16 lsrs r7, r1, 16 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r6, =gEnemyParty cmp r0, 0 @@ -4809,7 +4809,7 @@ GetBankMoveSlotId: @ 817F33C ldr r6, =gPlayerParty _0817F356: movs r4, 0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r5, r0, r1 b _0817F36E @@ -4835,7 +4835,7 @@ _0817F388: pop {r4-r7} pop {r1} bx r1 - thumb_func_end GetBankMoveSlotId + thumb_func_end GetBattlerMoveSlotId thumb_func_start sub_817F394 sub_817F394: @ 817F394 diff --git a/asm/battle_records.s b/asm/battle_records.s index c961aefe3..f688144d9 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -496,7 +496,7 @@ sub_813C2F4: @ 813C2F4 movs r2, 0xD0 bl GetStringCenterAlignXOffset adds r3, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId ldrb r0, [r0] lsls r3, 24 lsrs r3, 24 @@ -531,7 +531,7 @@ sub_813C384: @ 813C384 ldr r7, [r6, 0xC] cmp r7, 0 bne _0813C40C - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] ldr r2, =gUnknown_085B3D84 @@ -587,7 +587,7 @@ _0813C40C: lsrs r1, 24 ldr r0, =gStringVar1 bl ConvertInternationalString - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] lsls r4, 3 @@ -661,13 +661,13 @@ sub_813C4BC: @ 813C4BC mov r6, r8 push {r6,r7} sub sp, 0xC - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldr r0, =gUnknown_085B3D7C bl AddWindow strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6] movs r1, 0x11 bl FillWindowPixelBuffer @@ -729,7 +729,7 @@ _0813C540: adds r4, 0x1 cmp r4, 0x4 ble _0813C540 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldrb r0, [r4] bl PutWindowTilemap ldrb r0, [r4] @@ -748,7 +748,7 @@ _0813C540: thumb_func_start sub_813C5A0 sub_813C5A0: @ 813C5A0 push {r4,lr} - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldrb r0, [r4] movs r1, 0 bl sub_819746C @@ -1034,7 +1034,7 @@ _0813C6FA: thumb_func_start sub_813C80C sub_813C80C: @ 813C80C push {lr} - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl ResetPaletteFade diff --git a/asm/battle_setup.s b/asm/battle_setup.s deleted file mode 100644 index 5c7196579..000000000 --- a/asm/battle_setup.s +++ /dev/null @@ -1,3550 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start task01_battle_start -task01_battle_start: @ 80B05F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B0614 - cmp r0, 0x1 - beq _080B062E - b _080B0652 - .pool -_080B0614: - bl c3_80A0DD8_is_running - cmp r0, 0 - bne _080B0652 - ldrb r0, [r4, 0x2] - bl sub_8145EF4 - bl sub_81BE72C - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080B0652 -_080B062E: - bl IsBattleTransitionDone - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B0652 - bl overworld_free_bg_tilemaps - ldr r0, =CB2_InitBattle - bl SetMainCallback2 - bl prev_quest_postbuffer_cursor_backup_reset - bl overworld_poison_timer_set - adds r0, r5, 0 - bl DestroyTask -_080B0652: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task01_battle_start - - thumb_func_start task_add_01_battle_start -task_add_01_battle_start: @ 80B065C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =task01_battle_start - movs r1, 0x1 - 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, 0xA] - adds r0, r5, 0 - bl PlayMapChosenOrBattleBGM - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_add_01_battle_start - - thumb_func_start sub_80B0698 -sub_80B0698: @ 80B0698 - push {lr} - bl GetSafariZoneFlag - cmp r0, 0 - beq _080B06A8 - bl sub_80B077C - b _080B06AC -_080B06A8: - bl sub_80B06BC -_080B06AC: - pop {r0} - bx r0 - thumb_func_end sub_80B0698 - - thumb_func_start sub_80B06B0 -sub_80B06B0: @ 80B06B0 - push {lr} - bl sub_80B07B4 - pop {r0} - bx r0 - thumb_func_end sub_80B06B0 - - thumb_func_start sub_80B06BC -sub_80B06BC: @ 80B06BC - push {r4,lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80B0AF8 - str r0, [r1, 0x8] - ldr r4, =gBattleTypeFlags - movs r0, 0 - str r0, [r4] - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B06F2 - ldr r0, =0x0000400e - movs r1, 0 - bl VarSet - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 14 - orrs r0, r1 - str r0, [r4] -_080B06F2: - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B06BC - - thumb_func_start sub_80B072C -sub_80B072C: @ 80B072C - push {lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80B0AF8 - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 3 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B072C - - thumb_func_start sub_80B077C -sub_80B077C: @ 80B077C - push {lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80FC190 - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B077C - - thumb_func_start sub_80B07B4 -sub_80B07B4: @ 80B07B4 - push {lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80B0AF8 - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 13 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B07B4 - - thumb_func_start task_add_01_battle_start_with_music_and_stats -task_add_01_battle_start_with_music_and_stats: @ 80B0804 - push {lr} - bl reads_trainer_data_byte1_byte0x18 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x9 - bl IncrementGameStat - bl sub_80B1234 - pop {r0} - bx r0 - thumb_func_end task_add_01_battle_start_with_music_and_stats - - thumb_func_start sub_80B0828 -sub_80B0828: @ 80B0828 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B0846 - movs r0, 0xA - bl sub_80B100C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - b _080B0856 -_080B0846: - movs r0, 0xB - bl sub_80B100C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start -_080B0856: - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x9 - bl IncrementGameStat - bl sub_80B1234 - pop {r0} - bx r0 - thumb_func_end sub_80B0828 - - thumb_func_start sub_80B086C -sub_80B086C: @ 80B086C - push {lr} - ldr r0, =gEnemyParty - movs r1, 0xC4 - lsls r1, 1 - movs r2, 0x5 - bl CreateMaleMon - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 2 - str r0, [r1] - movs r0, 0x8 - movs r1, 0 - bl task_add_01_battle_start - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B086C - - thumb_func_start BattleSetup_StartScriptedWildBattle -BattleSetup_StartScriptedWildBattle: @ 80B08A8 - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end BattleSetup_StartScriptedWildBattle - - thumb_func_start sub_80B08EC -sub_80B08EC: @ 80B08EC - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 6 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B08EC - - thumb_func_start sub_80B0934 -sub_80B0934: @ 80B0934 - push {r4,lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r4, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 6 - str r0, [r4] - ldr r0, =gEnemyParty - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0xCA - lsls r0, 1 - cmp r1, r0 - beq _080B09B8 - cmp r1, r0 - bhi _080B0988 - cmp r1, 0x97 - beq _080B09F4 - cmp r1, 0x97 - bcc _080B099A - cmp r1, 0xFA - bhi _080B099A - cmp r1, 0xF9 - bcc _080B099A - ldr r1, =0x00000229 - b _080B09E6 - .pool -_080B0988: - movs r0, 0xCB - lsls r0, 1 - cmp r1, r0 - beq _080B09CE - cmp r1, r0 - bcc _080B099A - adds r0, 0x4 - cmp r1, r0 - beq _080B09E4 -_080B099A: - ldr r2, =gBattleTypeFlags - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 21 - orrs r0, r1 - str r0, [r2] - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0x17 - bl task_add_01_battle_start - b _080B09FE - .pool -_080B09B8: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 22 - orrs r0, r1 - str r0, [r4] - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0x16 - bl task_add_01_battle_start - b _080B09FE -_080B09CE: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 23 - orrs r0, r1 - str r0, [r4] - movs r1, 0xEB - lsls r1, 1 - movs r0, 0x18 - bl task_add_01_battle_start - b _080B09FE -_080B09E4: - ldr r1, =0x00000227 -_080B09E6: - movs r0, 0 - bl task_add_01_battle_start - b _080B09FE - .pool -_080B09F4: - movs r1, 0xEC - lsls r1, 1 - movs r0, 0xA - bl task_add_01_battle_start -_080B09FE: - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B0934 - - thumb_func_start sub_80B0A18 -sub_80B0A18: @ 80B0A18 - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0xC0 - lsls r0, 6 - str r0, [r1] - ldr r0, =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B0A50 - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0xB - bl task_add_01_battle_start - b _080B0A5A - .pool -_080B0A50: - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0x6 - bl task_add_01_battle_start -_080B0A5A: - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - thumb_func_end sub_80B0A18 - - thumb_func_start sub_80B0A74 -sub_80B0A74: @ 80B0A74 - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0xC0 - lsls r0, 7 - str r0, [r1] - ldr r0, =gEnemyParty - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - movs r0, 0xC9 - lsls r0, 1 - cmp r1, r0 - beq _080B0ACC - cmp r1, r0 - bgt _080B0ABC - subs r0, 0x1 - cmp r1, r0 - beq _080B0AC8 - b _080B0AD4 - .pool -_080B0ABC: - ldr r0, =0x00000193 - cmp r2, r0 - beq _080B0AD0 - b _080B0AD4 - .pool -_080B0AC8: - movs r0, 0x15 - b _080B0AD6 -_080B0ACC: - movs r0, 0x13 - b _080B0AD6 -_080B0AD0: - movs r0, 0x14 - b _080B0AD6 -_080B0AD4: - movs r0, 0xA -_080B0AD6: - ldr r1, =0x000001df - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0A74 - - thumb_func_start sub_80B0AF8 -sub_80B0AF8: @ 80B0AF8 - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 19 - ldr r2, =0x01000100 - mov r0, sp - bl CpuSet - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B0B4C - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B0B4C - bl InBattlePike - lsls r0, 24 - cmp r0, 0 - bne _080B0B4C - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B0B58 - .pool -_080B0B4C: - ldr r0, =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF6F0 - str r0, [r1] -_080B0B58: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0AF8 - - thumb_func_start sub_80B0B6C -sub_80B0B6C: @ 80B0B6C - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 19 - ldr r2, =0x01000100 - mov r0, sp - bl CpuSet - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B0BC0 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B0BB4 - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - b _080B0BC6 - .pool -_080B0BB4: - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B0BC6 - .pool -_080B0BC0: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_080B0BC6: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0B6C - - thumb_func_start BattleSetup_GetTerrainId -BattleSetup_GetTerrainId: @ 80B0BD0 - push {r4,r5,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _080B0C06 - movs r0, 0 - b _080B0D1A -_080B0C06: - adds r0, r4, 0 - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080B0C16 - movs r0, 0x1 - b _080B0D1A -_080B0C16: - adds r0, r4, 0 - bl MetatileBehavior_IsSandOrDeepSand - lsls r0, 24 - cmp r0, 0 - bne _080B0D18 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - subs r0, 0x1 - cmp r0, 0x8 - bhi _080B0C9C - lsls r0, 2 - ldr r1, =_080B0C40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B0C40: - .4byte _080B0C9C - .4byte _080B0C9C - .4byte _080B0C9C - .4byte _080B0C64 - .4byte _080B0C88 - .4byte _080B0C8C - .4byte _080B0C9C - .4byte _080B0C74 - .4byte _080B0C74 -_080B0C64: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsMB_0B - lsls r0, 24 - cmp r0, 0 - beq _080B0C78 -_080B0C74: - movs r0, 0x8 - b _080B0D1A -_080B0C78: - adds r0, r4, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0CE0 - movs r0, 0x7 - b _080B0D1A -_080B0C88: - movs r0, 0x3 - b _080B0D1A -_080B0C8C: - lsls r0, r5, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0CF2 - b _080B0D10 -_080B0C9C: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsDeepOrOceanWater - lsls r0, 24 - cmp r0, 0 - bne _080B0CF2 - adds r0, r4, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0CE0 - adds r0, r4, 0 - bl MetatileBehavior_IsMountain - lsls r0, 24 - cmp r0, 0 - beq _080B0CC8 - movs r0, 0x6 - b _080B0D1A -_080B0CC8: - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080B0CF6 - adds r0, r4, 0 - bl MetatileBehavior_GetBridgeSth - lsls r0, 24 - cmp r0, 0 - beq _080B0CE4 -_080B0CE0: - movs r0, 0x5 - b _080B0D1A -_080B0CE4: - adds r0, r4, 0 - bl MetatileBehavior_IsBridge - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B0CF6 -_080B0CF2: - movs r0, 0x4 - b _080B0D1A -_080B0CF6: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xE0 - lsls r0, 5 - cmp r1, r0 - beq _080B0D18 - bl sav1_get_weather_probably - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - beq _080B0D18 -_080B0D10: - movs r0, 0x9 - b _080B0D1A - .pool -_080B0D18: - movs r0, 0x2 -_080B0D1A: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end BattleSetup_GetTerrainId - - thumb_func_start sub_80B0D24 -sub_80B0D24: @ 80B0D24 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r4, r0, 16 - bl sav1_get_flash_used_on_map - lsls r0, 24 - cmp r0, 0 - beq _080B0D54 - movs r0, 0x2 - b _080B0D7E -_080B0D54: - lsls r0, r4, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0D7C - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x4 - beq _080B0D78 - cmp r0, 0x5 - beq _080B0D7C - movs r0, 0 - b _080B0D7E - .pool -_080B0D78: - movs r0, 0x1 - b _080B0D7E -_080B0D7C: - movs r0, 0x3 -_080B0D7E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B0D24 - - thumb_func_start sub_80B0D88 -sub_80B0D88: @ 80B0D88 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0 - movs r6, 0 -_080B0D92: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - adds r1, r0, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _080B0DD6 - cmp r1, 0 - beq _080B0DD6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080B0DD6 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - adds r0, r7, r0 - lsls r0, 24 - lsrs r7, r0, 24 - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080B0DDC -_080B0DD6: - adds r6, 0x1 - cmp r6, 0x5 - ble _080B0D92 -_080B0DDC: - adds r0, r7, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B0D88 - - thumb_func_start reads_trainer_data_byte0 -reads_trainer_data_byte0: @ 80B0DE8 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r5, =gTrainers - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r5 - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r4 - bcs _080B0E08 - adds r4, r0, 0 -_080B0E08: - movs r3, 0 - ldrb r0, [r2] - cmp r0, 0x1 - beq _080B0E50 - cmp r0, 0x1 - bgt _080B0E20 - cmp r0, 0 - beq _080B0E2A - b _080B0EC0 - .pool -_080B0E20: - cmp r0, 0x2 - beq _080B0E76 - cmp r0, 0x3 - beq _080B0E9C - b _080B0EC0 -_080B0E2A: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0E38: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0E38 - b _080B0EC0 -_080B0E50: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0E5E: - lsls r0, r2, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0E5E - b _080B0EC0 -_080B0E76: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0E84: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0E84 - b _080B0EC0 -_080B0E9C: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0EAA: - lsls r0, r2, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0EAA -_080B0EC0: - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end reads_trainer_data_byte0 - - thumb_func_start sub_80B0EC8 -sub_80B0EC8: @ 80B0EC8 - push {r4-r6,lr} - bl sub_80B0D24 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gEnemyParty - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_80B0D88 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _080B0F10 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B0F04 - movs r0, 0 - b _080B0F2E - .pool -_080B0F04: - ldr r0, =gUnknown_0854FE88 - lsls r1, r5, 1 - b _080B0F20 - .pool -_080B0F10: - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B0F2C - ldr r0, =gUnknown_0854FE88 - lsls r1, r6, 1 - adds r0, 0x1 -_080B0F20: - adds r1, r0 - ldrb r0, [r1] - b _080B0F2E - .pool -_080B0F2C: - movs r0, 0xA -_080B0F2E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B0EC8 - - thumb_func_start reads_trainer_data_byte1_byte0x18 -reads_trainer_data_byte1_byte0x18: @ 80B0F34 - push {r4-r6,lr} - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _080B0F98 - ldr r1, =gTrainers - ldrh r2, [r4] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x1] - cmp r1, 0x1F - bne _080B0F94 - adds r1, r2, 0 - ldr r0, =0x00000105 - cmp r1, r0 - bne _080B0F6C - movs r0, 0xC - b _080B1000 - .pool -_080B0F6C: - movs r0, 0x83 - lsls r0, 1 - cmp r1, r0 - bne _080B0F78 - movs r0, 0xD - b _080B1000 -_080B0F78: - ldr r0, =0x00000107 - cmp r1, r0 - bne _080B0F88 - movs r0, 0xE - b _080B1000 - .pool -_080B0F88: - movs r0, 0x84 - lsls r0, 1 - cmp r1, r0 - bne _080B0F98 - movs r0, 0xF - b _080B1000 -_080B0F94: - cmp r1, 0x26 - bne _080B0F9C -_080B0F98: - movs r0, 0x10 - b _080B1000 -_080B0F9C: - cmp r1, 0x9 - beq _080B0FA8 - cmp r1, 0x35 - beq _080B0FA8 - cmp r1, 0x31 - bne _080B0FAC -_080B0FA8: - movs r0, 0x12 - b _080B1000 -_080B0FAC: - cmp r1, 0x3 - beq _080B0FB8 - cmp r1, 0xD - beq _080B0FB8 - cmp r1, 0xB - bne _080B0FBC -_080B0FB8: - movs r0, 0x11 - b _080B1000 -_080B0FBC: - ldrb r0, [r0, 0x18] - movs r5, 0x1 - cmp r0, 0x1 - bne _080B0FC6 - movs r5, 0x2 -_080B0FC6: - bl sub_80B0D24 - lsls r0, 24 - lsrs r6, r0, 24 - ldrh r0, [r4] - adds r1, r5, 0 - bl reads_trainer_data_byte0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl sub_80B0D88 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _080B0FF8 - ldr r0, =gUnknown_0854FE90 - lsls r1, r6, 1 - adds r0, 0x1 - b _080B0FFC - .pool -_080B0FF8: - ldr r0, =gUnknown_0854FE90 - lsls r1, r6, 1 -_080B0FFC: - adds r1, r0 - ldrb r0, [r1] -_080B1000: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end reads_trainer_data_byte1_byte0x18 - - thumb_func_start sub_80B100C -sub_80B100C: @ 80B100C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gEnemyParty - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_80B0D88 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _080B1090 - cmp r5, 0xA - beq _080B1048 - cmp r5, 0xA - bgt _080B1040 - cmp r5, 0x3 - beq _080B105C - b _080B106C - .pool -_080B1040: - cmp r5, 0xD - bgt _080B106C - movs r0, 0x4 - b _080B1120 -_080B1048: - ldr r4, =gUnknown_0854FEA4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - b _080B1114 - .pool -_080B105C: - ldr r4, =gUnknown_0854FEA7 - bl Random - ands r5, r0 - lsls r0, r5, 16 - b _080B111A - .pool -_080B106C: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - beq _080B10EC - ldr r4, =gUnknown_0854FE98 - bl Random - lsls r0, 16 - lsrs r0, 16 - b _080B1112 - .pool -_080B1090: - cmp r5, 0xA - beq _080B10A6 - cmp r5, 0xA - bgt _080B109E - cmp r5, 0x3 - beq _080B10B8 - b _080B10C8 -_080B109E: - cmp r5, 0xD - bgt _080B10C8 - movs r0, 0x3 - b _080B1120 -_080B10A6: - ldr r4, =gUnknown_0854FEA4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - b _080B1114 - .pool -_080B10B8: - ldr r4, =gUnknown_0854FEA7 - bl Random - ands r5, r0 - lsls r0, r5, 16 - b _080B111A - .pool -_080B10C8: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - beq _080B10EC - ldr r4, =gUnknown_0854FE98 - bl Random - lsls r0, 16 - lsrs r0, 16 - b _080B1112 - .pool -_080B10EC: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, =0x00000cb2 - adds r0, r1, r2 - ldrh r0, [r0] - lsls r2, r0, 2 - ldr r3, =0x00000cb4 - adds r1, r3 - adds r2, r1, r2 - lsls r0, 1 - adds r0, 0x1 - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gUnknown_0854FE98 -_080B1112: - movs r1, 0xC -_080B1114: - bl __umodsi3 - lsls r0, 16 -_080B111A: - lsrs r0, 16 - adds r0, r4 - ldrb r0, [r0] -_080B1120: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B100C - - thumb_func_start sub_80B1138 -sub_80B1138: @ 80B1138 - push {lr} - ldr r0, =set_256color_bg_bg0 - bl SetMainCallback2 - ldr r1, =gMain - ldr r0, =sub_80B1158 - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1138 - - thumb_func_start sub_80B1158 -sub_80B1158: @ 80B1158 - push {lr} - sub sp, 0x8 - ldr r0, =0x00004023 - bl GetVarPointer - ldr r2, =gScriptResult - ldrh r1, [r2] - strh r1, [r0] - ldrh r0, [r2] - bl sub_8133EDC - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0x5 - movs r2, 0 - movs r3, 0 - bl ScriptGiveMon - bl ResetTasks - bl PlayBattleBGM - ldr r0, =sub_80B11A8 - bl SetMainCallback2 - movs r0, 0 - bl sub_8145F10 - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1158 - - thumb_func_start sub_80B11A8 -sub_80B11A8: @ 80B11A8 - push {lr} - bl UpdatePaletteFade - bl RunTasks - bl IsBattleTransitionDone - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B11F0 - ldr r1, =gBattleTypeFlags - movs r0, 0x10 - str r0, [r1] - ldr r1, =gMain - ldr r0, =sub_80B1204 - str r0, [r1, 0x8] - bl FreeAllWindowBuffers - ldr r0, =CB2_InitBattle - bl SetMainCallback2 - bl prev_quest_postbuffer_cursor_backup_reset - bl overworld_poison_timer_set - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 -_080B11F0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B11A8 - - thumb_func_start sub_80B1204 -sub_80B1204: @ 80B1204 - push {lr} - bl sav1_reset_battle_music_maybe - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1204 - - thumb_func_start sub_80B1218 -sub_80B1218: @ 80B1218 - push {lr} - movs r0, 0x8 - bl GetGameStat - movs r1, 0x3C - bl __umodsi3 - cmp r0, 0 - bne _080B122E - bl sub_81DA57C -_080B122E: - pop {r0} - bx r0 - thumb_func_end sub_80B1218 - - thumb_func_start sub_80B1234 -sub_80B1234: @ 80B1234 - push {lr} - movs r0, 0x9 - bl GetGameStat - movs r1, 0x14 - bl __umodsi3 - cmp r0, 0 - bne _080B124A - bl sub_81DA57C -_080B124A: - pop {r0} - bx r0 - thumb_func_end sub_80B1234 - - thumb_func_start TrainerBattleLoadArg32 -@ u32 TrainerBattleLoadArg32(u8 *arg) -TrainerBattleLoadArg32: @ 80B1250 - adds r2, r0, 0 - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - orrs r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - orrs r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - orrs r0, r1 - bx lr - thumb_func_end TrainerBattleLoadArg32 - - thumb_func_start TrainerBattleLoadArg16 -@ u16 TrainerBattleLoadArg16(u8 *arg) -TrainerBattleLoadArg16: @ 80B1268 - adds r1, r0, 0 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - lsls r1, 8 - orrs r0, r1 - bx lr - thumb_func_end TrainerBattleLoadArg16 - - thumb_func_start TrainerBattleLoadArg8 -@ u8 TrainerBattleLoadArg8(u8 *arg) -TrainerBattleLoadArg8: @ 80B1274 - ldrb r0, [r0] - bx lr - thumb_func_end TrainerBattleLoadArg8 - - thumb_func_start trainerflag_opponent -trainerflag_opponent: @ 80B1278 - ldr r1, =gTrainerBattleOpponent_A - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .pool - thumb_func_end trainerflag_opponent - - thumb_func_start sub_80B1290 -sub_80B1290: @ 80B1290 - ldr r1, =gTrainerBattleOpponent_B - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_80B1290 - - thumb_func_start battle_exit_is_player_defeat -battle_exit_is_player_defeat: @ 80B12A8 - push {lr} - subs r0, 0x1 - cmp r0, 0x6 - bhi _080B12E0 - lsls r0, 2 - ldr r1, =_080B12C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B12C0: - .4byte _080B12E0 - .4byte _080B12DC - .4byte _080B12DC - .4byte _080B12E0 - .4byte _080B12E0 - .4byte _080B12E0 - .4byte _080B12E0 -_080B12DC: - movs r0, 0x1 - b _080B12E2 -_080B12E0: - movs r0, 0 -_080B12E2: - pop {r1} - bx r1 - thumb_func_end battle_exit_is_player_defeat - - thumb_func_start ResetTrainerOpponentIds -ResetTrainerOpponentIds: @ 80B12E8 - ldr r0, =gTrainerBattleOpponent_A - movs r1, 0 - strh r1, [r0] - ldr r0, =gTrainerBattleOpponent_B - strh r1, [r0] - bx lr - .pool - thumb_func_end ResetTrainerOpponentIds - - thumb_func_start InitTrainerBattleVariables -@ void InitTrainerBattleVariables() -InitTrainerBattleVariables: @ 80B12FC - push {lr} - ldr r0, =gUnknown_02038BC8 - movs r1, 0 - strh r1, [r0] - ldr r0, =gUnknown_02038BFC - ldrb r1, [r0] - cmp r1, 0 - bne _080B132C - ldr r0, =gUnknown_02038BD4 - str r1, [r0] - ldr r0, =gUnknown_02038BDC - str r1, [r0] - ldr r0, =gUnknown_02038BF0 - b _080B1338 - .pool -_080B132C: - ldr r0, =gUnknown_02038BD8 - movs r1, 0 - str r1, [r0] - ldr r0, =gUnknown_02038BE0 - str r1, [r0] - ldr r0, =gUnknown_02038BF4 -_080B1338: - str r1, [r0] - ldr r1, =gUnknown_02038BD0 - movs r0, 0 - strh r0, [r1] - ldr r0, =gUnknown_02038BE4 - movs r1, 0 - str r1, [r0] - ldr r0, =gUnknown_02038BE8 - str r1, [r0] - ldr r0, =gUnknown_02038BEC - str r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end InitTrainerBattleVariables - - thumb_func_start TrainerBattleLoadArgs -@ void TrainerBattleLoadArgs(struct TrainerBattleArgSpec *argSpecs, u8 *args) -TrainerBattleLoadArgs: @ 80B1370 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 -_080B1376: - ldrb r0, [r4, 0x4] - cmp r0, 0x6 - bhi _080B13E8 - lsls r0, 2 - ldr r1, =_080B138C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B138C: - .4byte _080B13A8 - .4byte _080B13B6 - .4byte _080B13C4 - .4byte _080B13D2 - .4byte _080B13DA - .4byte _080B13E2 - .4byte _080B13EC -_080B13A8: - adds r0, r5, 0 - bl TrainerBattleLoadArg8 - ldr r1, [r4] - strb r0, [r1] - adds r5, 0x1 - b _080B13E8 -_080B13B6: - adds r0, r5, 0 - bl TrainerBattleLoadArg16 - ldr r1, [r4] - strh r0, [r1] - adds r5, 0x2 - b _080B13E8 -_080B13C4: - adds r0, r5, 0 - bl TrainerBattleLoadArg32 - ldr r1, [r4] - str r0, [r1] - adds r5, 0x4 - b _080B13E8 -_080B13D2: - ldr r1, [r4] - movs r0, 0 - strb r0, [r1] - b _080B13E8 -_080B13DA: - ldr r1, [r4] - movs r0, 0 - strh r0, [r1] - b _080B13E8 -_080B13E2: - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_080B13E8: - adds r4, 0x8 - b _080B1376 -_080B13EC: - ldr r0, [r4] - str r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end TrainerBattleLoadArgs - - thumb_func_start battle_80801F0 -battle_80801F0: @ 80B13F8 - push {lr} - ldr r0, =gUnknown_02038BD0 - ldrh r1, [r0] - cmp r1, 0 - beq _080B141A - ldr r0, =gScriptLastTalked - strh r1, [r0] - lsls r0, r1, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl GetFieldObjectIdByLocalIdAndMap - ldr r1, =gSelectedMapObject - strb r0, [r1] -_080B141A: - pop {r0} - bx r0 - .pool - thumb_func_end battle_80801F0 - - thumb_func_start BattleSetup_ConfigureTrainerBattle -@ u8 *BattleSetup_ConfigureTrainerBattle(u8 *args) -BattleSetup_ConfigureTrainerBattle: @ 80B1430 - push {r4,r5,lr} - adds r5, r0, 0 - bl InitTrainerBattleVariables - ldr r4, =gUnknown_02038BC8 - adds r0, r5, 0 - bl TrainerBattleLoadArg8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r0, [r4] - subs r0, 0x1 - cmp r0, 0xB - bls _080B1450 - b _080B15F4 -_080B1450: - lsls r0, 2 - ldr r1, =_080B1464 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B1464: - .4byte _080B14CC - .4byte _080B14B0 - .4byte _080B1494 - .4byte _080B14A8 - .4byte _080B1514 - .4byte _080B14D4 - .4byte _080B14EC - .4byte _080B14D4 - .4byte _080B153C - .4byte _080B1590 - .4byte _080B1598 - .4byte _080B15A8 -_080B1494: - ldr r0, =gUnknown_0854FF84 - adds r1, r5, 0 - bl TrainerBattleLoadArgs - ldr r0, =gUnknown_082713C2 - b _080B161E - .pool -_080B14A8: - ldr r0, =gUnknown_0854FF3C - b _080B14D6 - .pool -_080B14B0: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B14C4 - ldr r0, =gUnknown_0854FEF4 - b _080B15FE - .pool -_080B14C4: - ldr r0, =gUnknown_0855005C - b _080B1616 - .pool -_080B14CC: - ldr r0, =gUnknown_0854FEF4 - b _080B15FE - .pool -_080B14D4: - ldr r0, =gUnknown_0854FFCC -_080B14D6: - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r0, =gUnknown_0827138A - b _080B161E - .pool -_080B14EC: - ldr r0, =gUnknown_0854FF3C - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r4, =gTrainerBattleOpponent_A - ldrh r0, [r4] - bl sub_80B2234 - strh r0, [r4] - ldr r0, =gUnknown_082713F8 - b _080B161E - .pool -_080B1514: - ldr r0, =gUnknown_0854FEAC - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r4, =gTrainerBattleOpponent_A - ldrh r0, [r4] - bl sub_80B2234 - strh r0, [r4] - ldr r0, =gUnknown_082713D1 - b _080B161E - .pool -_080B153C: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B156C - ldr r0, =gUnknown_0854FEAC - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl sub_81A9AA8 - ldr r1, =gTrainerBattleOpponent_A - b _080B157E - .pool -_080B156C: - ldr r0, =gUnknown_08550014 - adds r1, r5, 0 - bl TrainerBattleLoadArgs - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl sub_81A9AA8 -_080B157C: - ldr r1, =gTrainerBattleOpponent_B -_080B157E: - strh r0, [r1] - b _080B161C - .pool -_080B1590: - ldr r0, =gUnknown_0854FEAC - b _080B159A - .pool -_080B1598: - ldr r0, =gUnknown_08550014 -_080B159A: - adds r1, r5, 0 - bl TrainerBattleLoadArgs - movs r0, 0 - b _080B161E - .pool -_080B15A8: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B15D8 - ldr r0, =gUnknown_0854FEAC - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl battle_init - ldr r1, =gTrainerBattleOpponent_A - b _080B157E - .pool -_080B15D8: - ldr r0, =gUnknown_08550014 - adds r1, r5, 0 - bl TrainerBattleLoadArgs - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl battle_init - b _080B157C - .pool -_080B15F4: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B1614 - ldr r0, =gUnknown_0854FEAC -_080B15FE: - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - b _080B161C - .pool -_080B1614: - ldr r0, =gUnknown_08550014 -_080B1616: - adds r1, r5, 0 - bl TrainerBattleLoadArgs -_080B161C: - ldr r0, =gUnknown_08271362 -_080B161E: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end BattleSetup_ConfigureTrainerBattle - - thumb_func_start SingleTrainerWantsBattle -@ void SingleTrainerWantsBattle(u8 trainerFieldObjectId, u8 *trainerScript) -SingleTrainerWantsBattle: @ 80B162C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSelectedMapObject - strb r0, [r2] - ldr r4, =gScriptLastTalked - ldr r3, =gMapObjects - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r0, [r2, 0x8] - strh r0, [r4] - adds r1, 0x1 - adds r0, r1, 0 - bl BattleSetup_ConfigureTrainerBattle - ldr r0, =gUnknown_08271354 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end SingleTrainerWantsBattle - - thumb_func_start TwoTrainersWantBattle -@ void TwoTrainersWantBattle(u8 trainerFieldObjectId, u8 *trainerScript) -TwoTrainersWantBattle: @ 80B1670 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSelectedMapObject - strb r0, [r2] - ldr r4, =gScriptLastTalked - ldr r3, =gMapObjects - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r0, [r2, 0x8] - strh r0, [r4] - adds r1, 0x1 - adds r0, r1, 0 - bl BattleSetup_ConfigureTrainerBattle - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end TwoTrainersWantBattle - - thumb_func_start TwoTrainersWantBattleExecuteScript -@ void TwoTrainersWantBattleExecuteScript() -TwoTrainersWantBattleExecuteScript: @ 80B16A4 - push {lr} - ldr r0, =gUnknown_08271354 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end TwoTrainersWantBattleExecuteScript - - thumb_func_start GetTrainerFlagFromScriptPointer -@ u8 GetTrainerFlagFromScriptPointer(u8 *scriptPointer) -GetTrainerFlagFromScriptPointer: @ 80B16B8 - push {lr} - adds r0, 0x2 - bl TrainerBattleLoadArg16 - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetTrainerFlagFromScriptPointer - - thumb_func_start sub_80B16D8 -sub_80B16D8: @ 80B16D8 - push {r4,lr} - ldr r0, =gSelectedMapObject - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl npc_set_running_behaviour_etc - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B16D8 - - thumb_func_start sub_80B170C -sub_80B170C: @ 80B170C - ldr r0, =gUnknown_02038BC8 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80B170C - - thumb_func_start check_trainer_flag -@ pokescrcmd -check_trainer_flag: @ 80B1718 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B1734 - ldr r0, =gSelectedMapObject - ldrb r0, [r0] - bl GetBattlePyramidTrainerFlag - b _080B1752 - .pool -_080B1734: - bl InTrainerHill - cmp r0, 0 - bne _080B174A - bl trainerflag_opponent - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - b _080B1752 -_080B174A: - ldr r0, =gSelectedMapObject - ldrb r0, [r0] - bl GetTrainerHillTrainerFlag -_080B1752: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end check_trainer_flag - - thumb_func_start rom_npc_set_flag_for_script_id -rom_npc_set_flag_for_script_id: @ 80B1760 - push {lr} - ldr r0, =gTrainerBattleOpponent_B - ldrh r0, [r0] - cmp r0, 0 - beq _080B1776 - bl sub_80B1290 - lsls r0, 16 - lsrs r0, 16 - bl FlagSet -_080B1776: - bl trainerflag_opponent - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end rom_npc_set_flag_for_script_id - - thumb_func_start sub_80B178C -sub_80B178C: @ 80B178C - push {lr} - bl trainerflag_opponent - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - pop {r0} - bx r0 - thumb_func_end sub_80B178C - - thumb_func_start HasTrainerAlreadyBeenFought -HasTrainerAlreadyBeenFought: @ 80B17A0 - push {lr} - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end HasTrainerAlreadyBeenFought - - thumb_func_start trainer_flag_set -trainer_flag_set: @ 80B17B8 - push {lr} - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagSet - pop {r0} - bx r0 - thumb_func_end trainer_flag_set - - thumb_func_start trainer_flag_clear -trainer_flag_clear: @ 80B17CC - push {lr} - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagClear - pop {r0} - bx r0 - thumb_func_end trainer_flag_clear - - thumb_func_start BattleSetup_StartTrainerBattle -BattleSetup_StartTrainerBattle: @ 80B17E0 - push {r4,lr} - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B17FC - ldr r1, =gBattleTypeFlags - ldr r0, =0x00008009 - b _080B1800 - .pool -_080B17FC: - ldr r1, =gBattleTypeFlags - movs r0, 0x8 -_080B1800: - str r0, [r1] - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B1884 - ldr r0, =0x0000400e - movs r1, 0 - bl VarSet - ldr r2, =gBattleTypeFlags - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 14 - orrs r0, r1 - str r0, [r2] - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B1864 - movs r0, 0x1 - bl sub_816306C - ldr r4, =gEnemyParty + 100 - adds r0, r4, 0 - bl ZeroMonData - adds r0, r4, 0 - adds r0, 0x64 - bl ZeroMonData - movs r1, 0x96 - lsls r1, 1 - adds r0, r4, r1 - bl ZeroMonData - movs r1, 0xC8 - lsls r1, 1 - adds r0, r4, r1 - bl ZeroMonData - b _080B187A - .pool -_080B1864: - movs r0, 0x1 - bl sub_8163048 - ldr r4, =gEnemyParty + 100 - adds r0, r4, 0 - bl ZeroMonData - adds r4, 0x64 - adds r0, r4, 0 - bl ZeroMonData -_080B187A: - bl sub_81A9B04 - b _080B18B8 - .pool -_080B1884: - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B18B8 - ldr r2, =gBattleTypeFlags - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 19 - orrs r0, r1 - str r0, [r2] - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B18B0 - bl sub_81D639C - b _080B18B4 - .pool -_080B18B0: - bl sub_81D6384 -_080B18B4: - bl sub_81D61E8 -_080B18B8: - ldr r1, =gUnknown_02038BF9 - ldr r2, =gUnknown_030060A8 - ldrb r0, [r2] - strb r0, [r1] - movs r1, 0 - strb r1, [r2] - ldr r0, =gUnknown_02038BF8 - strb r1, [r0] - ldr r1, =gUnknown_03006080 - movs r0, 0 - strh r0, [r1] - ldr r1, =gMain - ldr r0, =sub_80B1918 - str r0, [r1, 0x8] - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B18E8 - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B1908 -_080B18E8: - bl sub_80B0828 - b _080B190C - .pool -_080B1908: - bl task_add_01_battle_start_with_music_and_stats -_080B190C: - bl ScriptContext1_Stop - pop {r4} - pop {r0} - bx r0 - thumb_func_end BattleSetup_StartTrainerBattle - - thumb_func_start sub_80B1918 -sub_80B1918: @ 80B1918 - push {lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _080B1946 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B1968 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B1946 - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B195C -_080B1946: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - b _080B198A - .pool -_080B195C: - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B198A - .pool -_080B1968: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B198A - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - bne _080B198A - bl sub_80B20BC - bl rom_npc_set_flag_for_script_id -_080B198A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1918 - - thumb_func_start sub_80B1994 -sub_80B1994: @ 80B1994 - push {lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _080B19B4 - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - b _080B19E2 - .pool -_080B19B4: - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B19D0 - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B19E2 - .pool -_080B19D0: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - bl sub_80B20BC - bl rom_npc_set_flag_for_script_id - bl sub_80B22BC -_080B19E2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1994 - - thumb_func_start sub_80B19EC -sub_80B19EC: @ 80B19EC - push {lr} - ldr r1, =gBattleTypeFlags - movs r0, 0x8 - str r0, [r1] - ldr r1, =gMain - ldr r0, =sub_80B1994 - str r0, [r1, 0x8] - bl task_add_01_battle_start_with_music_and_stats - bl ScriptContext1_Stop - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B19EC - - thumb_func_start sub_80B1A14 -sub_80B1A14: @ 80B1A14 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B1A7C - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080B1A44 - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl sub_81A9AA8 - lsls r0, 16 - lsrs r0, 16 - bl sub_81A9EDC - b _080B1AD8 - .pool -_080B1A44: - ldr r3, =gMapObjects - ldr r2, =gUnknown_03006090 - ldr r0, =gUnknown_02038BFC - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x8] - bl sub_81A9AA8 - lsls r0, 16 - lsrs r0, 16 - bl sub_81A9EDC - b _080B1AD8 - .pool -_080B1A7C: - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B1AEC - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080B1AAC - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl battle_init - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x2 - bl sub_81D572C - b _080B1AD8 - .pool -_080B1AAC: - ldr r3, =gMapObjects - ldr r2, =gUnknown_03006090 - ldr r0, =gUnknown_02038BFC - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x8] - bl battle_init - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x2 - bl sub_81D572C -_080B1AD8: - bl sub_80982B8 - b _080B1AF4 - .pool -_080B1AEC: - bl sub_80B1C7C - bl ShowFieldMessage -_080B1AF4: - pop {r0} - bx r0 - thumb_func_end sub_80B1A14 - - thumb_func_start BattleSetup_GetScriptAddrAfterBattle -BattleSetup_GetScriptAddrAfterBattle: @ 80B1AF8 - push {lr} - ldr r0, =gUnknown_02038BEC - ldr r0, [r0] - cmp r0, 0 - bne _080B1B04 - ldr r0, =gUnknown_082C8436 -_080B1B04: - pop {r1} - bx r1 - .pool - thumb_func_end BattleSetup_GetScriptAddrAfterBattle - - thumb_func_start BattleSetup_GetTrainerPostBattleScript -BattleSetup_GetTrainerPostBattleScript: @ 80B1B10 - push {lr} - ldr r1, =gUnknown_02038BF8 - ldrb r2, [r1] - cmp r2, 0 - beq _080B1B3C - movs r0, 0 - strb r0, [r1] - ldr r0, =gUnknown_02038BF4 - ldr r2, [r0] - cmp r2, 0 - beq _080B1B54 - ldr r1, =gUnknown_03006080 - movs r0, 0x1 - strh r0, [r1] - adds r0, r2, 0 - b _080B1B56 - .pool -_080B1B3C: - ldr r0, =gUnknown_02038BF0 - ldr r1, [r0] - cmp r1, 0 - beq _080B1B54 - ldr r0, =gUnknown_03006080 - strh r2, [r0] - adds r0, r1, 0 - b _080B1B56 - .pool -_080B1B54: - ldr r0, =gUnknown_082742E6 -_080B1B56: - pop {r1} - bx r1 - .pool - thumb_func_end BattleSetup_GetTrainerPostBattleScript - - thumb_func_start special_trainer_unable_to_battle -special_trainer_unable_to_battle: @ 80B1B60 - push {lr} - bl sub_80B1D18 - bl ShowFieldMessage - pop {r0} - bx r0 - thumb_func_end special_trainer_unable_to_battle - - thumb_func_start SetUpTrainerEncounterMusic -@ void SetUpTrainerEncounterMusic() -SetUpTrainerEncounterMusic: @ 80B1B70 - push {lr} - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B1B88 - ldr r0, =gTrainerBattleOpponent_A - b _080B1B8A - .pool -_080B1B88: - ldr r0, =gTrainerBattleOpponent_B -_080B1B8A: - ldrh r1, [r0] - ldr r0, =gUnknown_02038BC8 - ldrh r0, [r0] - cmp r0, 0x1 - beq _080B1C62 - cmp r0, 0x8 - beq _080B1C62 - adds r0, r1, 0 - bl GetTrainerEncounterMusicId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bhi _080B1C5C - lsls r0, 2 - ldr r1, =_080B1BBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B1BBC: - .4byte _080B1BF4 - .4byte _080B1BFA - .4byte _080B1C04 - .4byte _080B1C5C - .4byte _080B1C0C - .4byte _080B1C12 - .4byte _080B1C1C - .4byte _080B1C24 - .4byte _080B1C2C - .4byte _080B1C34 - .4byte _080B1C3C - .4byte _080B1C42 - .4byte _080B1C4C - .4byte _080B1C54 -_080B1BF4: - movs r0, 0xBE - lsls r0, 1 - b _080B1C5E -_080B1BFA: - ldr r0, =0x00000197 - b _080B1C5E - .pool -_080B1C04: - ldr r0, =0x0000017b - b _080B1C5E - .pool -_080B1C0C: - movs r0, 0xD0 - lsls r0, 1 - b _080B1C5E -_080B1C12: - ldr r0, =0x000001a1 - b _080B1C5E - .pool -_080B1C1C: - ldr r0, =0x000001a3 - b _080B1C5E - .pool -_080B1C24: - ldr r0, =0x000001b9 - b _080B1C5E - .pool -_080B1C2C: - ldr r0, =0x00000181 - b _080B1C5E - .pool -_080B1C34: - ldr r0, =0x000001c1 - b _080B1C5E - .pool -_080B1C3C: - movs r0, 0xE1 - lsls r0, 1 - b _080B1C5E -_080B1C42: - ldr r0, =0x000001c3 - b _080B1C5E - .pool -_080B1C4C: - ldr r0, =0x000001c5 - b _080B1C5E - .pool -_080B1C54: - ldr r0, =0x0000018d - b _080B1C5E - .pool -_080B1C5C: - ldr r0, =0x000001a7 -_080B1C5E: - bl PlayNewMapMusic -_080B1C62: - pop {r0} - bx r0 - .pool - thumb_func_end SetUpTrainerEncounterMusic - - thumb_func_start ReturnEmptyStringIfNull -@ u8 *ReturnEmptyStringIfNull(u8 *str) -ReturnEmptyStringIfNull: @ 80B1C6C - push {lr} - cmp r0, 0 - bne _080B1C74 - ldr r0, =gText_EmptyString2 -_080B1C74: - pop {r1} - bx r1 - .pool - thumb_func_end ReturnEmptyStringIfNull - - thumb_func_start sub_80B1C7C -sub_80B1C7C: @ 80B1C7C - push {lr} - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - beq _080B1C94 - ldr r0, =gUnknown_02038BD8 - b _080B1C96 - .pool -_080B1C94: - ldr r0, =gUnknown_02038BD4 -_080B1C96: - ldr r0, [r0] - bl ReturnEmptyStringIfNull - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1C7C - - thumb_func_start GetTrainer1LoseText -GetTrainer1LoseText: @ 80B1CA4 - push {r4,lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _080B1CBC - bl sub_80EA250 - b _080B1CC0 - .pool -_080B1CBC: - ldr r0, =gUnknown_02038BDC - ldr r0, [r0] -_080B1CC0: - ldr r4, =gStringVar4 - bl ReturnEmptyStringIfNull - adds r1, r0, 0 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetTrainer1LoseText - - thumb_func_start GetTrainer2LoseText -GetTrainer2LoseText: @ 80B1CE0 - push {r4,lr} - ldr r4, =gStringVar4 - ldr r0, =gUnknown_02038BE0 - ldr r0, [r0] - bl ReturnEmptyStringIfNull - adds r1, r0, 0 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetTrainer2LoseText - - thumb_func_start sub_80B1D04 -sub_80B1D04: @ 80B1D04 - push {lr} - ldr r0, =gUnknown_02038BE4 - ldr r0, [r0] - bl ReturnEmptyStringIfNull - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1D04 - - thumb_func_start sub_80B1D18 -sub_80B1D18: @ 80B1D18 - push {lr} - ldr r0, =gUnknown_02038BE8 - ldr r0, [r0] - bl ReturnEmptyStringIfNull - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1D18 - - thumb_func_start sub_80B1D2C -sub_80B1D2C: @ 80B1D2C - push {lr} - lsls r1, 16 - lsrs r1, 16 - movs r3, 0 - adds r2, r0, 0 -_080B1D36: - ldrh r0, [r2] - cmp r0, r1 - bne _080B1D40 - adds r0, r3, 0 - b _080B1D4C -_080B1D40: - adds r2, 0x10 - adds r3, 0x1 - cmp r3, 0x4D - ble _080B1D36 - movs r0, 0x1 - negs r0, r0 -_080B1D4C: - pop {r1} - bx r1 - thumb_func_end sub_80B1D2C - - thumb_func_start sub_80B1D50 -sub_80B1D50: @ 80B1D50 - push {r4,r5,lr} - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r2, r0, 0 -_080B1D5A: - movs r1, 0 - ldrh r0, [r2] - cmp r0, 0 - beq _080B1D80 - movs r3, 0 -_080B1D64: - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, r5 - bne _080B1D70 - adds r0, r4, 0 - b _080B1D8C -_080B1D70: - adds r3, 0x2 - adds r1, 0x1 - cmp r1, 0x4 - bgt _080B1D80 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _080B1D64 -_080B1D80: - adds r2, 0x10 - adds r4, 0x1 - cmp r4, 0x4D - ble _080B1D5A - movs r0, 0x1 - negs r0, r0 -_080B1D8C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B1D50 - - thumb_func_start sub_80B1D94 -sub_80B1D94: @ 80B1D94 - push {lr} - cmp r0, 0x48 - ble _080B1D9E - movs r0, 0x1 - b _080B1DB8 -_080B1D9E: - cmp r0, 0x40 - bne _080B1DB6 - movs r0, 0x7E - bl FlagGet - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _080B1DB2 - movs r1, 0x1 -_080B1DB2: - adds r0, r1, 0 - b _080B1DB8 -_080B1DB6: - movs r0, 0 -_080B1DB8: - pop {r1} - bx r1 - thumb_func_end sub_80B1D94 - - thumb_func_start sub_80B1DBC -sub_80B1DBC: @ 80B1DBC - push {r4-r6,lr} - adds r6, r1, 0 - movs r5, 0x1 - lsls r1, r6, 4 - adds r1, r0 - adds r4, r1, 0x2 - b _080B1DCE -_080B1DCA: - adds r4, 0x2 - adds r5, 0x1 -_080B1DCE: - cmp r5, 0x4 - bgt _080B1DE2 - ldrh r0, [r4] - cmp r0, 0 - beq _080B1DE2 - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - bne _080B1DCA -_080B1DE2: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r6 - strb r5, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1DBC - - thumb_func_start sub_80B1DFC -sub_80B1DFC: @ 80B1DFC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - movs r7, 0 - movs r5, 0 - adds r4, r6, 0 - adds r4, 0xA -_080B1E1A: - ldrh r0, [r4] - cmp r0, r9 - bne _080B1E74 - ldrh r0, [r4, 0x2] - cmp r0, r8 - bne _080B1E74 - adds r0, r5, 0 - bl sub_80B1D94 - cmp r0, 0 - bne _080B1E74 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _080B1E72 - movs r1, 0xAE - lsls r1, 1 - adds r0, r5, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080B1E74 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bhi _080B1E74 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80B1DBC -_080B1E72: - movs r7, 0x1 -_080B1E74: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x40 - ble _080B1E1A - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1DFC - - thumb_func_start sub_80B1E94 -sub_80B1E94: @ 80B1E94 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_085500A4 - lsls r0, r4, 4 - adds r0, r5 - ldrh r0, [r0] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B1EB4 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80B1DBC -_080B1EB4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1E94 - - thumb_func_start sub_80B1EC0 -sub_80B1EC0: @ 80B1EC0 - push {r4-r6,lr} - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0 - adds r3, r0, 0 - adds r3, 0xA - ldr r5, =gSaveBlock1Ptr -_080B1ED2: - ldrh r0, [r3] - cmp r0, r4 - bne _080B1EF8 - ldrh r0, [r3, 0x2] - cmp r0, r2 - bne _080B1EF8 - ldr r0, [r5] - ldr r6, =0x000009ca - adds r0, r6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080B1EF8 - movs r0, 0x1 - b _080B1F02 - .pool -_080B1EF8: - adds r3, 0x10 - adds r1, 0x1 - cmp r1, 0x4D - ble _080B1ED2 - movs r0, 0 -_080B1F02: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B1EC0 - - thumb_func_start sub_80B1F08 -sub_80B1F08: @ 80B1F08 - push {r4,lr} - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0 - adds r3, r0, 0 - adds r3, 0xA -_080B1F18: - ldrh r0, [r3] - cmp r0, r4 - bne _080B1F28 - ldrh r0, [r3, 0x2] - cmp r0, r2 - bne _080B1F28 - movs r0, 0x1 - b _080B1F32 -_080B1F28: - adds r3, 0x10 - adds r1, 0x1 - cmp r1, 0x4D - ble _080B1F18 - movs r0, 0 -_080B1F32: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B1F08 - - thumb_func_start sub_80B1F38 -sub_80B1F38: @ 80B1F38 - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B1F6C - cmp r1, 0x63 - bgt _080B1F6C - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080B1F6C - movs r0, 0x1 - b _080B1F6E - .pool -_080B1F6C: - movs r0, 0 -_080B1F6E: - pop {r1} - bx r1 - thumb_func_end sub_80B1F38 - - thumb_func_start sub_80B1F74 -sub_80B1F74: @ 80B1F74 - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D50 - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B1FA8 - cmp r1, 0x63 - bgt _080B1FA8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080B1FA8 - movs r0, 0x1 - b _080B1FAA - .pool -_080B1FA8: - movs r0, 0 -_080B1FAA: - pop {r1} - bx r1 - thumb_func_end sub_80B1F74 - - thumb_func_start sub_80B1FB0 -sub_80B1FB0: @ 80B1FB0 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080B1FD8 - movs r0, 0 - b _080B1FFE -_080B1FCA: - subs r0, r6, 0x1 - lsls r0, 1 - adds r0, r7, r0 - ldrh r0, [r0] - b _080B1FFE -_080B1FD4: - ldrh r0, [r5] - b _080B1FFE -_080B1FD8: - lsls r0, r1, 4 - adds r7, r4, r0 - movs r6, 0x1 - adds r5, r7, 0x2 - adds r4, r5, 0 -_080B1FE2: - ldrh r0, [r4] - cmp r0, 0 - beq _080B1FCA - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B1FD4 - adds r4, 0x2 - adds r5, 0x2 - adds r6, 0x1 - cmp r6, 0x4 - ble _080B1FE2 - ldrh r0, [r7, 0x8] -_080B1FFE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B1FB0 - - thumb_func_start sub_80B2004 -sub_80B2004: @ 80B2004 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080B2032 - movs r0, 0 - b _080B2054 -_080B201E: - subs r0, r5, 0x1 - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - b _080B2054 -_080B2028: - subs r0, r5, 0x1 - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - b _080B2054 -_080B2032: - lsls r0, r1, 4 - adds r6, r4, r0 - movs r5, 0x1 - adds r4, r6, 0x2 -_080B203A: - ldrh r0, [r4] - cmp r0, 0 - beq _080B201E - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B2028 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - ble _080B203A - ldrh r0, [r6, 0x8] -_080B2054: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B2004 - - thumb_func_start sub_80B205C -sub_80B205C: @ 80B205C - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D50 - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B207E - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080B207E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B205C - - thumb_func_start sub_80B208C -sub_80B208C: @ 80B208C - push {r4,lr} - adds r3, r0, 0 - movs r1, 0 - movs r4, 0xAE - lsls r4, 1 - ldr r2, =gUnknown_085500A4 -_080B2098: - ldrh r0, [r2] - cmp r0, r3 - bne _080B20A8 - adds r0, r1, r4 - b _080B20B2 - .pool -_080B20A8: - adds r2, 0x10 - adds r1, 0x1 - cmp r1, 0x4D - ble _080B2098 - ldr r0, =0x0000ffff -_080B20B2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B208C - - thumb_func_start sub_80B20BC -sub_80B20BC: @ 80B20BC - push {lr} - ldr r0, =0x0000012f - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080B20E2 - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - bl sub_80B208C - adds r1, r0, 0 - ldr r0, =0x0000ffff - cmp r1, r0 - beq _080B20E2 - lsls r0, r1, 16 - lsrs r0, 16 - bl FlagSet -_080B20E2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B20BC - - thumb_func_start sub_80B20F4 -sub_80B20F4: @ 80B20F4 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B211E - lsls r0, r1, 4 - adds r0, r4 - ldrh r0, [r0, 0x2] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B211E - movs r0, 0x1 - b _080B2120 -_080B211E: - movs r0, 0 -_080B2120: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B20F4 - - thumb_func_start sub_80B2128 -sub_80B2128: @ 80B2128 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - ldr r4, =gUnknown_08550584 -_080B2130: - ldrh r0, [r4] - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B214C - adds r6, 0x1 - cmp r6, 0x4 - ble _080B214C - movs r0, 0x1 - b _080B2156 - .pool -_080B214C: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x7 - bls _080B2130 - movs r0, 0 -_080B2156: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B2128 - - thumb_func_start sub_80B215C -sub_80B215C: @ 80B215C - push {lr} - bl sub_80B2128 - cmp r0, 0 - beq _080B2184 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009c8 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0xFE - bls _080B2180 - movs r0, 0xFF - b _080B2182 - .pool -_080B2180: - adds r0, 0x1 -_080B2182: - strh r0, [r1] -_080B2184: - pop {r0} - bx r0 - thumb_func_end sub_80B215C - - thumb_func_start sub_80B2188 -sub_80B2188: @ 80B2188 - push {lr} - bl sub_80B2128 - cmp r0, 0 - beq _080B21AC - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009c8 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFE - bls _080B21AC - movs r0, 0x1 - b _080B21AE - .pool -_080B21AC: - movs r0, 0 -_080B21AE: - pop {r1} - bx r1 - thumb_func_end sub_80B2188 - - thumb_func_start sub_80B21B4 -sub_80B21B4: @ 80B21B4 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - bl sub_80B2188 - cmp r0, 0 - beq _080B21E0 - ldr r0, =gUnknown_085500A4 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80B1DFC - cmp r0, 0x1 - bne _080B21E0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009c8 - adds r0, r1 - movs r1, 0 - strh r1, [r0] -_080B21E0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B21B4 - - thumb_func_start sub_80B21F4 -sub_80B21F4: @ 80B21F4 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gUnknown_085500A4 - adds r1, r3, 0 - bl sub_80B1EC0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B21F4 - - thumb_func_start sub_80B2214 -sub_80B2214: @ 80B2214 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gUnknown_085500A4 - adds r1, r3, 0 - bl sub_80B1F08 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B2214 - - thumb_func_start sub_80B2234 -sub_80B2234: @ 80B2234 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_085500A4 - bl sub_80B1FB0 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B2234 - - thumb_func_start sub_80B2250 -sub_80B2250: @ 80B2250 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_085500A4 - bl sub_80B2004 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B2250 - - thumb_func_start sub_80B226C -sub_80B226C: @ 80B226C - push {r4,r5,lr} - ldr r5, =gUnknown_085500A4 - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - adds r0, r5, 0 - bl sub_80B1F38 - lsls r0, 24 - cmp r0, 0 - bne _080B2298 - ldrh r1, [r4] - adds r0, r5, 0 - bl sub_80B20F4 - lsls r0, 24 - lsrs r0, 24 - b _080B229A - .pool -_080B2298: - movs r0, 0x1 -_080B229A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B226C - - thumb_func_start sub_80B22A0 -sub_80B22A0: @ 80B22A0 - push {lr} - ldr r0, =gUnknown_085500A4 - ldr r1, =gTrainerBattleOpponent_A - ldrh r1, [r1] - bl sub_80B1F74 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B22A0 - - thumb_func_start sub_80B22BC -sub_80B22BC: @ 80B22BC - push {lr} - ldr r0, =gUnknown_085500A4 - ldr r1, =gTrainerBattleOpponent_A - ldrh r1, [r1] - bl sub_80B205C - bl rom_npc_set_flag_for_script_id - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B22BC - - thumb_func_start CheckIfMultipleTrainersWantBattle -CheckIfMultipleTrainersWantBattle: @ 80B22D8 - push {lr} - ldr r1, =gUnknown_02038BF9 - ldrb r0, [r1] - cmp r0, 0x1 - bls _080B2300 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_02038BF8 - movs r0, 0x1 - strb r0, [r1] - ldr r1, =gScriptResult - movs r0, 0x1 - b _080B230A - .pool -_080B2300: - ldr r1, =gUnknown_02038BF8 - movs r0, 0 - strb r0, [r1] - ldr r1, =gScriptResult - movs r0, 0 -_080B230A: - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end CheckIfMultipleTrainersWantBattle - - thumb_func_start sub_80B2318 -sub_80B2318: @ 80B2318 - push {r4-r7,lr} - lsls r0, 16 - ldr r7, =gUnknown_085500A4 - lsrs r4, r0, 12 - adds r6, r4, r7 - ldrh r0, [r6] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B2338 - movs r0, 0 - b _080B2364 - .pool -_080B2338: - movs r5, 0x1 - adds r0, r4, 0x2 - adds r0, r7 - ldrh r0, [r0] - cmp r0, 0 - beq _080B2360 - adds r4, r6, 0x2 -_080B2346: - ldrh r0, [r4] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B2360 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - bgt _080B2360 - ldrh r0, [r4] - cmp r0, 0 - bne _080B2346 -_080B2360: - lsls r0, r5, 16 - lsrs r0, 16 -_080B2364: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B2318 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_tent.s b/asm/battle_tent.s index 5cb92dbed..8253d4f98 100755..100644 --- a/asm/battle_tent.s +++ b/asm/battle_tent.s @@ -57,7 +57,7 @@ sub_81B99D4: @ 81B99D4 thumb_func_start sub_81B9A28 sub_81B9A28: @ 81B9A28 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000e6a @@ -196,12 +196,12 @@ sub_81B9B28: @ 81B9B28 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081B9B76 .pool _081B9B70: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081B9B76: @@ -263,7 +263,7 @@ sub_81B9BA0: @ 81B9BA0 thumb_func_start sub_81B9BF4 sub_81B9BF4: @ 81B9BF4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000e6c @@ -357,12 +357,12 @@ sub_81B9C98: @ 81B9C98 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081B9CE6 .pool _081B9CE0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081B9CE6: @@ -436,7 +436,7 @@ sub_81B9D28: @ 81B9D28 thumb_func_start sub_81B9D7C sub_81B9D7C: @ 81B9D7C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000e6e @@ -530,12 +530,12 @@ sub_81B9E20: @ 81B9E20 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081B9E6E .pool _081B9E68: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081B9E6E: diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 122d9d27c..d92881024 100755..100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -132,12 +132,12 @@ _08162094: lsls r1, 24 lsrs r1, 24 bl sub_8164FCC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result strh r0, [r1] b _081620E8 .pool _081620A8: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r2, [r5] ldr r0, =0x00000cdc adds r2, r0 @@ -294,7 +294,7 @@ _081621EE: adds r0, 0x1 strh r0, [r1] bl sub_8163E90 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, [r5] adds r0, r4 ldrh r0, [r0] @@ -1340,7 +1340,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0 lsls r0, 1 cmp r4, r0 bne _08162AD0 - ldr r1, =gUnknown_0831F578 + ldr r1, =gFacilityClassToPicIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -1362,7 +1362,7 @@ _08162AE4: ldr r0, =0x0000012b cmp r4, r0 bhi _08162B08 - ldr r2, =gUnknown_0831F578 + ldr r2, =gFacilityClassToPicIndex ldr r0, =gUnknown_0203BC88 ldr r1, [r0] movs r0, 0x34 @@ -1383,7 +1383,7 @@ _08162B08: ands r0, r1 cmp r0, 0 beq _08162B38 - ldr r4, =gUnknown_0831F578 + ldr r4, =gFacilityClassToPicIndex bl sub_818649C lsls r0, 24 lsrs r0, 24 @@ -1391,7 +1391,7 @@ _08162B08: b _08162BC8 .pool _08162B38: - ldr r3, =gUnknown_0831F578 + ldr r3, =gFacilityClassToPicIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0xfffffed4 @@ -1413,7 +1413,7 @@ _08162B64: ands r0, r1 cmp r0, 0 bne _08162BB0 - ldr r4, =gUnknown_0831F578 + ldr r4, =gFacilityClassToPicIndex ldr r3, =gUnknown_08610970 ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -1436,7 +1436,7 @@ _08162B64: b _08162BC8 .pool _08162BB0: - ldr r5, =gUnknown_0831F578 + ldr r5, =gFacilityClassToPicIndex ldr r4, =gUnknown_08610970 bl sub_81864A8 lsls r0, 24 @@ -1467,7 +1467,7 @@ GetFrontierOpponentClass: @ 8162BD8 lsls r0, 1 cmp r4, r0 bne _08162C08 - ldr r1, =gTrainerClassToNameIndex + ldr r1, =gFacilityClassToTrainerClass ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -1499,7 +1499,7 @@ _08162C38: ldr r0, =0x0000012b cmp r4, r0 bhi _08162C60 - ldr r2, =gTrainerClassToNameIndex + ldr r2, =gFacilityClassToTrainerClass ldr r0, =gUnknown_0203BC88 ldr r1, [r0] movs r0, 0x34 @@ -1521,7 +1521,7 @@ _08162C60: ands r0, r1 cmp r0, 0 beq _08162C90 - ldr r4, =gTrainerClassToNameIndex + ldr r4, =gFacilityClassToTrainerClass bl sub_818649C lsls r0, 24 lsrs r0, 24 @@ -1530,7 +1530,7 @@ _08162C60: b _08162D1E .pool _08162C90: - ldr r3, =gTrainerClassToNameIndex + ldr r3, =gFacilityClassToTrainerClass ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0xfffffed4 @@ -1553,7 +1553,7 @@ _08162CBC: ands r0, r1 cmp r0, 0 beq _08162CF4 - ldr r5, =gTrainerClassToNameIndex + ldr r5, =gFacilityClassToTrainerClass ldr r4, =gUnknown_08610970 bl sub_81864A8 lsls r0, 24 @@ -1568,7 +1568,7 @@ _08162CBC: b _08162D1E .pool _08162CF4: - ldr r4, =gTrainerClassToNameIndex + ldr r4, =gFacilityClassToTrainerClass ldr r3, =gUnknown_08610970 ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -1736,7 +1736,7 @@ _08162E68: ldr r0, =0x00000c03 cmp r5, r0 bne _08162E88 - ldr r2, =gTrainers + TRAINER_STEVEN * 0x28 + 0x4 @ Steven's name + ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name _08162E70: adds r0, r6, r4 adds r1, r4, r2 @@ -3534,7 +3534,7 @@ _08163E10: bl sub_80B100C lsls r0, 24 lsrs r0, 24 - bl sub_8145EF4 + bl BattleTransition_StartOnField b _08163E68 .pool _08163E2C: @@ -3544,14 +3544,14 @@ _08163E2C: ldr r5, =0x00000c03 adds r0, r5, 0 bl sub_8165404 - ldr r4, =gUnknown_02038BFC + ldr r4, =gApproachingTrainerId movs r0, 0 strb r0, [r4] - ldr r0, =gUnknown_08224158 + ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1 bl BattleSetup_ConfigureTrainerBattle movs r0, 0x1 strb r0, [r4] - ldr r0, =gUnknown_08224167 + ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1 bl BattleSetup_ConfigureTrainerBattle ldr r0, =gPartnerTrainerId strh r5, [r0] @@ -3561,7 +3561,7 @@ _08163E2C: movs r0, 0 bl PlayMapChosenOrBattleBGM movs r0, 0x12 - bl sub_8145EF4 + bl BattleTransition_StartOnField _08163E68: add sp, 0x4 pop {r4-r6} @@ -4714,7 +4714,7 @@ sub_8164828: @ 8164828 lsls r0, 16 lsrs r0, 16 mov r8, r0 - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrh r0, [r0] subs r5, r0, 0x2 ldr r0, =gSaveBlock2Ptr @@ -5076,7 +5076,7 @@ sub_8164B74: @ 8164B74 adds r0, r2 ldrh r6, [r0] bl GetMultiplayerId - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x6 bls _08164BAC @@ -5126,7 +5126,7 @@ _08164C18: mov r1, sp movs r2, 0x4 bl SendBlock - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _08164DB4 .pool @@ -5204,7 +5204,7 @@ _08164CB0: mov r4, r8 cmp r4, 0xD ble _08164C68 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 b _08164DB4 .pool @@ -5222,7 +5222,7 @@ _08164CE0: adds r1, r3 movs r2, 0x28 bl SendBlock - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _08164DB4 .pool @@ -5268,13 +5268,13 @@ _08164D14: ldrb r0, [r0] cmp r0, 0 bne _08164DB0 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 b _08164DB4 .pool _08164D98: bl sub_800AC34 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 b _08164DB4 .pool @@ -5284,7 +5284,7 @@ _08164DA8: cmp r0, 0 bne _08164DB6 _08164DB0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x6 _08164DB4: strh r0, [r1] @@ -5354,7 +5354,7 @@ sub_8164E04: @ 8164E04 adds r0, r2 ldrh r1, [r5] bl sub_8165B88 - ldr r6, =gBattlePartyID + ldr r6, =gBattlerPartyIndexes ldrh r0, [r6, 0x2] movs r5, 0x64 muls r0, r5 @@ -5625,7 +5625,7 @@ sub_816502C: @ 816502C movs r0, 0x45 mov r10, r0 _0816506A: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result mov r9, r1 movs r0, 0 strh r0, [r1] @@ -5681,7 +5681,7 @@ _081650D4: cmp r6, r8 blt _0816508C _081650DC: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 beq _08165132 @@ -5845,7 +5845,7 @@ _08165206: thumb_func_start GetEreaderTrainerFrontSpriteId GetEreaderTrainerFrontSpriteId: @ 8165244 - ldr r1, =gUnknown_0831F578 + ldr r1, =gFacilityClassToPicIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -5859,7 +5859,7 @@ GetEreaderTrainerFrontSpriteId: @ 8165244 thumb_func_start GetEreaderTrainerClassId GetEreaderTrainerClassId: @ 8165264 - ldr r1, =gTrainerClassToNameIndex + ldr r1, =gFacilityClassToTrainerClass ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -5898,10 +5898,10 @@ _08165294: .pool thumb_func_end GetEreaderTrainerName - thumb_func_start sub_81652B4 -sub_81652B4: @ 81652B4 + thumb_func_start ValidateEReaderTrainer +ValidateEReaderTrainer: @ 81652B4 push {r4-r6,lr} - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result movs r0, 0 strh r0, [r2] ldr r1, =gSaveBlock2Ptr @@ -5943,7 +5943,7 @@ _081652F2: ldr r3, =0x00000bec adds r0, r1, r3 bl sub_816534C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _08165316: @@ -5951,7 +5951,7 @@ _08165316: pop {r0} bx r0 .pool - thumb_func_end sub_81652B4 + thumb_func_end ValidateEReaderTrainer thumb_func_start sub_8165328 sub_8165328: @ 8165328 @@ -6193,7 +6193,7 @@ _081654DE: adds r4, r0 adds r0, r4, 0 movs r1, 0x7 - ldr r2, =gTrainers + TRAINER_STEVEN * 0x28 + 0x4 @ Steven's name + ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name bl SetMonData movs r0, 0 str r0, [sp, 0x44] diff --git a/asm/battle_transition.s b/asm/battle_transition.s deleted file mode 100644 index 6ffa17320..000000000 --- a/asm/battle_transition.s +++ /dev/null @@ -1,9826 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CB2_TestBattleTransition -CB2_TestBattleTransition: @ 8145E84 - push {r4,lr} - ldr r4, =sTestingTransitionState - ldrb r0, [r4] - cmp r0, 0 - beq _08145E98 - cmp r0, 0x1 - beq _08145EAC - b _08145EC0 - .pool -_08145E98: - ldr r0, =sTestingTransitionId - ldrb r0, [r0] - bl LaunchBattleTransitionTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08145EC0 - .pool -_08145EAC: - bl IsBattleTransitionDone - lsls r0, 24 - cmp r0, 0 - beq _08145EC0 - movs r0, 0 - strb r0, [r4] - ldr r0, =c2_exit_to_overworld_2_switch - bl SetMainCallback2 -_08145EC0: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end CB2_TestBattleTransition - - thumb_func_start TestBattleTransition -TestBattleTransition: @ 8145EDC - push {lr} - ldr r1, =sTestingTransitionId - strb r0, [r1] - ldr r0, =CB2_TestBattleTransition - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end TestBattleTransition - - thumb_func_start sub_8145EF4 -sub_8145EF4: @ 8145EF4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gMain - ldr r1, =sub_8085E50 - str r1, [r2, 0x4] - bl LaunchBattleTransitionTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145EF4 - - thumb_func_start sub_8145F10 -sub_8145F10: @ 8145F10 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl LaunchBattleTransitionTask - pop {r0} - bx r0 - thumb_func_end sub_8145F10 - - thumb_func_start IsBattleTransitionDone -IsBattleTransitionDone: @ 8145F20 - push {r4,lr} - ldr r0, =Task_BattleTransitionMain - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0x26 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08145F4C - movs r0, 0 - b _08145F60 - .pool -_08145F4C: - adds r0, r2, 0 - bl DestroyTask - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - movs r0, 0x1 -_08145F60: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end IsBattleTransitionDone - - thumb_func_start LaunchBattleTransitionTask -LaunchBattleTransitionTask: @ 8145F6C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =Task_BattleTransitionMain - movs r1, 0x2 - 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, 0xA] - ldr r4, =sTransitionStructPtr - movs r0, 0x3C - bl AllocZeroed - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LaunchBattleTransitionTask - - thumb_func_start Task_BattleTransitionMain -Task_BattleTransitionMain: @ 8145FA8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8A98 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08145FBA: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08145FBA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end Task_BattleTransitionMain - - thumb_func_start sub_8145FE0 -sub_8145FE0: @ 8145FE0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80AC3D0 - ldr r0, =gPlttBufferFaded - ldr r1, =gPlttBufferUnfaded - ldr r2, =0x04000100 - bl CpuSet - ldr r1, =gUnknown_085C8948 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0814601C - movs r0, 0x2 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _0814602A - .pool -_0814601C: - movs r1, 0x4 - bl CreateTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 -_0814602A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8145FE0 - - thumb_func_start sub_8146030 -sub_8146030: @ 8146030 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_085C8948 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08146054 - movs r0, 0 - b _0814605C - .pool -_08146054: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 -_0814605C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146030 - - thumb_func_start sub_8146064 -sub_8146064: @ 8146064 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_085C89F0 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146064 - - thumb_func_start sub_814608C -sub_814608C: @ 814608C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - strh r0, [r4, 0x26] - ldr r1, =gUnknown_085C89F0 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _081460B0 - movs r0, 0x1 - strh r0, [r4, 0x26] -_081460B0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814608C - - thumb_func_start sub_81460BC -sub_81460BC: @ 81460BC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _081460F4 - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x2 - bl sub_8149D78 - b _08146104 - .pool -_081460F4: - bl sub_8149DDC - lsls r0, 24 - cmp r0, 0 - beq _08146104 - adds r0, r4, 0 - bl DestroyTask -_08146104: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81460BC - - thumb_func_start sub_814610C -sub_814610C: @ 814610C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AA8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814611E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814611E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814610C - - thumb_func_start sub_8146144 -sub_8146144: @ 8146144 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0x40 - bl SetGpuRegBits - movs r0, 0xC - movs r1, 0x40 - bl SetGpuRegBits - movs r0, 0xE - movs r1, 0x40 - bl SetGpuRegBits - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146144 - - thumb_func_start sub_8146178 -sub_8146178: @ 8146178 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r2, [r4, r1] - cmp r2, 0 - beq _0814618E - subs r0, 0x1 - strh r0, [r4, 0xA] - b _081461CE -_0814618E: - movs r0, 0x4 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _081461B0 - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_081461B0: - ldrh r1, [r4, 0xC] - movs r0, 0xF - ands r0, r1 - lsls r1, r0, 4 - orrs r1, r0 - movs r0, 0x4C - bl SetGpuReg - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0xE - ble _081461CE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081461CE: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146178 - - thumb_func_start sub_81461D8 -sub_81461D8: @ 81461D8 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081461F4 - ldr r0, =sub_814610C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081461F4: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81461D8 - - thumb_func_start sub_8146204 -sub_8146204: @ 8146204 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AB4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146216: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146216 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146204 - - thumb_func_start sub_814623C -sub_814623C: @ 814623C - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020393A8 - ldr r1, =sTransitionStructPtr - ldr r1, [r1] - movs r2, 0x14 - ldrsh r1, [r1, r2] - str r4, [sp] - movs r2, 0xA0 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0x2 - bl sub_8149F98 - ldr r0, =sub_8146320 - bl SetVBlankCallback - ldr r0, =sub_8146358 - bl SetHBlankCallback - movs r0, 0x3 - bl EnableInterrupts - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814623C - - thumb_func_start sub_81462A8 -sub_81462A8: @ 81462A8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, =sTransitionStructPtr - ldr r2, [r4] - ldrb r1, [r2] - movs r1, 0 - strb r1, [r2] - ldrh r1, [r0, 0xA] - adds r1, 0x4 - strh r1, [r0, 0xA] - ldrh r1, [r0, 0xC] - adds r1, 0x8 - strh r1, [r0, 0xC] - ldr r3, =gUnknown_02038C28 - ldr r1, [r4] - movs r2, 0x14 - ldrsh r1, [r1, r2] - movs r5, 0xA - ldrsh r2, [r0, r5] - movs r5, 0xC - ldrsh r0, [r0, r5] - str r0, [sp] - movs r0, 0xA0 - str r0, [sp, 0x4] - adds r0, r3, 0 - movs r3, 0x2 - bl sub_8149F98 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081462FA - ldr r0, =sub_8146204 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081462FA: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81462A8 - - thumb_func_start sub_8146320 -sub_8146320: @ 8146320 - push {lr} - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _08146344 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08146344: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146320 - - thumb_func_start sub_8146358 -sub_8146358: @ 8146358 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000014 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_8146358 - - thumb_func_start sub_8146384 -sub_8146384: @ 8146384 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8ABC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146396: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146396 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146384 - - thumb_func_start sub_81463BC -sub_81463BC: @ 81463BC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldr r0, =gUnknown_020393A8 - movs r2, 0x16 - ldrsh r1, [r1, r2] - movs r2, 0xA0 - lsls r2, 1 - bl memset - ldr r0, =sub_81464B0 - bl SetVBlankCallback - ldr r0, =sub_81464E8 - bl SetHBlankCallback - movs r0, 0x3 - bl EnableInterrupts - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81463BC - - thumb_func_start sub_8146420 -sub_8146420: @ 8146420 - push {r4-r7,lr} - ldr r1, =sTransitionStructPtr - ldr r2, [r1] - ldrb r1, [r2] - movs r1, 0 - strb r1, [r2] - ldrh r4, [r0, 0xA] - ldrh r2, [r0, 0xC] - lsls r3, r2, 16 - asrs r3, 24 - movs r5, 0x84 - lsls r5, 5 - adds r1, r4, r5 - strh r1, [r0, 0xA] - movs r1, 0xC0 - lsls r1, 1 - adds r2, r1 - strh r2, [r0, 0xC] - movs r5, 0 - lsls r7, r3, 16 -_08146448: - lsrs r0, r4, 8 - asrs r1, r7, 16 - bl Sin - ldr r1, =gUnknown_02038C28 - lsls r2, r5, 1 - adds r2, r1 - ldr r6, =sTransitionStructPtr - ldr r1, [r6] - ldrh r1, [r1, 0x16] - adds r0, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x84 - lsls r1, 5 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r5, 0x9F - bls _08146448 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814648E - ldr r0, =sub_8146384 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0814648E: - ldr r0, [r6] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146420 - - thumb_func_start sub_81464B0 -sub_81464B0: @ 81464B0 - push {lr} - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _081464D4 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081464D4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81464B0 - - thumb_func_start sub_81464E8 -sub_81464E8: @ 81464E8 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000016 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81464E8 - - thumb_func_start sub_8146514 -sub_8146514: @ 8146514 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AFC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146526: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146526 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146514 - - thumb_func_start sub_814654C -sub_814654C: @ 814654C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AC4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814655E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814655E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814654C - - thumb_func_start sub_8146584 -sub_8146584: @ 8146584 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AE0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146596: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146596 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146584 - - thumb_func_start sub_81465BC -sub_81465BC: @ 81465BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B14 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081465CE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081465CE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81465BC - - thumb_func_start sub_81465F4 -sub_81465F4: @ 81465F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B2C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146606: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146606 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81465F4 - - thumb_func_start sub_814662C -sub_814662C: @ 814662C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B44 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814663E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814663E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814662C - - thumb_func_start sub_8146664 -sub_8146664: @ 8146664 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B5C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146676: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146676 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146664 - - thumb_func_start sub_814669C -sub_814669C: @ 814669C - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r1, 0 - movs r0, 0x10 - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] - strh r1, [r4, 0x10] - movs r0, 0x80 - lsls r0, 7 - strh r0, [r4, 0x12] - ldr r0, =sTransitionStructPtr - ldr r2, [r0] - movs r0, 0x3F - strh r0, [r2, 0x2] - strh r1, [r2, 0x4] - movs r0, 0xF0 - strh r0, [r2, 0x6] - movs r0, 0xA0 - strh r0, [r2, 0x8] - ldr r0, =0x00003f41 - strh r0, [r2, 0xE] - ldrh r0, [r4, 0xA] - lsls r0, 8 - ldrh r1, [r4, 0xC] - orrs r0, r1 - strh r0, [r2, 0x10] - ldr r0, =gUnknown_02038C28 - movs r2, 0xF0 - movs r1, 0x9F - ldr r3, =0x000008be - adds r0, r3 -_081466E2: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _081466E2 - ldr r0, =sub_8146F3C - bl SetVBlankCallback - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814669C - - thumb_func_start sub_814670C -sub_814670C: @ 814670C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x3C - strh r0, [r4, 0x18] - adds r0, r4, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085BAED0 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BAEB0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814670C - - thumb_func_start sub_8146760 -sub_8146760: @ 8146760 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x3C - strh r0, [r4, 0x18] - adds r0, r4, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085BB4A4 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BAEB0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146760 - - thumb_func_start sub_81467B4 -sub_81467B4: @ 81467B4 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x3C - strh r0, [r4, 0x18] - adds r0, r4, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085BBC14 - ldr r1, [sp, 0x8] - movs r2, 0x80 - lsls r2, 5 - bl CpuSet - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81467B4 - - thumb_func_start sub_8146800 -sub_8146800: @ 8146800 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085B9330 - ldr r1, [sp, 0x8] - movs r2, 0xB0 - lsls r2, 2 - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146800 - - thumb_func_start sub_8146854 -sub_8146854: @ 8146854 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r7, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r5, =gUnknown_085C9020 - movs r1, 0 - ldr r0, [sp, 0x8] - mov r9, r0 - ldr r6, =gUnknown_02038C28 - mov r8, r6 - movs r0, 0xF0 - lsls r0, 8 - mov r12, r0 -_0814687A: - movs r0, 0 - lsls r3, r1, 16 - asrs r4, r3, 11 -_08146880: - lsls r2, r0, 16 - asrs r2, 16 - adds r1, r4, r2 - lsls r1, 1 - add r1, r9 - ldrh r0, [r5] - mov r6, r12 - orrs r0, r6 - strh r0, [r1] - adds r2, 0x1 - lsls r2, 16 - adds r5, 0x2 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0x1D - ble _08146880 - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0814687A - movs r6, 0x10 - ldrsh r2, [r7, r6] - movs r1, 0x12 - ldrsh r0, [r7, r1] - str r0, [sp] - movs r0, 0xA0 - str r0, [sp, 0x4] - mov r0, r8 - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - movs r0, 0x1 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146854 - - thumb_func_start sub_81468E4 -sub_81468E4: @ 81468E4 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BB248 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81468E4 - - thumb_func_start sub_814692C -sub_814692C: @ 814692C - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BB930 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814692C - - thumb_func_start sub_8146974 -sub_8146974: @ 8146974 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BC2B4 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085BC314 - ldr r1, [sp, 0x8] - movs r2, 0xA0 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146974 - - thumb_func_start sub_81469CC -sub_81469CC: @ 81469CC - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BC2D4 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085BCB14 - ldr r1, [sp, 0x8] - movs r2, 0xA0 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81469CC - - thumb_func_start sub_8146A24 -sub_8146A24: @ 8146A24 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BC2F4 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085BD314 - ldr r1, [sp, 0x8] - movs r2, 0xA0 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146A24 - - thumb_func_start sub_8146A7C -sub_8146A7C: @ 8146A7C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085BDB34 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BE1E8 - ldr r1, [sp, 0x4] - bl LZ77UnCompVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146A7C - - thumb_func_start sub_8146AC8 -sub_8146AC8: @ 8146AC8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08146B00 - adds r0, r5, 0 - movs r1, 0x1E - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 11 - ldr r1, =gUnknown_085BEDA0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08146B00: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3A - ble _08146B18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] -_08146B18: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146AC8 - - thumb_func_start sub_8146B24 -sub_8146B24: @ 8146B24 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x5 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08146B52 - adds r0, r5, 0 - movs r1, 0x5 - bl __divsi3 - lsls r0, 16 - asrs r0, 11 - ldr r1, =gUnknown_085BEEE0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08146B52: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x44 - ble _08146B6E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x1E - strh r0, [r4, 0x18] -_08146B6E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146B24 - - thumb_func_start sub_8146B7C -sub_8146B7C: @ 8146B7C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =0xffff8000 - movs r1, 0 - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146B7C - - thumb_func_start sub_8146BA8 -sub_8146BA8: @ 8146BA8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08146BDE - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08146BDE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146BA8 - - thumb_func_start sub_8146BF8 -sub_8146BF8: @ 8146BF8 - push {r4,r5,lr} - sub sp, 0x8 - adds r3, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r1, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - adds r4, r2, 0 - cmp r0, 0 - beq _08146C1E - subs r0, r1, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08146C28 -_08146C1E: - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r0, 0x2 - strh r0, [r3, 0xE] -_08146C28: - ldr r2, [r4] - ldrh r0, [r3, 0xA] - lsls r0, 8 - ldrh r1, [r3, 0xC] - orrs r0, r1 - strh r0, [r2, 0x10] - movs r5, 0xC - ldrsh r0, [r3, r5] - cmp r0, 0xF - ble _08146C42 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08146C42: - ldrh r0, [r3, 0x10] - adds r0, 0x8 - strh r0, [r3, 0x10] - ldr r0, =0xffffff00 - adds r1, r0, 0 - ldrh r5, [r3, 0x12] - adds r1, r5 - strh r1, [r3, 0x12] - ldr r0, =gUnknown_02038C28 - movs r5, 0x10 - ldrsh r2, [r3, r5] - lsls r1, 16 - asrs r1, 24 - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146BF8 - - thumb_func_start sub_8146C8C -sub_8146C8C: @ 8146C8C - push {r4,r5,lr} - sub sp, 0x8 - adds r3, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r1, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - adds r4, r2, 0 - cmp r0, 0 - beq _08146CB2 - subs r0, r1, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08146CBC -_08146CB2: - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - movs r0, 0x2 - strh r0, [r3, 0xE] -_08146CBC: - ldr r2, [r4] - ldrh r0, [r3, 0xA] - lsls r0, 8 - ldrh r1, [r3, 0xC] - orrs r0, r1 - strh r0, [r2, 0x10] - movs r5, 0xA - ldrsh r0, [r3, r5] - cmp r0, 0 - bne _08146CD6 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08146CD6: - ldrh r0, [r3, 0x10] - adds r0, 0x8 - strh r0, [r3, 0x10] - ldr r0, =0xffffff00 - adds r1, r0, 0 - ldrh r5, [r3, 0x12] - adds r1, r5 - strh r1, [r3, 0x12] - ldr r0, =gUnknown_02038C28 - movs r5, 0x10 - ldrsh r2, [r3, r5] - lsls r1, 16 - asrs r1, 24 - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146C8C - - thumb_func_start sub_8146D20 -sub_8146D20: @ 8146D20 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r7, =sTransitionStructPtr - ldr r0, [r7] - ldrb r1, [r0] - movs r6, 0 - strb r6, [r0] - ldrh r0, [r4, 0x10] - adds r0, 0x8 - strh r0, [r4, 0x10] - ldr r0, =0xffffff00 - adds r1, r0, 0 - ldrh r3, [r4, 0x12] - adds r1, r3 - strh r1, [r4, 0x12] - ldr r0, =gUnknown_02038C28 - movs r3, 0x10 - ldrsh r2, [r4, r3] - lsls r1, 16 - asrs r1, 24 - str r1, [sp] - movs r5, 0xA0 - str r5, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bgt _08146D70 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0xC] - strh r6, [r4, 0xE] -_08146D70: - ldr r0, [r7] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146D20 - - thumb_func_start sub_8146D90 -sub_8146D90: @ 8146D90 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x18] - subs r0, 0x1 - strh r0, [r1, 0x18] - lsls r0, 16 - cmp r0, 0 - bne _08146DA6 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08146DA6: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8146D90 - - thumb_func_start sub_8146DAC -sub_8146DAC: @ 8146DAC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =0x0000ffff - movs r1, 0 - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146DAC - - thumb_func_start sub_8146DD8 -sub_8146DD8: @ 8146DD8 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08146DEE - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_08146DEE: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146DD8 - - thumb_func_start sub_8146DF8 -sub_8146DF8: @ 8146DF8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r1, [r0] - movs r3, 0 - strb r3, [r0] - ldrh r2, [r4, 0xC] - movs r0, 0xC - ldrsh r1, [r4, r0] - ldr r0, =0x000003ff - cmp r1, r0 - bgt _08146E18 - adds r0, r2, 0 - adds r0, 0x80 - strh r0, [r4, 0xC] -_08146E18: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08146E34 - ldrh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 24 - subs r0, r1, r0 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _08146E34 - strh r3, [r4, 0xA] -_08146E34: - ldr r0, =gUnknown_02038C28 - movs r1, 0xA - ldrsh r3, [r4, r1] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08146E90 - movs r0, 0 - bl SetVBlankCallback - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _08146EB0 - .pool -_08146E90: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08146EA4 - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - ldr r0, =sub_8146F68 - bl SetVBlankCallback -_08146EA4: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] -_08146EB0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146DF8 - - thumb_func_start sub_8146EC0 -sub_8146EC0: @ 8146EC0 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F2C - ldr r2, =sTransitionStructPtr - ldr r0, [r2] - ldrb r0, [r0] - cmp r0, 0 - beq _08146EF8 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r3, 0xF0 - lsls r3, 3 - adds r0, r3 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08146EF8: - ldr r1, =0x04000048 - ldr r2, [r2] - ldrh r0, [r2, 0x2] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x4] - strh r0, [r1] - subs r1, 0x6 - ldrh r0, [r2, 0x8] - strh r0, [r1] - adds r1, 0xC - ldrh r0, [r2, 0xE] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x10] - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146EC0 - - thumb_func_start sub_8146F3C -sub_8146F3C: @ 8146F3C - push {lr} - bl sub_8146EC0 - ldr r1, =0x040000b0 - ldr r0, =gUnknown_020393A8 - str r0, [r1] - ldr r0, =0x04000010 - str r0, [r1, 0x4] - ldr r0, =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146F3C - - thumb_func_start sub_8146F68 -sub_8146F68: @ 8146F68 - push {lr} - bl sub_8146EC0 - ldr r1, =0x040000b0 - ldr r0, =gUnknown_020393A8 - str r0, [r1] - ldr r0, =0x04000040 - str r0, [r1, 0x4] - ldr r0, =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146F68 - - thumb_func_start sub_8146F94 -sub_8146F94: @ 8146F94 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B7C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146FA6: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146FA6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146F94 - - thumb_func_start sub_8146FCC -sub_8146FCC: @ 8146FCC - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085B98B0 - ldr r1, [sp, 0x8] - movs r2, 0x20 - bl CpuSet - movs r0, 0 - str r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, =0x05000200 - mov r0, sp - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146FCC - - thumb_func_start sub_8147018 -sub_8147018: @ 8147018 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - ldr r1, =gUnknown_085C8B88 - mov r0, sp - movs r2, 0x4 - bl memcpy - add r4, sp, 0x4 - ldr r1, =gUnknown_085C8B8C - adds r0, r4, 0 - movs r2, 0xA - bl memcpy - bl Random - movs r5, 0x1 - ands r5, r0 - movs r1, 0 - mov r8, r4 - ldr r6, =gFieldEffectArguments -_08147046: - lsls r5, 16 - asrs r5, 16 - lsls r0, r5, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - str r0, [r6] - lsls r4, r1, 16 - asrs r4, 16 - lsls r0, r4, 5 - adds r0, 0x10 - str r0, [r6, 0x4] - str r5, [r6, 0x8] - lsls r0, r4, 1 - add r0, r8 - movs r1, 0 - ldrsh r0, [r0, r1] - str r0, [r6, 0xC] - movs r0, 0x2D - bl FieldEffectStart - adds r4, 0x1 - lsls r4, 16 - movs r0, 0x1 - eors r5, r0 - lsls r5, 16 - lsrs r5, 16 - lsrs r1, r4, 16 - asrs r4, 16 - cmp r4, 0x4 - ble _08147046 - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147018 - - thumb_func_start sub_81470A4 -sub_81470A4: @ 81470A4 - push {lr} - movs r0, 0x2D - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _081470C4 - bl sub_8149F84 - ldr r0, =sub_8146F94 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081470C4: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81470A4 - - thumb_func_start sub_81470D0 -sub_81470D0: @ 81470D0 - push {r4,r5,lr} - ldr r0, =gUnknown_085C8E68 - ldr r5, =gFieldEffectArguments - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r5, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldr r0, [r5, 0xC] - strh r0, [r4, 0x30] - ldr r0, =0x0000ffff - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl InitSpriteAffineAnim - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl StartSpriteAffineAnim - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81470D0 - - thumb_func_start sub_814713C -sub_814713C: @ 814713C - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_085C8B96 - mov r0, sp - movs r2, 0x4 - bl memcpy - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08147160 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - b _081471F2 - .pool -_08147160: - ldrh r0, [r4, 0x20] - lsls r1, r0, 16 - lsrs r0, r1, 16 - cmp r0, 0xF0 - bhi _081471CE - asrs r0, r1, 19 - lsls r0, 16 - ldrh r1, [r4, 0x22] - lsls r1, 16 - asrs r1, 19 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r0, 16 - asrs r5, r0, 16 - movs r3, 0x32 - ldrsh r0, [r4, r3] - cmp r5, r0 - beq _081471CE - strh r2, [r4, 0x32] - ldr r0, =0x04000008 - ldrh r2, [r0] - lsrs r2, 8 - movs r0, 0x1F - ands r2, r0 - lsls r2, 11 - movs r0, 0xC0 - lsls r0, 19 - adds r2, r0 - lsls r1, 16 - asrs r1, 16 - subs r0, r1, 0x2 - lsls r0, 5 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - ldr r6, =0x0000f001 - adds r3, r6, 0 - strh r3, [r0] - subs r0, r1, 0x1 - lsls r0, 5 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - strh r3, [r0] - lsls r0, r1, 5 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - strh r3, [r0] - adds r1, 0x1 - lsls r1, 5 - adds r1, r5 - lsls r1, 1 - adds r1, r2 - strh r3, [r1] -_081471CE: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, 0xF - lsls r0, 16 - movs r1, 0x87 - lsls r1, 17 - cmp r0, r1 - bls _081471F2 - adds r0, r4, 0 - movs r1, 0x2D - bl FieldEffectStop -_081471F2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814713C - - thumb_func_start sub_8147204 -sub_8147204: @ 8147204 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B9C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08147216: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08147216 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147204 - - thumb_func_start sub_814723C -sub_814723C: @ 814723C - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - ldr r0, =0x0000f0f1 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, =gUnknown_020393A8 - ldr r2, =0x0000f3f4 -_08147262: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _08147262 - ldr r0, =sub_8147688 - bl SetVBlankCallback - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x78 - strh r0, [r1, 0x2C] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814723C - - thumb_func_start sub_81472A4 -sub_81472A4: @ 81472A4 - push {r4-r7,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2C - ldrsh r3, [r1, r2] - movs r1, 0x1 - negs r1, r1 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A1AC - ldr r5, =gUnknown_02038C28 -_081472D4: - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - movs r7, 0x2A - ldrsh r3, [r0, r7] - lsls r3, 1 - adds r3, r5 - ldrh r1, [r0, 0x28] - adds r1, 0x1 - movs r7, 0xF0 - lsls r7, 7 - adds r2, r7, 0 - orrs r1, r2 - strh r1, [r3] - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - cmp r0, 0 - beq _081472D4 - ldr r1, [r4] - ldrh r0, [r1, 0x2C] - adds r0, 0x10 - strh r0, [r1, 0x2C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _08147318 - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08147318: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81472A4 - - thumb_func_start sub_8147334 -sub_8147334: @ 8147334 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - ldr r4, =sTransitionStructPtr - ldr r1, [r4] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2E - ldrsh r1, [r1, r2] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0xF0 - bl sub_814A1AC - mov r9, r4 - mov r7, r9 - add r5, sp, 0xC -_08147372: - movs r1, 0x78 - ldr r3, [r7] - ldrh r0, [r3, 0x28] - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0x4F - ble _0814738A - ldrh r1, [r3, 0x28] - movs r4, 0xF0 -_0814738A: - ldr r6, =gUnknown_02038C28 - movs r0, 0x2A - ldrsh r2, [r3, r0] - lsls r2, 1 - adds r2, r6 - lsls r1, 16 - asrs r1, 8 - lsls r0, r4, 16 - asrs r4, r0, 16 - orrs r4, r1 - strh r4, [r2] - ldrb r0, [r5] - cmp r0, 0 - bne _081473C0 - adds r0, r3, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - strb r0, [r5] - b _08147372 - .pool -_081473C0: - ldr r1, [r7] - ldrh r0, [r1, 0x2E] - adds r0, 0x8 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0x9F - ble _081473DE - movs r0, 0xF0 - strh r0, [r1, 0x2C] - mov r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08147406 -_081473DE: - movs r3, 0x2A - ldrsh r0, [r1, r3] - cmp r0, r2 - bge _08147406 - adds r3, r4, 0 - ldr r5, =sTransitionStructPtr -_081473EA: - ldr r2, [r5] - ldrh r0, [r2, 0x2A] - adds r0, 0x1 - strh r0, [r2, 0x2A] - lsls r0, 16 - asrs r0, 15 - adds r0, r6 - strh r3, [r0] - movs r4, 0x2A - ldrsh r1, [r2, r4] - movs r4, 0x2E - ldrsh r0, [r2, r4] - cmp r1, r0 - blt _081473EA -_08147406: - mov r1, r9 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147334 - - thumb_func_start sub_8147428 -sub_8147428: @ 8147428 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2C - ldrsh r3, [r1, r2] - movs r1, 0xA0 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A1AC - ldr r5, =gUnknown_02038C28 -_08147456: - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - movs r1, 0x2A - ldrsh r3, [r0, r1] - lsls r3, 1 - adds r3, r5 - ldrh r1, [r0, 0x28] - lsls r1, 8 - movs r2, 0xF0 - orrs r1, r2 - strh r1, [r3] - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - cmp r0, 0 - beq _08147456 - ldr r1, [r4] - ldrh r0, [r1, 0x2C] - subs r0, 0x10 - strh r0, [r1, 0x2C] - lsls r0, 16 - cmp r0, 0 - bgt _08147494 - movs r0, 0xA0 - strh r0, [r1, 0x2E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08147494: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147428 - - thumb_func_start sub_81474B0 -sub_81474B0: @ 81474B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - ldr r4, =sTransitionStructPtr - ldr r1, [r4] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2E - ldrsh r1, [r1, r2] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl sub_814A1AC - ldr r7, =gUnknown_02038C28 - mov r10, r7 - ldr r0, =sTransitionStructPtr - mov r8, r0 - add r6, sp, 0xC -_081474F4: - mov r1, r8 - ldr r4, [r1] - movs r2, 0x2A - ldrsh r0, [r4, r2] - lsls r0, 1 - mov r7, r10 - adds r5, r0, r7 - ldrb r1, [r5] - ldrh r2, [r4, 0x28] - adds r3, r2, 0 - movs r7, 0x2E - ldrsh r0, [r4, r7] - cmp r0, 0x50 - bgt _08147514 - movs r2, 0x78 - adds r1, r3, 0 -_08147514: - lsls r0, r2, 16 - asrs r0, 8 - lsls r1, 16 - asrs r1, 16 - orrs r1, r0 - movs r7, 0 - strh r1, [r5] - ldrb r0, [r6] - cmp r0, 0 - bne _08147540 - adds r0, r4, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - strb r0, [r6] - b _081474F4 - .pool -_08147540: - mov r0, r8 - ldr r2, [r0] - ldrh r0, [r2, 0x2E] - subs r0, 0x8 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bgt _0814755E - strh r7, [r2, 0x2C] - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08147588 -_0814755E: - movs r4, 0x2A - ldrsh r0, [r2, r4] - cmp r0, r3 - ble _08147588 - ldr r6, =gUnknown_02038C28 - adds r3, r1, 0 - ldr r5, =sTransitionStructPtr -_0814756C: - ldr r2, [r5] - ldrh r0, [r2, 0x2A] - subs r0, 0x1 - strh r0, [r2, 0x2A] - lsls r0, 16 - asrs r0, 15 - adds r0, r6 - strh r3, [r0] - movs r7, 0x2A - ldrsh r1, [r2, r7] - movs r4, 0x2E - ldrsh r0, [r2, r4] - cmp r1, r0 - bgt _0814756C -_08147588: - ldr r7, =sTransitionStructPtr - ldr r0, [r7] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81474B0 - - thumb_func_start sub_81475B0 -sub_81475B0: @ 81475B0 - push {r4-r7,lr} - sub sp, 0xC - adds r7, r0, 0 - ldr r1, =sTransitionStructPtr - ldr r0, [r1] - ldrb r2, [r0] - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - adds r0, r1, 0 - adds r0, 0x24 - movs r4, 0x2C - ldrsh r3, [r1, r4] - str r2, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A1AC - ldr r6, =gUnknown_02038C28 -_081475DC: - movs r2, 0x78 - ldr r5, =sTransitionStructPtr - ldr r3, [r5] - ldrh r4, [r3, 0x28] - movs r1, 0x28 - ldrsh r0, [r3, r1] - cmp r0, 0x77 - ble _081475F0 - movs r2, 0 - movs r4, 0xF0 -_081475F0: - movs r0, 0x2A - ldrsh r1, [r3, r0] - lsls r1, 1 - adds r1, r6 - lsls r2, 8 - lsls r0, r4, 16 - asrs r0, 16 - orrs r0, r2 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - cmp r0, 0 - beq _081475DC - ldr r0, [r5] - ldrh r1, [r0, 0x2C] - adds r1, 0x10 - strh r1, [r0, 0x2C] - movs r1, 0x28 - ldrsh r0, [r0, r1] - cmp r0, 0x78 - ble _0814762A - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] -_0814762A: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81475B0 - - thumb_func_start sub_8147648 -sub_8147648: @ 8147648 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_8147204 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147648 - - thumb_func_start sub_8147688 -sub_8147688: @ 8147688 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _081476C0 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081476C0: - ldr r2, =0x04000048 - ldr r1, [r3] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - subs r2, 0x4 - ldr r0, =gUnknown_02038C28 - movs r1, 0xF0 - lsls r1, 3 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - str r0, [r4] - str r2, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147688 - - thumb_func_start sub_8147718 -sub_8147718: @ 8147718 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8BB8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814772A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814772A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147718 - - thumb_func_start sub_8147750 -sub_8147750: @ 8147750 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r2, 0 - ldr r4, =gUnknown_020393A8 - ldr r3, =sTransitionStructPtr -_08147762: - lsls r1, r2, 1 - adds r1, r4 - ldr r0, [r3] - ldrh r0, [r0, 0x16] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9F - bls _08147762 - ldr r0, =sub_8147888 - bl SetVBlankCallback - ldr r0, =sub_81478C0 - bl SetHBlankCallback - movs r0, 0x2 - bl EnableInterrupts - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147750 - - thumb_func_start sub_81477A8 -sub_81477A8: @ 81477A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r2, [r6, 0xC] - lsls r1, r2, 16 - asrs r0, r1, 24 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r4, [r6, 0xA] - movs r0, 0xC0 - lsls r0, 1 - mov r8, r0 - movs r5, 0x80 - lsls r5, 3 - adds r0, r4, r5 - strh r0, [r6, 0xA] - ldr r0, =0x1fff0000 - cmp r1, r0 - bgt _081477E4 - movs r1, 0xC0 - lsls r1, 1 - adds r0, r2, r1 - strh r0, [r6, 0xC] -_081477E4: - movs r5, 0 - lsls r7, r3, 16 -_081477E8: - lsrs r0, r4, 8 - asrs r1, r7, 16 - bl Sin - ldr r1, =gUnknown_02038C28 - lsls r2, r5, 1 - adds r2, r1 - ldr r1, =sTransitionStructPtr - ldr r1, [r1] - ldrh r1, [r1, 0x16] - adds r0, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r5, 0x9F - bls _081477E8 - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bne _08147838 - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade -_08147838: - movs r5, 0x10 - ldrsh r0, [r6, r5] - cmp r0, 0 - beq _0814785A - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814785A - ldr r0, =sub_8147718 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0814785A: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81477A8 - - thumb_func_start sub_8147888 -sub_8147888: @ 8147888 - push {lr} - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _081478AC - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081478AC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147888 - - thumb_func_start sub_81478C0 -sub_81478C0: @ 81478C0 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000016 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81478C0 - - thumb_func_start sub_81478EC -sub_81478EC: @ 81478EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8BC0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081478FE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081478FE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81478EC - - thumb_func_start sub_8147924 -sub_8147924: @ 8147924 - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, =gUnknown_020393A8 - movs r2, 0xF2 -_0814794A: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9F - bls _0814794A - ldr r0, =sub_8147A58 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147924 - - thumb_func_start sub_814797C -sub_814797C: @ 814797C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r7, =gUnknown_02038C28 - ldrh r0, [r4, 0xC] - ldrb r5, [r4, 0xC] - adds r0, 0x10 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xA] - adds r0, 0x8 - strh r0, [r4, 0xA] - movs r6, 0 - movs r0, 0x1 - mov r8, r0 -_081479A4: - adds r0, r5, 0 - movs r1, 0x28 - bl Sin - ldrh r1, [r4, 0xA] - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bge _081479BA - movs r1, 0 -_081479BA: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _081479C4 - movs r1, 0xF0 -_081479C4: - lsls r0, r1, 16 - asrs r0, 16 - lsls r1, r0, 8 - movs r2, 0xF1 - orrs r1, r2 - strh r1, [r7] - cmp r0, 0xEF - bgt _081479D8 - movs r0, 0 - mov r8, r0 -_081479D8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, 0x2 - cmp r6, 0x9F - bls _081479A4 - mov r1, r8 - cmp r1, 0 - beq _081479F6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081479F6: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814797C - - thumb_func_start sub_8147A18 -sub_8147A18: @ 8147A18 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_81478EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147A18 - - thumb_func_start sub_8147A58 -sub_8147A58: @ 8147A58 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _08147A90 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08147A90: - ldr r2, =0x04000048 - ldr r1, [r3] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldr r0, =gUnknown_020393A8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147A58 - - thumb_func_start sub_8147AE4 -sub_8147AE4: @ 8147AE4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147AE4 - - thumb_func_start sub_8147B04 -sub_8147B04: @ 8147B04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B04 - - thumb_func_start sub_8147B24 -sub_8147B24: @ 8147B24 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x2 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B24 - - thumb_func_start sub_8147B44 -sub_8147B44: @ 8147B44 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x3 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B44 - - thumb_func_start sub_8147B64 -sub_8147B64: @ 8147B64 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x4 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B64 - - thumb_func_start sub_8147B84 -sub_8147B84: @ 8147B84 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8BCC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08147B96: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08147B96 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B84 - - thumb_func_start sub_8147BBC -sub_8147BBC: @ 8147BBC - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - adds r0, r4, 0 - bl sub_8148218 - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xEF - strh r0, [r4, 0xE] - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x3F - strh r0, [r1, 0x2] - movs r0, 0x3E - strh r0, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, =gUnknown_020393A8 - ldr r2, =0x0000f0f1 -_08147BF0: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9F - bls _08147BF0 - ldr r0, =sub_81480CC - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147BBC - - thumb_func_start sub_8147C24 -sub_8147C24: @ 8147C24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - ldr r6, =gUnknown_085C94D0 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_085B9AF0 - ldr r1, [sp, 0x4] - movs r2, 0xF0 - bl CpuSet - ldr r1, =gUnknown_085C8FDC - mov r2, r8 - movs r3, 0x26 - ldrsh r0, [r2, r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gUnknown_085C8FF0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xFA - movs r2, 0xC - bl LoadPalette - movs r1, 0 - ldr r5, [sp] - movs r0, 0xF0 - lsls r0, 8 - adds r7, r0, 0 -_08147C78: - movs r0, 0 - lsls r3, r1, 16 - asrs r4, r3, 11 -_08147C7E: - lsls r2, r0, 16 - asrs r2, 16 - adds r1, r4, r2 - lsls r1, 1 - adds r1, r5 - ldrh r0, [r6] - orrs r0, r7 - strh r0, [r1] - adds r2, 0x1 - lsls r2, 16 - adds r6, 0x2 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0x1F - ble _08147C7E - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _08147C78 - movs r0, 0x2 - bl EnableInterrupts - ldr r0, =sub_81481E0 - bl SetHBlankCallback - mov r2, r8 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147C24 - - thumb_func_start sub_8147CE4 -sub_8147CE4: @ 8147CE4 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r7, =gUnknown_02038C28 - ldrh r0, [r4, 0xA] - ldrb r5, [r4, 0xA] - adds r0, 0x10 - strh r0, [r4, 0xA] - movs r6, 0 -_08147CFE: - adds r0, r5, 0 - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0xC] - adds r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r0, 0 - bge _08147D14 - movs r2, 0x1 -_08147D14: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _08147D1E - movs r2, 0xF0 -_08147D1E: - strh r2, [r7] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, 0x2 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r6, 0x4F - bls _08147CFE - cmp r6, 0x9F - bhi _08147D76 -_08147D38: - adds r0, r5, 0 - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0xE] - subs r1, r0 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r1, 0 - bge _08147D4E - movs r2, 0 -_08147D4E: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _08147D58 - movs r2, 0xEF -_08147D58: - lsls r0, r2, 16 - asrs r0, 8 - movs r1, 0xF0 - orrs r0, r1 - strh r0, [r7] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, 0x2 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r6, 0x9F - bls _08147D38 -_08147D76: - ldrh r1, [r4, 0xC] - adds r1, 0x8 - strh r1, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x8 - strh r0, [r4, 0xE] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF0 - ble _08147D8E - movs r0, 0xF0 - strh r0, [r4, 0xC] -_08147D8E: - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _08147D9A - movs r0, 0 - strh r0, [r4, 0xE] -_08147D9A: - ldr r0, [r4, 0xC] - cmp r0, 0xF0 - bne _08147DA6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08147DA6: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147CE4 - - thumb_func_start sub_8147DD0 -sub_8147DD0: @ 8147DD0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_02038C28 - adds r5, r2, 0 - movs r2, 0xF0 -_08147DE4: - strh r2, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x2 - cmp r0, 0x9F - bls _08147DE4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - strh r1, [r4, 0xC] - strh r1, [r4, 0xE] - ldr r1, [r5] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r1, 0 - bl sub_8148484 - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r1, 0x1 - bl sub_8148484 - movs r1, 0x22 - ldrsh r0, [r4, r1] - bl sub_814849C - movs r0, 0x68 - bl PlaySE - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147DD0 - - thumb_func_start sub_8147E4C -sub_8147E4C: @ 8147E4C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x22 - ldrsh r0, [r4, r1] - bl sub_81484B8 - lsls r0, 16 - cmp r0, 0 - beq _08147E7C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x24 - ldrsh r0, [r4, r1] - bl sub_814849C -_08147E7C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147E4C - - thumb_func_start sub_8147E88 -sub_8147E88: @ 8147E88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r7, =sTransitionStructPtr - ldr r1, [r7] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - movs r2, 0 - mov r8, r2 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x24 - ldrsh r0, [r6, r1] - bl sub_81484B8 - lsls r0, 16 - cmp r0, 0 - beq _08147F1C - ldr r1, [r7] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - movs r0, 0 - bl SetVBlankCallback - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r4, =gUnknown_02038C28 - movs r5, 0xA0 - lsls r5, 1 - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - bl memset - movs r2, 0xF0 - lsls r2, 3 - adds r4, r2 - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - bl memset - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - mov r0, r8 - strh r0, [r6, 0xE] - strh r0, [r6, 0x10] - ldr r1, [r7] - movs r0, 0xBF - strh r0, [r1, 0xE] - ldr r0, =sub_8148160 - bl SetVBlankCallback -_08147F1C: - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147E88 - - thumb_func_start sub_8147F40 -sub_8147F40: @ 8147F40 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - movs r6, 0x1 - ldr r1, [r2] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - ldrh r1, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - mov r12, r2 - cmp r0, 0x4F - bgt _08147F6E - adds r0, r1, 0x2 - strh r0, [r4, 0x10] -_08147F6E: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _08147F7A - movs r0, 0x50 - strh r0, [r4, 0x10] -_08147F7A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - movs r1, 0x1 - ands r0, r1 - ldrh r3, [r4, 0x10] - cmp r0, 0 - beq _08147FDC - movs r2, 0 - lsls r0, r3, 16 - movs r6, 0 - cmp r0, 0 - blt _08147FDC - movs r7, 0x50 - ldr r5, =gUnknown_02038C28 -_08147F98: - lsls r0, r2, 16 - asrs r3, r0, 16 - subs r1, r7, r3 - adds r0, r3, 0 - adds r0, 0x50 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - asrs r1, 15 - adds r1, r5 - ldrh r0, [r1] - cmp r0, 0xF - bhi _08147FB8 - movs r6, 0x1 - adds r0, 0x1 - strh r0, [r1] -_08147FB8: - lsls r0, r2, 16 - asrs r0, 15 - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, 0xF - bhi _08147FCA - movs r6, 0x1 - adds r0, 0x1 - strh r0, [r1] -_08147FCA: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - movs r3, 0x10 - ldrsh r1, [r4, r3] - ldrh r3, [r4, 0x10] - cmp r0, r1 - ble _08147F98 -_08147FDC: - cmp r3, 0x50 - bne _08147FEA - cmp r6, 0 - bne _08147FEA - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08147FEA: - mov r1, r12 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147F40 - - thumb_func_start sub_8148008 -sub_8148008: @ 8148008 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, =sTransitionStructPtr - ldr r0, [r5] - ldrb r1, [r0] - movs r6, 0 - strb r6, [r0] - movs r0, 0x1 - negs r0, r0 - ldr r2, =0x00007fff - movs r1, 0x10 - bl BlendPalettes - ldr r1, [r5] - movs r0, 0xFF - strh r0, [r1, 0xE] - strh r6, [r4, 0xE] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148008 - - thumb_func_start sub_8148040 -sub_8148040: @ 8148040 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =sTransitionStructPtr - ldr r1, [r5] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - ldr r0, =gUnknown_02038C28 - movs r2, 0xE - ldrsh r1, [r4, r2] - movs r2, 0xA0 - lsls r2, 1 - bl memset - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0xF - ble _08148070 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08148070: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148040 - - thumb_func_start sub_814808C -sub_814808C: @ 814808C - push {r4,lr} - adds r4, r0, 0 - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814808C - - thumb_func_start sub_81480CC -sub_81480CC: @ 81480CC - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _08148104 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08148104: - ldr r2, =0x04000012 - ldr r1, [r3] - ldrh r0, [r1, 0x1C] - strh r0, [r2] - adds r2, 0x36 - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldr r0, =gUnknown_020393A8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81480CC - - thumb_func_start sub_8148160 -sub_8148160: @ 8148160 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r2, =sTransitionStructPtr - ldr r0, [r2] - ldrb r0, [r0] - cmp r0, 0 - beq _08148198 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r3, 0xF0 - lsls r3, 3 - adds r0, r3 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08148198: - ldr r1, =0x04000050 - ldr r0, [r2] - ldrh r0, [r0, 0xE] - strh r0, [r1] - ldr r0, =gUnknown_020393A8 - str r0, [r4] - ldr r0, =0x04000054 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148160 - - thumb_func_start sub_81481E0 -sub_81481E0: @ 81481E0 - push {lr} - ldr r0, =0x04000006 - ldrh r0, [r0] - cmp r0, 0x4F - bhi _08148200 - ldr r1, =0x04000010 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrh r0, [r0, 0x18] - b _08148208 - .pool -_08148200: - ldr r1, =0x04000010 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrh r0, [r0, 0x1A] -_08148208: - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81481E0 - - thumb_func_start sub_8148218 -sub_8148218: @ 8148218 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =gUnknown_085C8BF4 - movs r2, 0x26 - ldrsh r1, [r4, r2] - mov r8, r1 - add r0, r8 - ldrb r0, [r0] - ldr r2, =gUnknown_085C8C0E - lsls r1, 2 - mov r8, r1 - adds r1, r2 - ldrh r1, [r1] - subs r1, 0x20 - lsls r1, 16 - asrs r1, 16 - adds r2, 0x2 - add r2, r8 - ldrh r2, [r2] - adds r2, 0x2A - lsls r2, 16 - asrs r2, 16 - ldr r5, =0x0201c000 - str r5, [sp] - movs r3, 0 - bl sub_80B5E6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x88 - lsls r1, 1 - str r5, [sp] - movs r2, 0x6A - movs r3, 0 - bl sub_80B5E6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - movs r3, 0x22 - ldrsh r0, [r4, r3] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r1, =gSprites - adds r5, r1 - movs r2, 0x24 - ldrsh r0, [r4, r2] - lsls r6, r0, 4 - adds r6, r0 - lsls r6, 2 - adds r6, r1 - ldr r0, =sub_8148380 - str r0, [r5, 0x1C] - str r0, [r6, 0x1C] - ldrb r0, [r5, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r5, 0x1] - ldrb r0, [r6, 0x1] - orrs r0, r1 - strb r0, [r6, 0x1] - bl AllocOamMatrix - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1F - mov r9, r3 - mov r4, r9 - ands r0, r4 - lsls r0, 1 - ldrb r2, [r5, 0x3] - movs r4, 0x3F - negs r4, r4 - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - bl AllocOamMatrix - lsls r0, 24 - lsrs r0, 24 - mov r1, r9 - ands r0, r1 - lsls r0, 1 - ldrb r1, [r6, 0x3] - ands r4, r1 - orrs r4, r0 - strb r4, [r6, 0x3] - ldrb r2, [r5, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x40 - orrs r0, r2 - strb r0, [r5, 0x1] - ldrb r0, [r6, 0x1] - ands r1, r0 - orrs r1, r2 - strb r1, [r6, 0x1] - ldrb r0, [r5, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r0, [r6, 0x3] - orrs r0, r1 - strb r0, [r6, 0x3] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r2, =gUnknown_085C8BFA - mov r3, r8 - adds r1, r3, r2 - movs r4, 0 - ldrsh r1, [r1, r4] - adds r2, 0x2 - add r8, r2 - mov r3, r8 - movs r4, 0 - ldrsh r2, [r3, r4] - movs r3, 0 - bl SetOamMatrixRotationScaling - ldrb r0, [r6, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, =0xfffffe00 - movs r2, 0x80 - lsls r2, 2 - movs r3, 0 - bl SetOamMatrixRotationScaling - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148218 - - thumb_func_start sub_8148380 -sub_8148380: @ 8148380 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_085C8C24 -_08148386: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148386 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148380 - - thumb_func_start sub_81483A8 -sub_81483A8: @ 81483A8 - movs r0, 0 - bx lr - thumb_func_end sub_81483A8 - - thumb_func_start sub_81483AC -sub_81483AC: @ 81483AC - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r1, =gUnknown_085C8C40 - mov r0, sp - movs r2, 0x4 - bl memcpy - add r4, sp, 0x4 - ldr r1, =gUnknown_085C8C44 - adds r0, r4, 0 - movs r2, 0x4 - bl memcpy - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r1, 0x3C - ldrsh r0, [r5, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x30] - movs r1, 0x3C - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r4, r0 - ldrh r0, [r4] - strh r0, [r5, 0x32] - movs r0, 0x1 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81483AC - - thumb_func_start sub_81483F8 -sub_81483F8: @ 81483F8 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - ldrh r3, [r1, 0x20] - adds r2, r0, r3 - strh r2, [r1, 0x20] - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08148416 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x84 - bgt _08148424 - b _0814841E -_08148416: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x67 - ble _08148424 -_0814841E: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_08148424: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_81483F8 - - thumb_func_start sub_814842C -sub_814842C: @ 814842C - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x32] - ldrh r0, [r2, 0x30] - adds r1, r3, r0 - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - lsls r1, 16 - cmp r1, 0 - bne _08148452 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - negs r0, r3 - strh r0, [r2, 0x32] - movs r0, 0x1 - strh r0, [r2, 0x3A] -_08148452: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_814842C - - thumb_func_start sub_8148458 -sub_8148458: @ 8148458 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - adds r0, r1 - strh r0, [r2, 0x30] - ldrh r1, [r2, 0x20] - adds r1, r0 - strh r1, [r2, 0x20] - adds r1, 0x1F - lsls r1, 16 - movs r0, 0x97 - lsls r0, 17 - cmp r1, r0 - bls _0814847C - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_0814847C: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8148458 - - thumb_func_start sub_8148484 -sub_8148484: @ 8148484 - ldr r3, =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - strh r1, [r2, 0x3C] - bx lr - .pool - thumb_func_end sub_8148484 - - thumb_func_start sub_814849C -sub_814849C: @ 814849C - ldr r2, =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - bx lr - .pool - thumb_func_end sub_814849C - - thumb_func_start sub_81484B8 -sub_81484B8: @ 81484B8 - ldr r2, =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x3A - ldrsh r0, [r1, r2] - bx lr - .pool - thumb_func_end sub_81484B8 - - thumb_func_start sub_81484D0 -sub_81484D0: @ 81484D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C48 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081484E2: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081484E2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81484D0 - - thumb_func_start sub_8148508 -sub_8148508: @ 8148508 - push {r4-r6,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r4, 0 - movs r3, 0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0xC] - movs r0, 0x1 - strh r0, [r5, 0xE] - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r3, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - ldrb r0, [r1] - strb r4, [r1] - ldr r4, =gUnknown_020393A8 - adds r6, r2, 0 - movs r2, 0xF0 -_0814853A: - lsls r1, r3, 1 - adds r1, r4 - ldr r0, [r6] - ldrh r0, [r0, 0x14] - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xA0 - lsls r0, 1 - adds r0, r4 - strh r2, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9F - bls _0814853A - movs r0, 0x2 - bl EnableInterrupts - movs r0, 0x4 - movs r1, 0x10 - bl SetGpuRegBits - ldr r0, =sub_814869C - bl SetVBlankCallback - ldr r0, =sub_8148728 - bl SetHBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148508 - - thumb_func_start sub_8148590 -sub_8148590: @ 8148590 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r3, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r0, [r3, 0xC] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r3, 0xA] - adds r0, r1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - mov r8, r2 - cmp r0, 0xF0 - ble _081485BC - movs r0, 0xF0 - strh r0, [r3, 0xA] -_081485BC: - ldrh r4, [r3, 0xC] - movs r0, 0xC - ldrsh r1, [r3, r0] - ldr r0, =0x00000fff - ldrh r2, [r3, 0xE] - cmp r1, r0 - bgt _081485CE - adds r0, r4, r2 - strh r0, [r3, 0xC] -_081485CE: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x7F - bgt _081485DA - lsls r0, r2, 1 - strh r0, [r3, 0xE] -_081485DA: - movs r5, 0 - ldr r7, =gUnknown_02038C28 - movs r1, 0xA0 - lsls r1, 1 - adds r1, r7 - mov r12, r1 - mov r6, r8 -_081485E8: - lsls r0, r5, 1 - adds r2, r0, r7 - mov r1, r12 - adds r4, r0, r1 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08148618 - ldr r1, [r6] - ldrh r0, [r3, 0xA] - ldrh r1, [r1, 0x14] - adds r0, r1 - strh r0, [r2] - ldrh r1, [r3, 0xA] - movs r0, 0xF0 - subs r0, r1 - b _0814862A - .pool -_08148618: - ldr r0, [r6] - ldrh r0, [r0, 0x14] - ldrh r1, [r3, 0xA] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r3, 0xA] - lsls r0, 8 - movs r1, 0xF1 - orrs r0, r1 -_0814862A: - strh r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x9F - bls _081485E8 - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0xEF - ble _08148644 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08148644: - mov r1, r8 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8148590 - - thumb_func_start sub_814865C -sub_814865C: @ 814865C - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_81484D0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_814865C - - thumb_func_start sub_814869C -sub_814869C: @ 814869C - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r2, =0x04000048 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldrb r0, [r1] - cmp r0, 0 - beq _081486E6 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081486E6: - ldr r0, =gUnknown_020394E8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814869C - - thumb_func_start sub_8148728 -sub_8148728: @ 8148728 - push {lr} - ldr r2, =0x04000006 - ldrh r0, [r2] - cmp r0, 0x9F - bhi _0814874E - ldr r1, =gUnknown_02038C28 - ldrh r0, [r2] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000014 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] -_0814874E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148728 - - thumb_func_start sub_8148760 -sub_8148760: @ 8148760 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C54 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148772: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148772 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148760 - - thumb_func_start sub_8148798 -sub_8148798: @ 8148798 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r4, 0 - ldr r5, =gUnknown_02038C28 - movs r0, 0xF0 - lsls r0, 3 - adds r0, r5 - mov r12, r0 - mov r8, r4 - movs r1, 0xF0 - mov r9, r1 -_081487CC: - lsls r2, r4, 1 - mov r7, r12 - adds r1, r2, r7 - ldr r0, =sTransitionStructPtr - ldr r3, [r0] - ldrh r0, [r3, 0x14] - strh r0, [r1] - adds r1, r4, 0 - adds r1, 0xA0 - lsls r1, 1 - adds r0, r1, r7 - mov r7, r9 - strh r7, [r0] - adds r2, r5 - ldrh r0, [r3, 0x14] - strh r0, [r2] - adds r1, r5 - mov r0, r9 - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r4, r1 - lsls r0, 1 - adds r0, r5 - mov r7, r8 - strh r7, [r0] - adds r1, 0xA0 - adds r0, r4, r1 - lsls r0, 1 - adds r0, r5 - subs r1, 0xE0 - strh r1, [r0] - movs r7, 0xA0 - lsls r7, 2 - adds r0, r4, r7 - lsls r0, 1 - adds r0, r5 - movs r1, 0x1 - strh r1, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9F - bls _081487CC - movs r0, 0 - strh r0, [r6, 0x10] - strh r0, [r6, 0x12] - movs r0, 0x7 - strh r0, [r6, 0x14] - movs r0, 0x2 - bl EnableInterrupts - ldr r0, =sub_814869C - bl SetVBlankCallback - ldr r0, =sub_8148728 - bl SetHBlankCallback - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148798 - - thumb_func_start sub_8148864 -sub_8148864: @ 8148864 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r9, r0 - ldr r1, =gUnknown_085C8C64 - mov r0, sp - movs r2, 0x2 - bl memcpy - add r4, sp, 0x4 - ldr r1, =gUnknown_085C8C66 - adds r0, r4, 0 - movs r2, 0x4 - bl memcpy - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - str r0, [sp, 0x8] - mov r10, r0 - mov r1, r9 - movs r3, 0x12 - ldrsh r0, [r1, r3] - ldr r1, [sp, 0x8] - cmp r1, r0 - ble _081488A4 - b _08148A68 -_081488A4: - movs r7, 0 - mov r2, r10 - negs r2, r2 - str r2, [sp, 0xC] - mov r3, r10 - adds r3, 0x1 - str r3, [sp, 0x10] -_081488B2: - movs r6, 0 - mov r0, sp - adds r0, r7 - mov r12, r0 -_081488BA: - lsls r0, r6, 1 - add r0, sp - adds r0, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - ldr r2, [sp, 0xC] - muls r0, r2 - lsls r0, 1 - mov r3, r12 - ldrb r3, [r3] - adds r0, r3 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0 - blt _08148966 - cmp r0, 0x4F - bne _081488E2 - cmp r7, 0x1 - beq _08148966 -_081488E2: - lsls r1, r0, 1 - ldr r0, =gUnknown_02038EA8 - adds r4, r1, r0 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2 - adds r3, r1, r0 - ldr r0, =gUnknown_02039128 - adds r1, r0 - ldrh r2, [r4] - cmp r2, 0xEF - bls _08148920 - movs r1, 0xF0 - strh r1, [r4] - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - b _08148940 - .pool -_08148920: - ldrh r0, [r3] - lsrs r0, 8 - adds r0, r2, r0 - strh r0, [r4] - ldrh r0, [r1] - cmp r0, 0x7F - bhi _08148932 - lsls r0, 1 - strh r0, [r1] -_08148932: - ldrh r2, [r3] - ldr r0, =0x00000fff - cmp r2, r0 - bhi _08148940 - ldrh r0, [r1] - adds r0, r2, r0 - strh r0, [r3] -_08148940: - lsls r0, r5, 16 - asrs r0, 15 - ldr r1, =gUnknown_02038C28 - adds r2, r0, r1 - ldr r1, =gUnknown_02038D68 - adds r3, r0, r1 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r4] - ldrh r1, [r1, 0x14] - adds r0, r1 - strh r0, [r2] - ldrh r0, [r4] - movs r1, 0xF0 - subs r0, r1, r0 - strh r0, [r3] - mov r2, r10 - cmp r2, 0 - beq _08148970 -_08148966: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1 - bls _081488BA -_08148970: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _081488B2 - movs r7, 0 - ldr r3, =gUnknown_02038EA8 - mov r8, r3 -_08148980: - movs r6, 0 - mov r0, sp - adds r0, r7 - mov r12, r0 - adds r1, r7, 0x1 - str r1, [sp, 0x14] -_0814898C: - mov r2, r12 - ldrb r1, [r2] - adds r1, 0x1 - lsls r0, r6, 1 - add r0, sp - adds r0, 0x4 - movs r3, 0 - ldrsh r0, [r0, r3] - ldr r2, [sp, 0xC] - muls r0, r2 - lsls r0, 1 - adds r1, r0 - lsls r1, 16 - lsrs r5, r1, 16 - asrs r1, 16 - cmp r1, 0xA0 - bgt _08148A40 - cmp r1, 0x50 - bne _081489B6 - cmp r7, 0x1 - beq _08148A40 -_081489B6: - lsls r1, 1 - mov r3, r8 - adds r4, r1, r3 - movs r0, 0xA0 - lsls r0, 1 - add r0, r8 - adds r3, r1, r0 - ldr r0, =gUnknown_02039128 - adds r1, r0 - ldrh r2, [r4] - cmp r2, 0xEF - bls _081489F8 - movs r1, 0xF0 - strh r1, [r4] - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - b _08148A18 - .pool -_081489F8: - ldrh r0, [r3] - lsrs r0, 8 - adds r0, r2, r0 - strh r0, [r4] - ldrh r0, [r1] - cmp r0, 0x7F - bhi _08148A0A - lsls r0, 1 - strh r0, [r1] -_08148A0A: - ldrh r2, [r3] - ldr r0, =0x00000fff - cmp r2, r0 - bhi _08148A18 - ldrh r0, [r1] - adds r0, r2, r0 - strh r0, [r3] -_08148A18: - lsls r0, r5, 16 - asrs r0, 15 - ldr r1, =gUnknown_02038C28 - adds r2, r0, r1 - ldr r1, =gUnknown_02038D68 - adds r3, r0, r1 - ldr r1, =sTransitionStructPtr - ldr r0, [r1] - ldrh r1, [r0, 0x14] - ldrh r0, [r4] - subs r1, r0 - strh r1, [r2] - ldrh r0, [r4] - lsls r0, 8 - movs r1, 0xF1 - orrs r0, r1 - strh r0, [r3] - mov r2, r10 - cmp r2, 0 - beq _08148A4A -_08148A40: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1 - bls _0814898C -_08148A4A: - ldr r3, [sp, 0x14] - lsls r0, r3, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _08148980 - ldr r1, [sp, 0x10] - lsls r0, r1, 16 - lsrs r0, 16 - mov r10, r0 - mov r2, r9 - movs r3, 0x12 - ldrsh r0, [r2, r3] - cmp r10, r0 - bgt _08148A68 - b _081488A4 -_08148A68: - mov r1, r9 - ldrh r0, [r1, 0x10] - subs r0, 0x1 - strh r0, [r1, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _08148A7A - movs r0, 0 - strh r0, [r1, 0x10] -_08148A7A: - mov r2, r9 - movs r3, 0x10 - ldrsh r0, [r2, r3] - cmp r0, 0 - bgt _08148A98 - movs r1, 0x12 - ldrsh r0, [r2, r1] - adds r0, 0x1 - cmp r0, 0x14 - bgt _08148A98 - ldrh r0, [r2, 0x14] - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x12] - adds r0, 0x1 - strh r0, [r2, 0x12] -_08148A98: - ldr r2, [sp, 0x8] - cmp r2, 0x9F - bls _08148AA6 - mov r3, r9 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08148AA6: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148864 - - thumb_func_start sub_8148AD4 -sub_8148AD4: @ 8148AD4 - push {r4,r5,lr} - adds r3, r0, 0 - movs r2, 0x1 - ldr r5, =0x0000ff10 - movs r1, 0 - ldr r4, =gUnknown_020393A8 -_08148AE0: - lsls r0, r1, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0xF0 - beq _08148AF0 - cmp r0, r5 - beq _08148AF0 - movs r2, 0 -_08148AF0: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _08148AE0 - cmp r2, 0x1 - bne _08148B04 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08148B04: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148AD4 - - thumb_func_start sub_8148B14 -sub_8148B14: @ 8148B14 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_8148760 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148B14 - - thumb_func_start sub_8148B54 -sub_8148B54: @ 8148B54 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C6C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148B66: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148B66 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148B54 - - thumb_func_start sub_8148B8C -sub_8148B8C: @ 8148B8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C78 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148B9E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148B9E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148B8C - - thumb_func_start sub_8148BC4 -sub_8148BC4: @ 8148BC4 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - ldr r0, =gUnknown_02038C28 - movs r2, 0 - movs r1, 0x9F - ldr r3, =0x000008be - adds r0, r3 -_08148BEE: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _08148BEE - movs r4, 0 - ldr r0, =sub_8146F68 - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - strh r0, [r5, 0xA] - adds r0, 0xFF - strh r0, [r5, 0xC] - strh r4, [r5, 0x16] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148BC4 - - thumb_func_start sub_8148C28 -sub_8148C28: @ 8148C28 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08148C6C - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - movs r0, 0 - bl SetVBlankCallback - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _08148CDE - .pool -_08148C6C: - ldr r5, =sTransitionStructPtr - ldr r1, [r5] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r2, [r4, 0xC] - movs r0, 0xC - ldrsh r1, [r4, r0] - ldr r0, =0x000003ff - cmp r1, r0 - bgt _08148C88 - adds r0, r2, 0 - adds r0, 0x80 - strh r0, [r4, 0xC] -_08148C88: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x9F - bgt _08148C9C - ldrh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 24 - adds r0, r1, r0 - strh r0, [r4, 0xA] -_08148C9C: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - ble _08148CA8 - movs r0, 0xA0 - strh r0, [r4, 0xA] -_08148CA8: - ldr r0, =gUnknown_02038C28 - movs r2, 0xA - ldrsh r3, [r4, r2] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - bne _08148CD4 - movs r0, 0x1 - strh r0, [r4, 0x16] - bl sub_8149F84 - b _08148CDE - .pool -_08148CD4: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] -_08148CDE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8148C28 - - thumb_func_start sub_8148CE8 -sub_8148CE8: @ 8148CE8 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =sTransitionStructPtr - ldr r0, [r6] - ldrb r1, [r0] - movs r5, 0 - strb r5, [r0] - ldrh r1, [r4, 0x16] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08148D0A - adds r0, r1, 0x1 - strh r0, [r4, 0x16] - movs r0, 0x30 - strh r0, [r4, 0xA] - strh r5, [r4, 0x14] -_08148D0A: - ldr r1, =gUnknown_085C8C80 - movs r2, 0x14 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldrh r1, [r4, 0xA] - adds r0, r1 - strh r0, [r4, 0xA] - movs r2, 0x14 - ldrsh r1, [r4, r2] - adds r1, 0x1 - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - strh r1, [r4, 0x14] - ldr r0, =gUnknown_02038C28 - movs r1, 0xA - ldrsh r3, [r4, r1] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bgt _08148D4C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0x16] -_08148D4C: - ldr r0, [r6] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148CE8 - - thumb_func_start sub_8148D6C -sub_8148D6C: @ 8148D6C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r1, [r4, 0x16] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08148D8E - adds r0, r1, 0x1 - strh r0, [r4, 0x16] - movs r0, 0x2 - strh r0, [r4, 0x12] - strh r0, [r4, 0x14] -_08148D8E: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - ble _08148D9A - movs r0, 0xA0 - strh r0, [r4, 0xA] -_08148D9A: - ldr r0, =gUnknown_02038C28 - movs r2, 0xA - ldrsh r3, [r4, r2] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - bne _08148DD6 - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08148DD6: - ldrh r2, [r4, 0x12] - ldrb r0, [r4, 0x12] - cmp r0, 0x80 - bgt _08148DFC - ldrh r1, [r4, 0x14] - adds r0, r2, 0 - adds r0, 0x8 - b _08148E08 - .pool -_08148DFC: - ldrh r0, [r4, 0x14] - subs r0, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r0, r2, 0 - adds r0, 0x10 -_08148E08: - strh r0, [r4, 0x12] - movs r0, 0xFF - ands r2, r0 - lsls r1, 16 - asrs r1, 16 - adds r0, r2, 0 - bl Sin - ldrh r2, [r4, 0xA] - adds r0, r2 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _08148E28 - movs r0, 0x1 - strh r0, [r4, 0xA] -_08148E28: - ldrh r0, [r4, 0x12] - lsls r1, r0, 16 - asrs r0, r1, 16 - cmp r0, 0xFE - ble _08148E3C - asrs r0, r1, 24 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] -_08148E3C: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148D6C - - thumb_func_start sub_8148E54 -sub_8148E54: @ 8148E54 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C84 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148E66: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148E66 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148E54 - - thumb_func_start sub_8148E8C -sub_8148E8C: @ 8148E8C - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - ldr r4, =gUnknown_085BACD0 - ldr r1, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0x10 - bl CpuSet - movs r0, 0xE0 - lsls r0, 1 - adds r4, r0 - ldr r1, [sp, 0x8] - adds r1, 0x40 - adds r0, r4, 0 - movs r2, 0x10 - bl CpuSet - mov r1, sp - movs r2, 0xF0 - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r1, 0 - movs r4, 0x1 - movs r0, 0x1 - strh r0, [r5, 0xE] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldr r5, =gUnknown_03001210 - strb r1, [r5] - ldr r0, =0x0000ffff - strh r0, [r5, 0x2] - strb r4, [r5, 0x4] - movs r2, 0x9A - lsls r2, 1 - strh r2, [r5, 0x6] - strb r1, [r5, 0x8] - strb r1, [r5, 0xC] - movs r0, 0x1 - negs r0, r0 - strh r0, [r5, 0xE] - strb r4, [r5, 0x10] - strh r2, [r5, 0x12] - strb r1, [r5, 0x14] - strb r1, [r5, 0x18] - ldr r2, =0x0000fffd - strh r2, [r5, 0x1A] - strb r4, [r5, 0x1C] - ldr r3, =0x00000133 - strh r3, [r5, 0x1E] - adds r0, r5, 0 - adds r0, 0x20 - strb r1, [r0] - adds r0, 0x4 - strb r1, [r0] - strh r2, [r5, 0x26] - adds r0, 0x4 - strb r4, [r0] - strh r3, [r5, 0x2A] - adds r0, 0x4 - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148E8C - - thumb_func_start sub_8148F4C -sub_8148F4C: @ 8148F4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - movs r7, 0x1 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - movs r0, 0 -_08148F62: - movs r5, 0 - adds r6, r0, 0x1 -_08148F66: - ldr r1, =gUnknown_085C8D38 - lsrs r0, r5, 1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - ldr r2, =gUnknown_03001210 - adds r4, r1, r2 - adds r1, r4, 0 - bl sub_8149048 - lsls r0, 16 - cmp r0, 0 - beq _08148FCA - movs r7, 0 - ldrh r2, [r4, 0x2] - movs r0, 0x1 - ands r0, r5 - cmp r0, 0x1 - bne _08148FA0 - ldr r0, =0x0000027d - adds r1, r0, 0 - lsls r0, r2, 16 - asrs r0, 16 - subs r1, r0 - lsls r1, 16 - lsrs r2, r1, 16 -_08148FA0: - lsls r0, r2, 16 - asrs r1, r0, 16 - adds r0, r1, 0 - cmp r1, 0 - bge _08148FAC - adds r0, 0x1F -_08148FAC: - asrs r2, r0, 5 - lsls r0, r2, 5 - subs r0, r1, r0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r2, 5 - lsls r0, 16 - asrs r0, 16 - adds r1, r0 - ldr r0, [sp] - lsls r1, 1 - adds r1, r0 - ldr r2, =0x0000f002 - adds r0, r2, 0 - strh r0, [r1] -_08148FCA: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08148F66 - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08148F62 - cmp r7, 0x1 - bne _08148FE8 - mov r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08148FE8: - movs r0, 0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148F4C - - thumb_func_start sub_8149008 -sub_8149008: @ 8149008 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149008 - - thumb_func_start sub_8149048 -sub_8149048: @ 8149048 - push {r4,lr} - adds r2, r1, 0 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r3, [r1] - ldrb r0, [r2, 0x4] - lsls r0, 1 - adds r0, r3 - movs r4, 0 - ldrsh r1, [r0, r4] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081490CE - ldr r1, =gUnknown_03001208 - ldrh r0, [r3] - strh r0, [r1] - ldrh r0, [r3, 0x2] - strh r0, [r1] - ldrh r0, [r3, 0x4] - strh r0, [r1] - ldrh r0, [r3, 0x6] - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - beq _081490A0 - cmp r0, 0x2 - bgt _08149090 - cmp r0, 0x1 - beq _0814909A - b _081490B2 - .pool -_08149090: - cmp r0, 0x3 - beq _081490A6 - cmp r0, 0x4 - beq _081490AC - b _081490B2 -_0814909A: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - b _081490B0 -_081490A0: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - b _081490B0 -_081490A6: - ldrh r0, [r2, 0x2] - subs r0, 0x20 - b _081490B0 -_081490AC: - ldrh r0, [r2, 0x2] - adds r0, 0x20 -_081490B0: - strh r0, [r2, 0x2] -_081490B2: - movs r4, 0x2 - ldrsh r1, [r2, r4] - ldr r0, =0x0000027f - cmp r1, r0 - bgt _081490CE - ldrb r0, [r2, 0x4] - lsls r0, 1 - adds r0, r3 - movs r4, 0 - ldrsh r1, [r0, r4] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _081490D8 -_081490CE: - movs r0, 0 - b _08149138 - .pool -_081490D8: - ldrb r0, [r2, 0x8] - cmp r0, 0 - bne _081490F4 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - bne _081490F4 - movs r0, 0x1 - strb r0, [r2, 0x8] - strb r0, [r2, 0x4] - ldrh r0, [r2, 0x6] - strh r0, [r2, 0x2] - movs r0, 0x4 - strb r0, [r2] -_081490F4: - ldrb r0, [r2, 0x4] - lsls r0, 1 - adds r0, r3 - movs r3, 0x2 - ldrsh r1, [r2, r3] - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r1, r0 - bne _08149136 - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - ldrb r0, [r2, 0x8] - cmp r0, 0x1 - bne _08149124 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _08149136 - ldrb r0, [r2, 0x4] - adds r0, 0x1 - strb r0, [r2, 0x4] - movs r0, 0x4 - b _08149134 -_08149124: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08149136 - ldrb r0, [r2, 0x4] - adds r0, 0x1 - strb r0, [r2, 0x4] - movs r0, 0 -_08149134: - strb r0, [r2] -_08149136: - movs r0, 0x1 -_08149138: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149048 - - thumb_func_start sub_8149140 -sub_8149140: @ 8149140 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8D40 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08149152: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08149152 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149140 - - thumb_func_start sub_8149178 -sub_8149178: @ 8149178 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085BE51C - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BEA88 - ldr r1, [sp, 0x4] - bl LZ77UnCompVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149178 - - thumb_func_start sub_81491C8 -sub_81491C8: @ 81491C8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08149200 - adds r0, r5, 0 - movs r1, 0x1E - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r0, 11 - ldr r1, =gUnknown_085BF0A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08149200: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3A - ble _08149218 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] -_08149218: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81491C8 - - thumb_func_start sub_8149224 -sub_8149224: @ 8149224 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x5 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08149252 - adds r0, r5, 0 - movs r1, 0x5 - bl __divsi3 - lsls r0, 16 - asrs r0, 11 - ldr r1, =gUnknown_085BF2A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08149252: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x44 - ble _0814926E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x1E - strh r0, [r4, 0x18] -_0814926E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149224 - - thumb_func_start sub_814927C -sub_814927C: @ 814927C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8D60 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814928E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814928E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814927C - - thumb_func_start sub_81492B4 -sub_81492B4: @ 81492B4 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r1, =0x00009a08 - movs r0, 0x8 - bl SetGpuReg - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085BF6A0 - ldr r1, [sp, 0x8] - movs r2, 0x80 - lsls r2, 5 - bl CpuSet - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_085BF540 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r2, 0 - ldr r3, =gUnknown_02038C28 - movs r6, 0 - movs r0, 0xF0 - lsls r0, 3 - adds r5, r3, r0 - movs r4, 0x80 - lsls r4, 1 -_08149316: - lsls r1, r2, 1 - adds r0, r1, r3 - strh r6, [r0] - adds r1, r5 - strh r4, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9F - bls _08149316 - ldr r0, =sub_8149508 - bl SetVBlankCallback - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81492B4 - - thumb_func_start sub_8149358 -sub_8149358: @ 8149358 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_085C6BE0 - ldr r1, [sp] - movs r2, 0x80 - lsls r2, 4 - bl CpuSet - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149358 - - thumb_func_start sub_8149388 -sub_8149388: @ 8149388 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081493B4 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _081493A0 - adds r0, 0x3 -_081493A0: - lsls r0, 14 - lsrs r0, 16 - adds r0, 0x5 - lsls r0, 5 - ldr r1, =gUnknown_085BF4A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_081493B4: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _081493CC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] -_081493CC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149388 - - thumb_func_start sub_81493D8 -sub_81493D8: @ 81493D8 - push {lr} - sub sp, 0x4 - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _08149402 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =0xffff8000 - str r2, [sp] - movs r1, 0x2 - movs r3, 0x10 - bl BeginNormalPaletteFade -_08149402: - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81493D8 - - thumb_func_start sub_8149410 -sub_8149410: @ 8149410 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814942E - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x20] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_0814942E: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149410 - - thumb_func_start sub_814943C -sub_814943C: @ 814943C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x00007fff - movs r1, 0x8 - movs r2, 0 - bl BlendPalettes - ldr r0, =0xffff8000 - movs r1, 0 - movs r2, 0 - bl BlendPalettes - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814943C - - thumb_func_start sub_814946C -sub_814946C: @ 814946C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0814949A - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r0, 11 - ldr r1, =gUnknown_085BF4A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_0814949A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _081494F0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r5, =sub_8146F68 - ldr r3, =gUnknown_020393A8 - movs r2, 0 -_081494C4: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _081494C4 - adds r0, r5, 0 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x8] - movs r1, 0x80 - lsls r1, 1 - strh r1, [r4, 0xC] - strh r2, [r4, 0x16] - movs r0, 0 - bl ClearGpuRegBits -_081494F0: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814946C - - thumb_func_start sub_8149508 -sub_8149508: @ 8149508 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08149548 - ldr r2, =gUnknown_02038C28 - b _08149554 - .pool -_08149548: - ldr r2, =gUnknown_02038C28 - cmp r0, 0x1 - bne _08149554 - movs r0, 0xF0 - lsls r0, 3 - adds r2, r0 -_08149554: - ldr r1, =0x040000b0 - str r2, [r1] - ldr r0, =0x04000012 - str r0, [r1, 0x4] - ldr r0, =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149508 - - thumb_func_start sub_8149578 -sub_8149578: @ 8149578 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8D8C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814958A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814958A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149578 - - thumb_func_start sub_81495B0 -sub_81495B0: @ 81495B0 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0xBF - strh r0, [r1, 0xE] - strh r2, [r1, 0x12] - movs r0, 0x1E - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r2, =gUnknown_020393A8 - movs r4, 0 - movs r3, 0xF0 -_081495DC: - lsls r0, r1, 1 - adds r0, r2 - strh r4, [r0] - adds r0, r1, 0 - adds r0, 0xA0 - lsls r0, 1 - adds r0, r2 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _081495DC - movs r0, 0x2 - bl EnableInterrupts - ldr r0, =sub_8149840 - bl SetHBlankCallback - ldr r0, =sub_8149774 - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81495B0 - - thumb_func_start sub_8149628 -sub_8149628: @ 8149628 - push {r4-r6,lr} - sub sp, 0x10 - adds r6, r0, 0 - ldr r1, =gUnknown_085C8DA0 - mov r0, sp - movs r2, 0x10 - bl memcpy - movs r5, 0 - movs r4, 0 -_0814963C: - ldr r0, =sub_8149864 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r2, r1, r0 - movs r0, 0xF0 - strh r0, [r2, 0x20] - strh r4, [r2, 0x22] - lsls r1, r5, 16 - asrs r1, 16 - lsls r0, r1, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r2, 0x38] - adds r1, 0x1 - lsls r1, 16 - lsls r0, r4, 16 - movs r3, 0xA0 - lsls r3, 13 - adds r0, r3 - lsrs r4, r0, 16 - lsrs r5, r1, 16 - asrs r1, 16 - cmp r1, 0x7 - ble _0814963C - ldrh r0, [r2, 0x3A] - adds r0, 0x1 - strh r0, [r2, 0x3A] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149628 - - thumb_func_start sub_814969C -sub_814969C: @ 814969C - push {r4,lr} - adds r4, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0x7 - ble _081496C6 - movs r0, 0x1 - negs r0, r0 - ldr r2, =0x00007fff - movs r1, 0x10 - bl BlendPalettes - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081496C6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814969C - - thumb_func_start sub_81496D8 -sub_81496D8: @ 81496D8 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - ldrb r1, [r0] - movs r5, 0 - strb r5, [r0] - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - ldr r1, [r4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - strh r5, [r1, 0x12] - movs r0, 0xFF - strh r0, [r1, 0xE] - movs r0, 0x3F - strh r0, [r1, 0x2] - ldr r0, =sub_8149804 - bl SetVBlankCallback - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81496D8 - - thumb_func_start sub_8149740 -sub_8149740: @ 8149740 - push {lr} - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x10 - bls _08149766 - bl sub_8149F84 - ldr r0, =sub_8149578 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08149766: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149740 - - thumb_func_start sub_8149774 -sub_8149774: @ 8149774 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r2, =0x04000050 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0xE] - strh r0, [r2] - subs r2, 0x8 - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldrb r0, [r1] - cmp r0, 0 - beq _081497C4 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081497C4: - ldr r0, =gUnknown_020394E8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149774 - - thumb_func_start sub_8149804 -sub_8149804: @ 8149804 - push {lr} - bl sub_8149F2C - ldr r1, =0x04000054 - ldr r0, =sTransitionStructPtr - ldr r2, [r0] - ldrh r0, [r2, 0x12] - strh r0, [r1] - subs r1, 0x4 - ldrh r0, [r2, 0xE] - strh r0, [r1] - subs r1, 0x8 - ldrh r0, [r2, 0x2] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x4] - strh r0, [r1] - subs r1, 0xA - ldrh r0, [r2, 0x6] - strh r0, [r1] - adds r1, 0x4 - ldrh r0, [r2, 0x8] - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149804 - - thumb_func_start sub_8149840 -sub_8149840: @ 8149840 - ldr r2, =0x04000054 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r3, 0xF0 - lsls r3, 3 - adds r1, r3 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_8149840 - - thumb_func_start sub_8149864 -sub_8149864: @ 8149864 - push {r4-r6,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x38] - movs r2, 0x38 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08149890 - subs r0, r1, 0x1 - strh r0, [r3, 0x38] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0814994C - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] - b _0814994C - .pool -_08149890: - movs r2, 0x22 - ldrsh r1, [r3, r2] - lsls r1, 1 - ldr r0, =gUnknown_02038C28 - adds r6, r1, r0 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2 - adds r5, r1, r0 - movs r4, 0 -_081498A4: - lsls r1, r4, 1 - adds r2, r1, r6 - ldrh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x20] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _081498A4 - movs r1, 0x20 - ldrsh r0, [r3, r1] - ldrh r2, [r3, 0x20] - cmp r0, 0 - bne _081498DE - movs r0, 0x2E - ldrsh r1, [r3, r0] - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bne _081498DE - movs r0, 0x1 - strh r0, [r3, 0x30] -_081498DE: - adds r1, r2, 0 - subs r1, 0x10 - strh r1, [r3, 0x20] - ldrh r0, [r3, 0x2E] - adds r0, 0x80 - strh r0, [r3, 0x2E] - lsls r1, 16 - cmp r1, 0 - bge _081498F4 - movs r0, 0 - strh r0, [r3, 0x20] -_081498F4: - movs r1, 0x2E - ldrsh r0, [r3, r1] - movs r1, 0x80 - lsls r1, 5 - cmp r0, r1 - ble _08149902 - strh r1, [r3, 0x2E] -_08149902: - movs r2, 0x3A - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08149914 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] -_08149914: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0814994C - movs r2, 0x3A - ldrsh r0, [r3, r2] - ldr r2, =sTransitionStructPtr - cmp r0, 0 - beq _0814993E - ldr r0, [r2] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0x6 - ble _0814994C - ldrh r0, [r3, 0x32] - adds r1, r0, 0x1 - strh r1, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0814994C -_0814993E: - ldr r1, [r2] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - adds r0, r3, 0 - bl DestroySprite -_0814994C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149864 - - thumb_func_start sub_814995C -sub_814995C: @ 814995C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8DB0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814996E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814996E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814995C - - thumb_func_start sub_8149994 -sub_8149994: @ 8149994 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BACD0 - ldr r1, [sp, 0x8] - movs r2, 0x10 - bl CpuSet - mov r1, sp - movs r2, 0xF0 - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149994 - - thumb_func_start sub_81499E8 -sub_81499E8: @ 81499E8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08149A2A - mov r0, sp - bl sub_8149F40 - movs r0, 0x3 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xC - ldrsh r0, [r4, r1] - lsls r0, 5 - ldr r1, =gUnknown_085BACD0 - adds r0, r1 - ldr r1, [sp] - movs r2, 0x10 - bl CpuSet - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0xD - ble _08149A2A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xA] -_08149A2A: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81499E8 - - thumb_func_start sub_8149A40 -sub_8149A40: @ 8149A40 - push {lr} - ldrh r1, [r0, 0xA] - subs r1, 0x1 - strh r1, [r0, 0xA] - lsls r1, 16 - cmp r1, 0 - bne _08149A60 - bl sub_8149F84 - ldr r0, =sub_814995C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08149A60: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149A40 - - thumb_func_start sub_8149A6C -sub_8149A6C: @ 8149A6C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8DBC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08149A7E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08149A7E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149A6C - - thumb_func_start sub_8149AA4 -sub_8149AA4: @ 8149AA4 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r2, =gUnknown_02038C28 - movs r3, 0xF0 - adds r4, r2, 0 -_08149AC8: - lsls r0, r1, 1 - adds r0, r2 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _08149AC8 - movs r0, 0xF0 - lsls r0, 3 - adds r1, r4, r0 - adds r0, r4, 0 - movs r2, 0xA0 - bl CpuSet - ldr r0, =sub_8149CE8 - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149AA4 - - thumb_func_start sub_8149B08 -sub_8149B08: @ 8149B08 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r8, r0 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - adds r0, 0x24 - ldr r6, =gUnknown_085C8DD0 - mov r2, r8 - movs r3, 0xA - ldrsh r1, [r2, r3] - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 1 - adds r1, r4, r6 - movs r5, 0 - ldrsh r1, [r1, r5] - adds r2, r6, 0x2 - adds r2, r4, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - adds r3, r6, 0x4 - adds r3, r4, r3 - movs r5, 0 - ldrsh r3, [r3, r5] - adds r5, r6, 0x6 - adds r4, r5 - movs r5, 0 - ldrsh r4, [r4, r5] - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - bl sub_814A1AC - mov r0, r8 - movs r2, 0xA - ldrsh r1, [r0, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r6, 0x8 - adds r0, r6 - ldrh r0, [r0] - mov r3, r8 - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - movs r0, 0x1 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149B08 - - thumb_func_start sub_8149B84 -sub_8149B84: @ 8149B84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - mov r8, r0 - movs r7, 0 - ldr r0, =gUnknown_02038C28 - mov r9, r0 -_08149BA0: - ldr r1, =gUnknown_02038C28 - ldr r0, =sTransitionStructPtr - ldr r2, [r0] - movs r3, 0x2A - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsrs r3, r0, 8 - movs r5, 0xFF - ands r5, r0 - movs r4, 0xC - ldrsh r0, [r6, r4] - cmp r0, 0 - bne _08149BDC - movs r1, 0x28 - ldrsh r0, [r2, r1] - cmp r3, r0 - bge _08149BC8 - ldrh r3, [r2, 0x28] -_08149BC8: - lsls r0, r3, 16 - lsls r1, r5, 16 - cmp r0, r1 - ble _08149BF4 - lsrs r3, r1, 16 - b _08149BF4 - .pool -_08149BDC: - lsls r0, r5, 16 - asrs r0, 16 - movs r4, 0x28 - ldrsh r1, [r2, r4] - cmp r0, r1 - ble _08149BEA - ldrh r5, [r2, 0x28] -_08149BEA: - lsls r0, r5, 16 - lsls r1, r3, 16 - cmp r0, r1 - bgt _08149BF4 - lsrs r5, r1, 16 -_08149BF4: - ldr r0, =sTransitionStructPtr - ldr r4, [r0] - movs r0, 0x2A - ldrsh r2, [r4, r0] - lsls r2, 1 - add r2, r9 - lsls r1, r3, 16 - asrs r1, 8 - lsls r0, r5, 16 - asrs r0, 16 - orrs r0, r1 - strh r0, [r2] - cmp r7, 0 - beq _08149C1C - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _08149C40 - .pool -_08149C1C: - adds r0, r4, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - lsrs r7, r0, 24 - mov r1, r8 - lsls r0, r1, 16 - movs r3, 0x80 - lsls r3, 9 - adds r0, r3 - lsrs r4, r0, 16 - mov r8, r4 - asrs r0, 16 - cmp r0, 0xF - ble _08149BA0 -_08149C40: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149B84 - - thumb_func_start sub_8149C60 -sub_8149C60: @ 8149C60 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _08149CAC - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_8149A6C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - b _08149CC4 - .pool -_08149CAC: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_085C8E16 - movs r3, 0xA - ldrsh r0, [r2, r3] - subs r0, 0x1 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0xE] - movs r0, 0x1 -_08149CC4: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149C60 - - thumb_func_start sub_8149CCC -sub_8149CCC: @ 8149CCC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - cmp r0, 0 - beq _08149CE0 - movs r0, 0 - b _08149CE4 -_08149CE0: - movs r0, 0x1 - strh r0, [r1, 0x8] -_08149CE4: - pop {r1} - bx r1 - thumb_func_end sub_8149CCC - - thumb_func_start sub_8149CE8 -sub_8149CE8: @ 8149CE8 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _08149D20 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08149D20: - ldr r2, =0x04000048 - ldr r1, [r3] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - subs r2, 0x4 - ldr r0, =gUnknown_02038C28 - movs r1, 0xF0 - lsls r1, 3 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - str r0, [r4] - str r2, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149CE8 - - thumb_func_start sub_8149D78 -sub_8149D78: @ 8149D78 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, [sp, 0x18] - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r0, =sub_8149DFC - movs r1, 0x3 - str r3, [sp] - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, r8 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - strh r5, [r1, 0xE] - strh r6, [r1, 0x10] - ldr r3, [sp] - strh r3, [r1, 0x12] - strh r0, [r1, 0x14] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149D78 - - thumb_func_start sub_8149DDC -sub_8149DDC: @ 8149DDC - push {lr} - ldr r0, =sub_8149DFC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08149DF4 - movs r0, 0 - b _08149DF6 - .pool -_08149DF4: - movs r0, 0x1 -_08149DF6: - pop {r1} - bx r1 - thumb_func_end sub_8149DDC - - thumb_func_start sub_8149DFC -sub_8149DFC: @ 8149DFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8E24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08149E0E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08149E0E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149DFC - - thumb_func_start sub_8149E34 -sub_8149E34: @ 8149E34 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08149E4C - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _08149E70 -_08149E4C: - ldrh r0, [r4, 0xA] - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x16] - adds r0, r1 - strh r0, [r4, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08149E64 - movs r0, 0x10 - strh r0, [r4, 0x16] -_08149E64: - movs r0, 0x1 - negs r0, r0 - ldrb r1, [r4, 0x16] - ldr r2, =0x00002d6b - bl BlendPalettes -_08149E70: - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0xF - ble _08149E82 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - strh r0, [r4, 0x14] -_08149E82: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149E34 - - thumb_func_start sub_8149E90 -sub_8149E90: @ 8149E90 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08149EA8 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _08149ECA -_08149EA8: - ldrh r0, [r4, 0xC] - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x16] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x16] - lsls r0, 16 - cmp r0, 0 - bge _08149EBE - movs r0, 0 - strh r0, [r4, 0x16] -_08149EBE: - movs r0, 0x1 - negs r0, r0 - ldrb r1, [r4, 0x16] - ldr r2, =0x00002d6b - bl BlendPalettes -_08149ECA: - movs r0, 0x16 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _08149EFE - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08149EF8 - ldr r0, =sub_8149DFC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _08149EFE - .pool -_08149EF8: - ldrh r0, [r4, 0xA] - strh r0, [r4, 0x14] - strh r1, [r4, 0x8] -_08149EFE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149E90 - - thumb_func_start sub_8149F08 -sub_8149F08: @ 8149F08 - push {r4,lr} - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - movs r1, 0 - movs r2, 0x3C - bl memset - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x14 - adds r1, 0x16 - bl sub_8089C08 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149F08 - - thumb_func_start sub_8149F2C -sub_8149F2C: @ 8149F2C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8149F2C - - thumb_func_start sub_8149F40 -sub_8149F40: @ 8149F40 - ldr r1, =0x04000008 - ldrh r1, [r1] - lsrs r1, 2 - lsls r1, 30 - lsrs r1, 16 - movs r2, 0xC0 - lsls r2, 19 - adds r1, r2 - str r1, [r0] - bx lr - .pool - thumb_func_end sub_8149F40 - - thumb_func_start sub_8149F58 -sub_8149F58: @ 8149F58 - push {r4,lr} - ldr r3, =0x04000008 - ldrh r2, [r3] - lsrs r2, 8 - ldrh r3, [r3] - lsrs r3, 2 - lsls r2, 27 - lsrs r2, 16 - lsls r3, 30 - lsrs r3, 16 - movs r4, 0xC0 - lsls r4, 19 - adds r2, r4 - str r2, [r0] - adds r3, r4 - str r3, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149F58 - - thumb_func_start sub_8149F84 -sub_8149F84: @ 8149F84 - push {lr} - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - thumb_func_end sub_8149F84 - - thumb_func_start sub_8149F98 -sub_8149F98: @ 8149F98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - ldr r0, [sp, 0x20] - ldr r4, [sp, 0x24] - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r4, 16 - movs r6, 0 - lsrs r5, r4, 16 - cmp r4, 0 - ble _0814A000 - lsls r0, r7, 16 - asrs r0, 16 - mov r9, r0 - lsls r1, 16 - mov r8, r1 - lsls r0, r3, 16 - asrs r7, r0, 16 -_08149FD0: - lsls r4, r2, 16 - asrs r4, 16 - movs r0, 0xFF - ands r0, r4 - mov r2, r8 - asrs r1, r2, 16 - bl Sin - lsls r1, r6, 1 - add r1, r10 - add r0, r9 - strh r0, [r1] - lsls r1, r5, 16 - ldr r0, =0xffff0000 - adds r1, r0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r7 - lsls r4, 16 - lsrs r2, r4, 16 - lsrs r5, r1, 16 - cmp r1, 0 - bgt _08149FD0 -_0814A000: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149F98 - - thumb_func_start sub_814A014 -sub_814A014: @ 814A014 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r9, r0 - adds r5, r2, 0 - adds r4, r3, 0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - movs r2, 0xA0 - lsls r2, 1 - movs r1, 0xA - bl memset - movs r1, 0 - lsls r4, 16 - asrs r4, 16 - str r4, [sp, 0x4] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x8] -_0814A04C: - lsls r5, r1, 16 - asrs r0, r5, 16 - mov r10, r0 - ldr r1, [sp, 0x4] - bl Sin - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r10 - ldr r1, [sp, 0x4] - bl Cos - ldr r2, [sp] - lsls r1, r2, 16 - asrs r1, 16 - lsls r4, 16 - asrs r4, 16 - subs r2, r1, r4 - lsls r2, 16 - adds r1, r4 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r0, 16 - asrs r0, 16 - ldr r3, [sp, 0x8] - subs r1, r3, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r3, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsrs r1, r2, 16 - str r5, [sp, 0x10] - cmp r2, 0 - bge _0814A098 - movs r1, 0 -_0814A098: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _0814A0A2 - movs r6, 0xF0 -_0814A0A2: - lsls r0, r7, 16 - cmp r0, 0 - bge _0814A0AA - movs r7, 0 -_0814A0AA: - mov r2, r8 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _0814A0B8 - movs r3, 0x9F - mov r8, r3 -_0814A0B8: - lsls r0, r1, 24 - lsrs r0, 16 - orrs r6, r0 - lsls r0, r7, 16 - asrs r0, 16 - str r0, [sp, 0xC] - lsls r0, 1 - add r0, r9 - strh r6, [r0] - mov r0, r8 - lsls r4, r0, 16 - asrs r0, r4, 15 - add r0, r9 - strh r6, [r0] - mov r0, r10 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - ldr r1, [sp, 0x4] - bl Cos - lsls r0, 16 - asrs r0, 16 - ldr r2, [sp, 0x8] - subs r1, r2, r0 - lsls r1, 16 - adds r0, r2, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsrs r3, r1, 16 - cmp r1, 0 - bge _0814A0FA - movs r3, 0 -_0814A0FA: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _0814A104 - movs r2, 0x9F -_0814A104: - lsls r0, r3, 16 - asrs r1, r0, 16 - adds r3, r0, 0 - lsls r5, r2, 16 - ldr r0, [sp, 0xC] - cmp r0, r1 - ble _0814A128 - adds r2, r1, 0 -_0814A114: - lsls r1, r7, 16 - ldr r0, =0xffff0000 - adds r1, r0 - asrs r0, r1, 15 - add r0, r9 - strh r6, [r0] - lsrs r7, r1, 16 - asrs r1, 16 - cmp r1, r2 - bgt _0814A114 -_0814A128: - lsls r1, r7, 16 - asrs r0, r3, 16 - cmp r1, r3 - bge _0814A146 - adds r2, r0, 0 -_0814A132: - movs r3, 0x80 - lsls r3, 9 - adds r0, r1, r3 - asrs r1, r0, 15 - add r1, r9 - strh r6, [r1] - adds r1, r0, 0 - asrs r0, r1, 16 - cmp r0, r2 - blt _0814A132 -_0814A146: - asrs r0, r5, 16 - cmp r4, r5 - ble _0814A164 - adds r1, r0, 0 -_0814A14E: - ldr r2, =0xffff0000 - adds r0, r4, r2 - lsrs r3, r0, 16 - mov r8, r3 - asrs r0, 15 - add r0, r9 - strh r6, [r0] - lsls r4, r3, 16 - asrs r0, r4, 16 - cmp r0, r1 - bgt _0814A14E -_0814A164: - mov r0, r8 - lsls r4, r0, 16 - asrs r0, r5, 16 - cmp r4, r5 - bge _0814A184 - adds r2, r0, 0 -_0814A170: - movs r1, 0x80 - lsls r1, 9 - adds r0, r4, r1 - asrs r1, r0, 15 - add r1, r9 - strh r6, [r1] - adds r4, r0, 0 - asrs r0, r4, 16 - cmp r0, r2 - blt _0814A170 -_0814A184: - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x3F - bgt _0814A196 - b _0814A04C -_0814A196: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A014 - - thumb_func_start sub_814A1AC -sub_814A1AC: @ 814A1AC - push {r4-r7,lr} - adds r6, r0, 0 - ldr r0, [sp, 0x14] - ldr r5, [sp, 0x18] - ldr r4, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - adds r7, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - strh r1, [r6] - strh r2, [r6, 0x2] - strh r1, [r6, 0x4] - strh r2, [r6, 0x6] - strh r3, [r6, 0x8] - strh r7, [r6, 0xA] - strh r5, [r6, 0xC] - strh r4, [r6, 0xE] - lsls r3, 16 - asrs r3, 16 - lsls r1, 16 - asrs r1, 16 - subs r3, r1 - strh r3, [r6, 0x10] - lsls r0, r3, 16 - cmp r0, 0 - bge _0814A1FE - negs r0, r3 - strh r0, [r6, 0x10] - lsls r0, r5, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r6, 0xC] -_0814A1FE: - lsls r0, r7, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r1, 16 - subs r1, r0, r1 - strh r1, [r6, 0x12] - lsls r0, r1, 16 - cmp r0, 0 - bge _0814A21C - negs r0, r1 - strh r0, [r6, 0x12] - lsls r0, r4, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r6, 0xE] -_0814A21C: - movs r0, 0 - strh r0, [r6, 0x14] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814A1AC - - thumb_func_start sub_814A228 -sub_814A228: @ 814A228 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldrh r0, [r3, 0x10] - mov r8, r0 - movs r1, 0x10 - ldrsh r6, [r3, r1] - ldrh r2, [r3, 0x12] - mov r12, r2 - movs r4, 0x12 - ldrsh r5, [r3, r4] - cmp r6, r5 - ble _0814A278 - ldrh r0, [r3, 0xC] - ldrh r2, [r3, 0x4] - adds r1, r0, r2 - strh r1, [r3, 0x4] - ldrh r2, [r3, 0x14] - add r2, r12 - strh r2, [r3, 0x14] - lsls r1, r2, 16 - asrs r1, 16 - adds r4, r0, 0 - ldrh r7, [r3, 0xE] - cmp r1, r6 - ble _0814A29E - ldrh r1, [r3, 0x6] - adds r0, r7, r1 - strh r0, [r3, 0x6] - mov r1, r8 - b _0814A29A -_0814A278: - ldrh r0, [r3, 0xE] - ldrh r2, [r3, 0x6] - adds r1, r0, r2 - strh r1, [r3, 0x6] - ldrh r2, [r3, 0x14] - add r2, r8 - strh r2, [r3, 0x14] - lsls r1, r2, 16 - asrs r1, 16 - ldrh r4, [r3, 0xC] - adds r7, r0, 0 - cmp r1, r5 - ble _0814A29E - ldrh r1, [r3, 0x4] - adds r0, r4, r1 - strh r0, [r3, 0x4] - mov r1, r12 -_0814A29A: - subs r0, r2, r1 - strh r0, [r3, 0x14] -_0814A29E: - movs r5, 0 - lsls r0, r4, 16 - asrs r2, r0, 16 - cmp r2, 0 - ble _0814A2B6 - movs r4, 0x4 - ldrsh r1, [r3, r4] - movs r4, 0x8 - ldrsh r0, [r3, r4] - ldrh r4, [r3, 0x8] - cmp r1, r0 - bge _0814A2C8 -_0814A2B6: - cmp r2, 0 - bge _0814A2D6 - movs r0, 0x4 - ldrsh r1, [r3, r0] - movs r2, 0x8 - ldrsh r0, [r3, r2] - ldrh r4, [r3, 0x8] - cmp r1, r0 - bgt _0814A2D6 -_0814A2C8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r9 - cmp r0, 0 - beq _0814A2D6 - strh r4, [r3, 0x4] -_0814A2D6: - lsls r0, r7, 16 - asrs r2, r0, 16 - cmp r2, 0 - ble _0814A2EC - movs r4, 0x6 - ldrsh r1, [r3, r4] - movs r4, 0xA - ldrsh r0, [r3, r4] - ldrh r4, [r3, 0xA] - cmp r1, r0 - bge _0814A2FE -_0814A2EC: - cmp r2, 0 - bge _0814A30C - movs r0, 0x6 - ldrsh r1, [r3, r0] - movs r2, 0xA - ldrsh r0, [r3, r2] - ldrh r4, [r3, 0xA] - cmp r1, r0 - bgt _0814A30C -_0814A2FE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r10 - cmp r0, 0 - beq _0814A30C - strh r4, [r3, 0x6] -_0814A30C: - cmp r5, 0x2 - beq _0814A314 - movs r0, 0 - b _0814A316 -_0814A314: - movs r0, 0x1 -_0814A316: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814A228 - - thumb_func_start sub_814A324 -sub_814A324: @ 814A324 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085C7C00 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085C7BE0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A324 - - thumb_func_start sub_814A374 -sub_814A374: @ 814A374 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085C828C - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A374 - - thumb_func_start sub_814A3BC -sub_814A3BC: @ 814A3BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C99D0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A3CE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A3CE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A3BC - - thumb_func_start sub_814A3F4 -sub_814A3F4: @ 814A3F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C99E8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A406: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A406 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A3F4 - - thumb_func_start sub_814A42C -sub_814A42C: @ 814A42C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r1, 0xC0 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r5, 0 - movs r0, 0x80 - lsls r0, 6 - strh r0, [r4, 0xC] - ldr r0, =0x00007fff - strh r0, [r4, 0xA] - strh r5, [r4, 0x12] - movs r0, 0x10 - strh r0, [r4, 0x14] - movs r0, 0xA0 - lsls r0, 4 - strh r0, [r4, 0x16] - ldr r6, =sTransitionStructPtr - ldr r2, [r6] - ldr r3, =0x00003f41 - strh r3, [r2, 0xE] - ldrh r0, [r4, 0x14] - lsls r0, 8 - ldrh r1, [r4, 0x12] - orrs r0, r1 - strh r0, [r2, 0x10] - ldr r0, =0x04000050 - strh r3, [r0] - ldr r1, =0x04000052 - ldrh r0, [r2, 0x10] - strh r0, [r1] - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085C7C00 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085C7BE0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, [r6] - strh r5, [r0, 0x16] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A42C - - thumb_func_start sub_814A4D4 -sub_814A4D4: @ 814A4D4 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_085C828C - ldr r1, [sp] - bl LZ77UnCompVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A4D4 - - thumb_func_start sub_814A500 -sub_814A500: @ 814A500 - push {r4-r6,lr} - adds r5, r0, 0 - movs r2, 0 - ldr r6, =sub_814A684 - ldr r4, =gUnknown_020393A8 - ldr r3, =sTransitionStructPtr -_0814A50C: - lsls r1, r2, 1 - adds r1, r4 - ldr r0, [r3] - ldrh r0, [r0, 0x16] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9F - bls _0814A50C - adds r0, r6, 0 - bl SetVBlankCallback - ldr r0, =sub_814A6CC - bl SetHBlankCallback - movs r0, 0x2 - bl EnableInterrupts - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A500 - - thumb_func_start sub_814A550 -sub_814A550: @ 814A550 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =sTransitionStructPtr - ldr r0, [r1] - ldrb r2, [r0] - movs r3, 0 - strb r3, [r0] - ldrh r2, [r4, 0xC] - lsls r0, r2, 16 - asrs r0, 24 - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r6, [r4, 0xA] - movs r0, 0xC0 - lsls r0, 1 - mov r8, r0 - ldrh r0, [r4, 0x16] - subs r0, r6, r0 - strh r0, [r4, 0xA] - movs r5, 0xE - ldrsh r0, [r4, r5] - adds r5, r1, 0 - cmp r0, 0x45 - ble _0814A5A2 - movs r1, 0xC - ldrsh r0, [r4, r1] - ldr r1, =0xfffffe80 - adds r0, r1 - cmp r0, 0 - blt _0814A5A0 - adds r0, r2, r1 - strh r0, [r4, 0xC] - b _0814A5A2 - .pool -_0814A5A0: - strh r3, [r4, 0xC] -_0814A5A2: - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - blt _0814A5E0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0814A5E0 - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _0814A5C6 - adds r0, r1, 0x1 - strh r0, [r4, 0x12] - b _0814A5D4 -_0814A5C6: - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0814A5D4 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] -_0814A5D4: - ldr r0, [r5] - ldrh r1, [r4, 0x14] - lsls r1, 8 - ldrh r2, [r4, 0x12] - orrs r1, r2 - strh r1, [r0, 0x10] -_0814A5E0: - movs r5, 0 - lsls r7, 16 -_0814A5E4: - lsrs r0, r6, 8 - asrs r1, r7, 16 - bl Sin - ldr r1, =gUnknown_02038C28 - lsls r2, r5, 1 - adds r2, r1 - ldr r1, =sTransitionStructPtr - ldr r1, [r1] - ldrh r1, [r1, 0x16] - adds r0, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - adds r0, r6, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r5, 0x9F - bls _0814A5E4 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bne _0814A632 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0814A632: - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0814A654 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814A654 - ldr r0, =sub_814A3F4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0814A654: - ldrh r0, [r4, 0x16] - subs r0, 0x11 - strh r0, [r4, 0x16] - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A550 - - thumb_func_start sub_814A684 -sub_814A684: @ 814A684 - push {lr} - bl sub_8149F2C - ldr r2, =0x04000050 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0xE] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x10] - strh r0, [r2] - ldrb r0, [r1] - cmp r0, 0 - beq _0814A6B4 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_0814A6B4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A684 - - thumb_func_start sub_814A6CC -sub_814A6CC: @ 814A6CC - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000012 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_814A6CC - - thumb_func_start sub_814A6F0 -sub_814A6F0: @ 814A6F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C99F8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A702: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A702 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A6F0 - - thumb_func_start sub_814A728 -sub_814A728: @ 814A728 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C9A08 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A73A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A73A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A728 - - thumb_func_start sub_814A760 -sub_814A760: @ 814A760 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C9A1C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A772: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A772 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A760 - - thumb_func_start sub_814A798 -sub_814A798: @ 814A798 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - mov r8, r0 - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_8149F58 - ldr r0, =gUnknown_085C8598 - ldr r1, [sp, 0x10] - bl LZ77UnCompVram - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r6, 0x1 - str r6, [sp] - str r4, [sp, 0x4] - movs r5, 0xF - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1D - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_085C8578 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - mov r1, r8 - strh r6, [r1, 0xC] - strh r0, [r1, 0xE] - strh r0, [r1, 0x10] - movs r0, 0xA - strh r0, [r1, 0x16] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A798 - - thumb_func_start sub_814A828 -sub_814A828: @ 814A828 - push {r4,r5,lr} - sub sp, 0x24 - adds r4, r0, 0 - ldr r1, =gUnknown_085C8928 - movs r2, 0x4 - str r2, [sp] - str r2, [sp, 0x4] - ldrb r0, [r4, 0xC] - str r0, [sp, 0x8] - ldrb r0, [r4, 0xE] - str r0, [sp, 0xC] - str r2, [sp, 0x10] - str r2, [sp, 0x14] - movs r0, 0xF - str r0, [sp, 0x18] - movs r5, 0 - str r5, [sp, 0x1C] - str r5, [sp, 0x20] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0xC] - adds r0, 0x4 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bne _0814A88A - movs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xE] - adds r0, 0x4 - strh r0, [r4, 0xE] - strh r5, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0814A88A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0814A88A: - movs r0, 0 - add sp, 0x24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A828 - - thumb_func_start sub_814A898 -sub_814A898: @ 814A898 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldrh r0, [r4, 0x14] - adds r1, r0, 0x1 - strh r1, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x16 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0814A956 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0814A8FC - cmp r0, 0x1 - bgt _0814A8CA - cmp r0, 0 - beq _0814A8D4 - b _0814A92C -_0814A8CA: - cmp r0, 0x2 - beq _0814A914 - cmp r0, 0x3 - beq _0814A91C - b _0814A92C -_0814A8D4: - movs r2, 0xFA - ldr r6, =gPlttBufferUnfaded - movs r3, 0 - ldr r5, =gPlttBufferFaded -_0814A8DC: - lsls r1, r2, 1 - adds r0, r1, r6 - strh r3, [r0] - adds r1, r5 - strh r3, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFE - bls _0814A8DC - b _0814A94C - .pool -_0814A8FC: - ldr r0, =0xffff7fff - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =gUnknown_085C86F4 - b _0814A91E - .pool -_0814A914: - ldr r0, =gUnknown_085C87F4 - b _0814A91E - .pool -_0814A91C: - ldr r0, =gUnknown_085C88A4 -_0814A91E: - ldr r1, [sp, 0xC] - bl LZ77UnCompVram - b _0814A94C - .pool -_0814A92C: - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0814A956 -_0814A94C: - movs r0, 0 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] -_0814A956: - movs r0, 0 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814A898 - - thumb_func_start sub_814A960 -sub_814A960: @ 814A960 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - mov r8, r0 - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_8149F58 - ldr r0, =gUnknown_085C8598 - ldr r1, [sp, 0x10] - bl LZ77UnCompVram - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r6, 0x1 - str r6, [sp] - str r4, [sp, 0x4] - movs r5, 0xF - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1D - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r4, =gUnknown_085C8578 - adds r0, r4, 0 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0xE0 - movs r1, 0x10 - movs r2, 0x8 - movs r3, 0 - bl BlendPalette - movs r1, 0 - movs r0, 0x22 - mov r2, r8 - strh r0, [r2, 0xC] - strh r1, [r2, 0xE] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - movs r0, 0 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A960 - - thumb_func_start sub_814AA04 -sub_814AA04: @ 814AA04 - push {r4-r6,lr} - sub sp, 0x24 - adds r6, r0, 0 - ldr r1, =gUnknown_085C9A30 - movs r2, 0xC - ldrsh r0, [r6, r2] - adds r0, r1 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x7 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x7 - bl __udivsi3 - ldr r1, =gUnknown_085C8928 - movs r2, 0x4 - str r2, [sp] - str r2, [sp, 0x4] - lsls r4, 2 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x8] - lsls r0, 26 - lsrs r0, 24 - str r0, [sp, 0xC] - str r2, [sp, 0x10] - str r2, [sp, 0x14] - movs r0, 0xF - str r0, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x1C] - str r0, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - cmp r0, 0 - bge _0814AA70 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_0814AA70: - movs r0, 0 - add sp, 0x24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AA04 - - thumb_func_start sub_814AA84 -sub_814AA84: @ 814AA84 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xE0 - movs r1, 0x10 - movs r2, 0x3 - movs r3, 0 - bl BlendPalette - ldr r0, =0xffff3fff - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AA84 - - thumb_func_start sub_814AAB8 -sub_814AAB8: @ 814AAB8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x24 - adds r7, r0, 0 - ldrh r0, [r7, 0xE] - movs r1, 0x1 - eors r0, r1 - movs r6, 0 - strh r0, [r7, 0xE] - cmp r0, 0 - beq _0814AB2C - ldr r0, =gUnknown_085C8928 - mov r8, r0 - movs r4, 0x4 - str r4, [sp] - str r4, [sp, 0x4] - ldr r5, =gUnknown_085C9A30 - movs r1, 0xC - ldrsh r0, [r7, r1] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x7 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - movs r2, 0xC - ldrsh r0, [r7, r2] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 26 - lsrs r0, 24 - str r0, [sp, 0xC] - str r4, [sp, 0x10] - str r4, [sp, 0x14] - movs r0, 0xE - str r0, [sp, 0x18] - str r6, [sp, 0x1C] - str r6, [sp, 0x20] - movs r0, 0 - mov r1, r8 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - b _0814AB78 - .pool -_0814AB2C: - movs r1, 0xC - ldrsh r0, [r7, r1] - cmp r0, 0 - ble _0814AB72 - ldr r1, =gUnknown_085C9A30 - subs r0, 0x1 - adds r0, r1 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x7 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 22 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x7 - bl __udivsi3 - adds r3, r0, 0 - lsls r3, 26 - lsrs r3, 24 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl FillBgTilemapBufferRect -_0814AB72: - ldrh r0, [r7, 0xC] - adds r0, 0x1 - strh r0, [r7, 0xC] -_0814AB78: - movs r1, 0xC - ldrsh r0, [r7, r1] - cmp r0, 0x22 - ble _0814AB86 - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] -_0814AB86: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - add sp, 0x24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AAB8 - - thumb_func_start sub_814ABA0 -sub_814ABA0: @ 814ABA0 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814ABA0 - - thumb_func_start sub_814ABE4 -sub_814ABE4: @ 814ABE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - ldrh r0, [r6, 0xC] - movs r1, 0x1 - eors r0, r1 - strh r0, [r6, 0xC] - cmp r0, 0 - bne _0814AC24 - ldr r5, =gBattle_BG0_X - ldrh r1, [r5] - movs r0, 0x12 - bl SetGpuReg - ldr r4, =gBattle_BG0_Y - ldrh r1, [r4] - movs r0, 0x10 - bl SetGpuReg - ldrh r0, [r6, 0x8] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - ldrh r0, [r6, 0xA] - ldrh r1, [r4] - adds r0, r1 - strh r0, [r4] -_0814AC24: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814ABE4 - - thumb_func_start sub_814AC38 -sub_814AC38: @ 814AC38 - push {r4-r6,lr} - sub sp, 0x10 - adds r6, r0, 0 - movs r5, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085C8598 - ldr r1, [sp, 0xC] - bl LZ77UnCompVram - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_085C8578 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gBattle_BG0_X - strh r5, [r0] - ldr r4, =gBattle_BG0_Y - strh r5, [r4] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x10 - bl SetGpuReg - strh r5, [r6, 0xC] - ldr r0, =sub_814ABE4 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 16 - cmp r1, 0x1 - beq _0814ACE4 - cmp r1, 0x1 - bgt _0814ACC8 - cmp r1, 0 - beq _0814ACCE - b _0814AD1C - .pool -_0814ACC8: - cmp r1, 0x2 - beq _0814AD00 - b _0814AD1C -_0814ACCE: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - b _0814AD2E - .pool -_0814ACE4: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0x8] - movs r1, 0x1 - negs r1, r1 - b _0814AD2C - .pool -_0814AD00: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - ldr r1, =0x0000ffff - b _0814AD2C - .pool -_0814AD1C: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0x8] - movs r1, 0x1 -_0814AD2C: - strh r1, [r0, 0xA] -_0814AD2E: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AC38 - - thumb_func_start sub_814AD48 -sub_814AD48: @ 814AD48 - push {r4,lr} - sub sp, 0x24 - adds r4, r0, 0 - ldr r1, =gUnknown_085C9A53 - movs r2, 0xC - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r3, [r0] - lsrs r2, r3, 3 - movs r0, 0x7 - ands r3, r0 - ldr r1, =gUnknown_085C8928 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - lsls r2, 2 - adds r2, 0x1 - str r2, [sp, 0x8] - lsls r3, 2 - str r3, [sp, 0xC] - str r0, [sp, 0x10] - str r0, [sp, 0x14] - movs r0, 0xF - str r0, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x1C] - str r0, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0814ADA0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0814ADA0: - movs r0, 0 - add sp, 0x24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AD48 - - thumb_func_start sub_814ADB4 -sub_814ADB4: @ 814ADB4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0xffff7fff - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814ADB4 - - thumb_func_start sub_814ADD8 -sub_814ADD8: @ 814ADD8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, =gUnknown_085C9A53 - movs r2, 0xC - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r3, [r0] - lsrs r2, r3, 3 - movs r0, 0x7 - ands r3, r0 - lsls r2, 2 - adds r2, 0x1 - lsls r3, 2 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0814AE2E - ldr r0, =sub_814ABE4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0814AE2E: - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814ADD8 - - thumb_func_start sub_814AE40 -sub_814AE40: @ 814AE40 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r4, =gBattle_BG0_Y - strh r1, [r4] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x10 - bl SetGpuReg - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, [r5] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AE40 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_blender.s b/asm/berry_blender.s deleted file mode 100644 index 6d18ab7cb..000000000 --- a/asm/berry_blender.s +++ /dev/null @@ -1,8788 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_807F738 -sub_807F738: @ 807F738 - push {lr} - ldr r0, =gMPlay_SE2 - ldr r1, =0x0000ffff - ldr r2, =gUnknown_020322A4 - ldr r2, [r2] - adds r2, 0x4C - movs r3, 0 - ldrsh r2, [r2, r3] - subs r2, 0x80 - lsls r2, 17 - asrs r2, 16 - bl m4aMPlayPitchControl - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F738 - - thumb_func_start sub_807F764 -sub_807F764: @ 807F764 - push {r4,lr} - sub sp, 0x10 - bl sub_8082DF4 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - mov r12, r0 - movs r0, 0xA0 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - movs r0, 0xA2 - lsls r0, 1 - add r0, r12 - ldr r2, [r0] - movs r0, 0xA4 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r3, [r0, r4] - movs r0, 0xA5 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r0, [r0, r4] - str r0, [sp] - movs r0, 0xA6 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r0, [r0, r4] - str r0, [sp, 0x4] - movs r0, 0xA7 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r0, [r0, r4] - str r0, [sp, 0x8] - movs r0, 0xA8 - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - str r0, [sp, 0xC] - movs r0, 0x2 - bl SetBgAffine - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F764 - - thumb_func_start sub_807F7D8 -sub_807F7D8: @ 807F7D8 - push {r4,r5,lr} - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0, 0x1] - adds r5, r1, 0 - cmp r0, 0x9 - bls _0807F7E8 - b _0807F9C8 -_0807F7E8: - lsls r0, 2 - ldr r1, =_0807F7FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807F7FC: - .4byte _0807F824 - .4byte _0807F854 - .4byte _0807F880 - .4byte _0807F8AC - .4byte _0807F8C8 - .4byte _0807F8F4 - .4byte _0807F910 - .4byte _0807F940 - .4byte _0807F950 - .4byte _0807F980 -_0807F824: - ldr r5, =gUnknown_08D91598 - adds r0, r5, 0 - bl sub_8034974 - adds r0, 0x64 - bl AllocZeroed - adds r1, r0, 0 - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - ldr r2, =0x000011bc - adds r0, r2 - str r1, [r0] - adds r0, r5, 0 - bl LZDecompressWram - ldr r1, [r4] - b _0807F966 - .pool -_0807F854: - ldr r1, =gUnknown_083390F4 - movs r2, 0x80 - lsls r2, 3 - movs r0, 0x2 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_083390D4 - movs r2, 0x80 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - b _0807F962 - .pool -_0807F880: - ldr r0, [r5] - ldr r1, =0x000011bc - adds r0, r1 - ldr r4, [r0] - ldr r0, =gUnknown_08D91598 - bl sub_8034974 - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x2 - adds r1, r4, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r5] - b _0807F966 - .pool -_0807F8AC: - ldr r0, =gUnknown_08D91DB8 - ldr r1, [r5] - ldr r2, =0x000011bc - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - ldr r1, [r5] - b _0807F966 - .pool -_0807F8C8: - ldr r0, [r5] - ldr r1, =0x000011bc - adds r0, r1 - ldr r4, [r0] - ldr r0, =gUnknown_08D91DB8 - bl sub_8034974 - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r4, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r5] - b _0807F966 - .pool -_0807F8F4: - ldr r0, =gUnknown_08D927EC - ldr r1, [r5] - ldr r2, =0x000011bc - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - ldr r1, [r5] - b _0807F966 - .pool -_0807F910: - ldr r0, [r5] - ldr r1, =0x000011bc - adds r0, r1 - ldr r4, [r0] - ldr r0, =gUnknown_08D927EC - bl sub_8034974 - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r4, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r1, [r5] - b _0807F966 - .pool -_0807F940: - ldr r0, =gUnknown_083394F4 - movs r1, 0x80 - movs r2, 0x20 - bl LoadPalette - b _0807F962 - .pool -_0807F950: - ldr r0, =gUnknown_08339AC0 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339BD8 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339B38 - bl LoadSpriteSheet -_0807F962: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_0807F966: - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _0807F9C8 - .pool -_0807F980: - ldr r0, =gUnknown_08339C24 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339C58 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339AD0 - bl LoadSpritePalette - ldr r0, =gUnknown_08339AC8 - bl LoadSpritePalette - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - ldr r2, =0x000011bc - adds r0, r2 - ldr r0, [r0] - bl Free - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x1] - movs r0, 0x1 - b _0807F9CA - .pool -_0807F9C8: - movs r0, 0 -_0807F9CA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_807F7D8 - - thumb_func_start sub_807F9D0 -sub_807F9D0: @ 807F9D0 - push {lr} - sub sp, 0x8 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_807F9D0 - - thumb_func_start sub_807FA34 -sub_807FA34: @ 807FA34 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_08339980 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _0807FA74 - bl DeactivateAllTextPrinters - movs r4, 0 -_0807FA4A: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - adds r4, 0x1 - cmp r4, 0x4 - ble _0807FA4A - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0xE0 - bl sub_81978B0 -_0807FA74: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FA34 - - thumb_func_start sub_807FA80 -sub_807FA80: @ 807FA80 - push {r4,lr} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - cmp r0, 0 - bne _0807FA94 - movs r0, 0x8F - lsls r0, 5 - bl AllocZeroed - str r0, [r4] -_0807FA94: - ldr r0, [r4] - adds r0, 0x63 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x63 - strb r1, [r0] - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_807FE54 - ldr r0, =sub_807FAC8 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FA80 - - thumb_func_start sub_807FAC8 -sub_807FAC8: @ 807FAC8 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0x6 - bls _0807FADA - b _0807FCE2 -_0807FADA: - lsls r0, 2 - ldr r1, =_0807FAEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807FAEC: - .4byte _0807FB08 - .4byte _0807FBAC - .4byte _0807FC38 - .4byte _0807FC4E - .4byte _0807FC64 - .4byte _0807FC90 - .4byte _0807FCB0 -_0807FB08: - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08339974 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - movs r0, 0xDC - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x000009b8 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl sub_809882C - movs r0, 0 - movs r1, 0x14 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - bl sub_807FA34 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r3, [r4] - movs r1, 0x8C - lsls r1, 1 - adds r0, r3, r1 - movs r1, 0 - strh r2, [r0] - movs r4, 0x8B - lsls r4, 1 - adds r0, r3, r4 - strh r2, [r0] - movs r0, 0x8D - lsls r0, 1 - adds r4, r3, r0 - movs r0, 0x50 - strh r0, [r4] - movs r4, 0x8E - lsls r4, 1 - adds r0, r3, r4 - strh r2, [r0] - adds r4, 0x2 - adds r0, r3, r4 - strh r2, [r0] - strb r1, [r3, 0x1] - bl sub_8082D28 - b _0807FCE2 - .pool -_0807FBAC: - bl sub_807F7D8 - lsls r0, 24 - cmp r0, 0 - bne _0807FBB8 - b _0807FCE2 -_0807FBB8: - movs r4, 0 - ldr r5, =gUnknown_083399C8 - ldr r6, =gUnknown_020322A4 -_0807FBBE: - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - ldr r0, =gUnknown_08339AD8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x50 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x50 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0807FBBE - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0807FC14 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _0807FC14 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl sub_800DFB4 -_0807FC14: - ldr r0, =sub_807F764 - bl SetVBlankCallback - b _0807FCA0 - .pool -_0807FC38: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_8082D28 - b _0807FCA0 -_0807FC4E: - bl sub_807F9D0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807FCE2 - b _0807FCA0 - .pool -_0807FC64: - ldr r4, [r6] - ldr r0, =0x000011b8 - adds r4, r0 - ldr r5, =gUnknown_0833973A - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - beq _0807FCE2 - ldr r1, [r6] - b _0807FCA4 - .pool -_0807FC90: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0807FCA0: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_0807FCA4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807FCE2 - .pool -_0807FCB0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0807FCE2 - bl FreeAllWindowBuffers - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl SetVBlankCallback - ldr r0, =sub_807FFA4 - bl sub_81AABF0 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - strb r4, [r0] -_0807FCE2: - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FAC8 - - thumb_func_start sub_807FD08 -sub_807FD08: @ 807FD08 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - subs r1, r2 - ldrh r0, [r4, 0x3C] - adds r1, r0 - strh r1, [r4, 0x32] - ldrh r3, [r4, 0x2E] - adds r0, r3 - strh r0, [r4, 0x2E] - subs r2, 0x1 - strh r2, [r4, 0x36] - lsls r0, 16 - lsls r1, 16 - cmp r0, r1 - bge _0807FD56 - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x36] - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0807FD50 - adds r0, r4, 0 - bl DestroySprite - b _0807FD56 -_0807FD50: - movs r0, 0x74 - bl PlaySE -_0807FD56: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x32] - strh r0, [r4, 0x22] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807FD08 - - thumb_func_start sub_807FD64 -sub_807FD64: @ 807FD64 - push {r4-r6,lr} - ldr r5, [sp, 0x10] - ldr r6, [sp, 0x14] - lsls r2, 16 - lsrs r2, 16 - movs r4, 0 - strh r2, [r0, 0x2E] - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - strh r3, [r0, 0x34] - movs r1, 0xA - strh r1, [r0, 0x36] - strh r4, [r0, 0x38] - strh r5, [r0, 0x3A] - strh r6, [r0, 0x3C] - ldr r1, =sub_807FD08 - str r1, [r0, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FD64 - - thumb_func_start sub_807FD90 -sub_807FD90: @ 807FD90 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r6, r1, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r0, 24 - movs r1, 0xF6 - lsls r1, 23 - adds r0, r1 - lsrs r0, 24 - movs r3, 0x1 - ands r3, r6 - movs r1, 0 - movs r2, 0x50 - bl sub_80D511C - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - mov r8, r2 - add r8, r0 - mov r3, r8 - lsls r3, 2 - mov r8, r3 - ldr r0, =gSprites - add r8, r0 - ldr r5, =gUnknown_08339C78 - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 1 - adds r0, r4, r5 - movs r6, 0 - ldrsh r1, [r0, r6] - adds r0, r5, 0x2 - adds r0, r4, r0 - movs r3, 0 - ldrsh r2, [r0, r3] - adds r0, r5, 0x4 - adds r0, r4, r0 - movs r6, 0 - ldrsh r3, [r0, r6] - adds r0, r5, 0x6 - adds r0, r4, r0 - movs r6, 0 - ldrsh r0, [r0, r6] - str r0, [sp] - adds r5, 0x8 - adds r4, r5 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - mov r0, r8 - bl sub_807FD64 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FD90 - - thumb_func_start sub_807FE14 -sub_807FE14: @ 807FE14 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r5, r1, 16 - lsrs r5, 16 - adds r0, r5, 0 - adds r0, 0x7C - lsls r0, 24 - lsrs r0, 24 - bl GetBerryInfo - adds r4, r0, 0 - strh r5, [r6] - adds r0, r6, 0x2 - adds r1, r4, 0 - bl StringCopy - ldrb r0, [r4, 0x15] - strb r0, [r6, 0x9] - ldrb r0, [r4, 0x16] - strb r0, [r6, 0xA] - ldrb r0, [r4, 0x17] - strb r0, [r6, 0xB] - ldrb r0, [r4, 0x18] - strb r0, [r6, 0xC] - ldrb r0, [r4, 0x19] - strb r0, [r6, 0xD] - ldrb r0, [r4, 0x1A] - strb r0, [r6, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_807FE14 - - thumb_func_start sub_807FE54 -sub_807FE54: @ 807FE54 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - beq _0807FE7C - cmp r5, 0x1 - bgt _0807FE68 - cmp r5, 0 - beq _0807FE72 - b _0807FF88 -_0807FE68: - cmp r5, 0x2 - beq _0807FEE8 - cmp r5, 0x3 - beq _0807FF3C - b _0807FF88 -_0807FE72: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - b _0807FF88 - .pool -_0807FE7C: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - movs r1, 0x2 - strb r1, [r0] - ldr r4, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - movs r0, 0xD0 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0807FEC8 - adds r0, r4, 0 - adds r0, 0x1C - ldr r1, =gUnknown_083397D0 - ldr r1, [r1, 0xC] - bl StringCopy - b _0807FED4 - .pool -_0807FEC8: - adds r0, r4, 0 - adds r0, 0x1C - ldr r1, =gUnknown_083397D0 - ldr r1, [r1] - bl StringCopy -_0807FED4: - ldr r1, =gLinkPlayers - movs r0, 0x2 - strh r0, [r1, 0x1A] - strh r0, [r1, 0x36] - b _0807FF88 - .pool -_0807FEE8: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - movs r1, 0x3 - strb r1, [r0] - ldr r6, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - adds r0, r6, 0 - adds r0, 0x1C - ldr r4, =gUnknown_083397D0 - ldr r1, [r4, 0x10] - bl StringCopy - adds r0, r6, 0 - adds r0, 0x38 - ldr r1, [r4, 0x8] - bl StringCopy - adds r0, r6, 0 - subs r0, 0x8 - strh r5, [r0, 0x1A] - strh r5, [r0, 0x36] - adds r0, 0x52 - strh r5, [r0] - b _0807FF88 - .pool -_0807FF3C: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - movs r1, 0x4 - strb r1, [r0] - ldr r5, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - adds r0, r5, 0 - adds r0, 0x1C - ldr r4, =gUnknown_083397D0 - ldr r1, [r4, 0x14] - bl StringCopy - adds r0, r5, 0 - adds r0, 0x38 - ldr r1, [r4, 0x4] - bl StringCopy - adds r0, r5, 0 - adds r0, 0x54 - ldr r1, [r4, 0x8] - bl StringCopy - adds r0, r5, 0 - subs r0, 0x8 - movs r1, 0x2 - strh r1, [r0, 0x1A] - strh r1, [r0, 0x36] - adds r0, 0x52 - strh r1, [r0] - adds r0, 0x1C - strh r1, [r0] -_0807FF88: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FE54 - - thumb_func_start sub_807FFA4 -sub_807FFA4: @ 807FFA4 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - cmp r0, 0 - bne _0807FFC0 - movs r0, 0x8F - lsls r0, 5 - bl AllocZeroed - str r0, [r4] -_0807FFC0: - ldr r0, [r4] - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - movs r2, 0x86 - lsls r2, 1 - adds r0, r2 - str r1, [r0] - movs r2, 0 - ldr r5, =gSpecialVar_0x8004 - movs r3, 0 -_0807FFD6: - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0x74 - adds r0, r1 - strh r3, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _0807FFD6 - ldrb r0, [r5] - bl sub_807FE54 - ldrh r0, [r5] - cmp r0, 0 - bne _08080008 - ldr r0, =sub_8080018 - bl SetMainCallback2 - b _0808000E - .pool -_08080008: - ldr r0, =sub_80808D4 - bl SetMainCallback2 -_0808000E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FFA4 - - thumb_func_start sub_8080018 -sub_8080018: @ 8080018 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x15 - bls _0808002A - b _08080546 -_0808002A: - lsls r0, 2 - ldr r1, =_0808003C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0808003C: - .4byte _08080094 - .4byte _08080100 - .4byte _08080120 - .4byte _0808019C - .4byte _080801AE - .4byte _080801C8 - .4byte _08080546 - .4byte _08080546 - .4byte _080801F8 - .4byte _08080248 - .4byte _0808026C - .4byte _08080302 - .4byte _0808035C - .4byte _080803D4 - .4byte _08080408 - .4byte _0808049C - .4byte _080804D0 - .4byte _08080546 - .4byte _080804F8 - .4byte _080804E4 - .4byte _080804EA - .4byte _08080508 -_08080094: - bl sub_8080588 - ldr r1, =gUnknown_020229C6 - ldr r2, =0x00004422 - adds r0, r2, 0 - strh r0, [r1] - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x72 - movs r1, 0 - strb r1, [r0] - movs r5, 0 - movs r6, 0 - movs r7, 0x92 - lsls r7, 1 -_080800B2: - ldr r0, [r2] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - strh r6, [r0] - adds r4, r5, 0x1 - adds r1, r5 - lsls r1, 1 - movs r3, 0x2 -_080800C4: - ldr r0, [r2] - adds r0, r7 - adds r0, r1 - strh r6, [r0] - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080800C4 - adds r5, r4, 0 - cmp r5, 0x3 - ble _080800B2 - ldr r3, =gUnknown_020322A4 - ldr r4, [r3] - adds r1, r4, 0 - adds r1, 0x70 - movs r2, 0 - movs r0, 0 - strh r0, [r1] - subs r1, 0x22 - strh r0, [r1] - strb r2, [r4, 0x1] - ldr r1, [r3] - b _080804FC - .pool -_08080100: - bl sub_807F7D8 - lsls r0, 24 - cmp r0, 0 - bne _0808010C - b _08080546 -_0808010C: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_8082D28 - b _08080546 - .pool -_08080120: - movs r5, 0 - ldr r4, =gUnknown_083399C8 - ldr r6, =gUnknown_020322A4 -_08080126: - ldrb r1, [r4] - ldrb r2, [r4, 0x1] - ldr r0, =gUnknown_08339AD8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x54 - adds r1, r5 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x54 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r5, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08080126 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0808016A - b _080804F8 -_0808016A: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _08080174 - b _080804F8 -_08080174: - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl sub_800DFB4 - b _080804F8 - .pool -_0808019C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080804F8 -_080801AE: - bl sub_807F9D0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080801C0 - b _08080546 -_080801C0: - b _080804F8 - .pool -_080801C8: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - ldr r3, =0x000011b8 - adds r0, r3 - ldr r1, =gUnknown_0833981A - movs r2, 0 - bl sub_808417C - ldr r1, [r4] - movs r2, 0 - movs r0, 0x8 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - str r2, [r0] - b _08080546 - .pool -_080801F8: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - movs r6, 0 - strb r0, [r1] - ldr r0, [r4] - movs r2, 0x8A - lsls r2, 1 - adds r0, r2 - strb r6, [r0] - ldr r0, [r4] - movs r5, 0xAC - lsls r5, 1 - adds r0, r5 - ldr r1, =gScriptItemId - ldrh r1, [r1] - bl sub_807FE14 - ldr r0, =gUnknown_020228C4 - ldr r1, [r4] - adds r1, r5 - movs r2, 0x10 - bl memcpy - bl sub_800ADF8 - ldr r0, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - str r6, [r0] - b _08080546 - .pool -_08080248: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _08080254 - b _08080546 -_08080254: - bl ResetBlockReceivedFlags - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _08080264 - b _080804F8 -_08080264: - movs r0, 0x4 - bl sub_800A4D8 - b _080804F8 -_0808026C: - ldr r6, =gUnknown_020322A4 - ldr r1, [r6] - movs r0, 0x84 - lsls r0, 1 - adds r1, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bgt _08080282 - b _08080546 -_08080282: - movs r0, 0x4 - movs r1, 0x1 - bl sub_8197DF8 - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A9D8 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _0808029E - b _08080546 -_0808029E: - movs r5, 0 - adds r7, r6, 0 - movs r6, 0xAC - lsls r6, 1 - b _080802D4 - .pool -_080802AC: - ldr r0, [r7] - lsls r4, r5, 4 - adds r0, r4, r0 - adds r0, r6 - lsls r1, r5, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x10 - bl memcpy - ldr r0, [r7] - lsls r2, r5, 1 - adds r1, r0, 0 - adds r1, 0x74 - adds r1, r2 - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r5, 0x1 -_080802D4: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _080802AC - bl ResetBlockReceivedFlags - b _080804F8 - .pool -_080802EC: - ldrb r1, [r4] - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x74 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl sub_807FD90 - b _08080336 -_08080302: - bl GetLinkPlayerCount - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - adds r1, 0x7C - strb r0, [r1] - movs r5, 0 - ldr r2, [r2] - movs r1, 0x8A - lsls r1, 1 - adds r4, r2, r1 - ldr r1, =gUnknown_083399D0 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - ldrb r3, [r4] - adds r0, r1 -_08080328: - ldrb r1, [r0] - cmp r3, r1 - beq _080802EC - adds r0, 0x1 - adds r5, 0x1 - cmp r5, 0x3 - ble _08080328 -_08080336: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r0, 0x84 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r3] - movs r2, 0x8A - lsls r2, 1 - adds r1, r2 - b _080804FC - .pool -_0808035C: - ldr r3, [r2] - movs r0, 0x84 - lsls r0, 1 - adds r1, r3, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _08080370 - b _08080546 -_08080370: - movs r1, 0x8A - lsls r1, 1 - adds r0, r3, r1 - adds r1, r3, 0 - adds r1, 0x7C - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcc _080803B8 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r2, [r2] - ldr r3, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r3 - ldr r3, =0xffffa800 - adds r1, r3, 0 - ldrh r0, [r0] - adds r1, r0 - adds r2, 0x4A - strh r1, [r2] - b _080803BE - .pool -_080803B8: - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] -_080803BE: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] - b _08080546 - .pool -_080803D4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080803E0 - b _08080546 -_080803E0: - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2 - bl sub_8082CB4 - movs r0, 0x2B - bl PlaySE - movs r0, 0x2 - bl ShowBg - b _08080546 - .pool -_08080408: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits - ldr r4, =gUnknown_020322A4 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x4A - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - movs r0, 0x8D - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _0808048C - movs r0, 0xC - movs r1, 0x2 - bl SetGpuRegBits - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r3, [r4] - movs r2, 0x8D - lsls r2, 1 - adds r1, r3, r2 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1] - ldr r2, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x4A - strh r0, [r1] - movs r0, 0x84 - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - str r0, [r1] - movs r0, 0x34 - bl PlaySE - bl sub_808074C - bl sub_80807BC -_0808048C: - ldr r0, [r4] - b _080804BE - .pool -_0808049C: - bl sub_8083380 - lsls r0, 24 - cmp r0, 0 - beq _080804BA - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080804BA: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] -_080804BE: - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - bl sub_8082CB4 - b _08080546 - .pool -_080804D0: - ldr r0, =gUnknown_08339C2C - movs r2, 0x10 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x3 - bl CreateSprite - b _080804F8 - .pool -_080804E4: - bl sub_800ADF8 - b _080804F8 -_080804EA: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _08080546 - bl sub_800A418 -_080804F8: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_080804FC: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08080546 - .pool -_08080508: - ldr r5, =gUnknown_020322A4 - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x4C - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - movs r1, 0x82 - lsls r1, 1 - adds r0, r3, r1 - str r2, [r0] - ldr r0, =sub_8081898 - bl SetMainCallback2 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - ldr r4, =0x00000193 - cmp r0, r4 - beq _08080540 - bl GetCurrentMapMusic - ldr r1, [r5] - movs r2, 0xAA - lsls r2, 1 - adds r1, r2 - strh r0, [r1] -_08080540: - adds r0, r4, 0 - bl PlayBGM -_08080546: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x8E - lsls r3, 1 - adds r0, r1, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r3, 0x2 - adds r1, r3 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080018 - - thumb_func_start sub_8080588 -sub_8080588: @ 8080588 - push {r4,lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, =sub_807F764 - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08339974 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - movs r0, 0xDC - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r3, =0x000009b8 - adds r1, r3 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl sub_809882C - movs r0, 0 - movs r1, 0x14 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - bl sub_807FA34 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x44 - movs r1, 0 - strh r1, [r0] - adds r0, 0x8 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - movs r3, 0x8E - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080588 - - thumb_func_start task_tutorial_oak_boy_girl -task_tutorial_oak_boy_girl: @ 8080624 - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r0, 24 - adds r2, r0, 0 - adds r2, 0x18 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsrs r1, 23 - adds r0, 0x96 - adds r0, r1 - ldrb r0, [r0] - ldr r1, =gUnknown_083399E7 - adds r0, r1 - ldrb r1, [r0] - cmp r2, r1 - bcc _0808066C - adds r0, r1, 0 - adds r0, 0x30 - cmp r2, r0 - bcs _0808066C - subs r0, 0x1C - cmp r2, r0 - bcc _08080668 - adds r0, 0x8 - cmp r2, r0 - bcs _08080668 - movs r0, 0x2 - b _0808066E - .pool -_08080668: - movs r0, 0x1 - b _0808066E -_0808066C: - movs r0, 0 -_0808066E: - pop {r1} - bx r1 - thumb_func_end task_tutorial_oak_boy_girl - - thumb_func_start sub_8080674 -sub_8080674: @ 8080674 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r1, 24 - movs r6, 0 - cmp r5, 0xAF - bne _080806AC - movs r4, 0 - subs r7, r1, 0x1 - adds r2, 0x9 -_08080690: - adds r0, r2, r6 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _0808069E - adds r6, r4, 0 -_0808069E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08080690 - adds r0, r6, 0x5 - b _080806C4 -_080806AC: - adds r0, r5, 0 - subs r0, 0x85 - lsls r0, 16 - lsrs r6, r0, 16 - subs r7, r1, 0x1 - cmp r6, 0x4 - bls _080806C8 - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - adds r0, 0x5 -_080806C4: - lsls r0, 16 - lsrs r6, r0, 16 -_080806C8: - movs r4, 0 - cmp r4, r7 - bge _08080734 - ldr r0, =gUnknown_08339CA0 - mov r9, r0 - adds r0, r5, 0 - subs r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_080806DC: - lsls r0, r6, 1 - adds r0, r6 - adds r0, r4, r0 - add r0, r9 - ldrb r5, [r0] - movs r0, 0xD0 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0808071A - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0808071A - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gUnknown_08339CBE - adds r0, r6, r0 - ldrb r5, [r0] - mov r0, r8 - cmp r0, 0x4 - bhi _0808071A - subs r0, r5, 0x5 - lsls r0, 16 - lsrs r5, r0, 16 -_0808071A: - adds r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r1, 0x85 - lsls r1, 16 - lsrs r1, 16 - bl sub_8082FDC - lsls r4, 16 - lsrs r4, 16 - cmp r4, r7 - blt _080806DC -_08080734: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080674 - - thumb_func_start sub_808074C -sub_808074C: @ 808074C - push {r4-r7,lr} - movs r4, 0 - ldr r7, =gUnknown_020322A4 - movs r6, 0xFF - ldr r5, =gUnknown_083399D0 -_08080756: - ldr r3, [r7] - lsls r2, r4, 1 - adds r0, r3, 0 - adds r0, 0x96 - adds r0, r2 - strh r6, [r0] - adds r1, r3, 0 - adds r1, 0x8E - adds r1, r2 - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r5 - ldrb r0, [r0] - strh r0, [r1] - adds r4, 0x1 - cmp r4, 0x3 - ble _08080756 - movs r3, 0 - ldr r7, =gUnknown_020322A4 -_08080784: - movs r4, 0 - adds r6, r3, 0x1 - lsls r5, r3, 1 -_0808078A: - ldr r2, [r7] - lsls r0, r4, 1 - adds r1, r2, 0 - adds r1, 0x8E - adds r1, r0 - ldrh r0, [r1] - cmp r0, r3 - bne _080807A2 - adds r0, r2, 0 - adds r0, 0x96 - adds r0, r5 - strh r4, [r0] -_080807A2: - adds r4, 0x1 - cmp r4, 0x3 - ble _0808078A - adds r3, r6, 0 - cmp r3, 0x3 - ble _08080784 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808074C - - thumb_func_start sub_80807BC -sub_80807BC: @ 80807BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r10, r0 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080807DE - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_080807DE: - movs r6, 0 - ldr r7, =gUnknown_020322A4 - mov r8, r6 -_080807E4: - ldr r2, [r7] - lsls r5, r6, 1 - adds r0, r2, 0 - adds r0, 0x8E - adds r3, r0, r5 - ldrh r0, [r3] - cmp r0, 0xFF - beq _080808B6 - adds r1, r2, 0 - adds r1, 0x50 - ldrh r3, [r3] - adds r1, r3 - adds r0, r2, 0 - adds r0, 0x54 - adds r0, r6 - ldrb r0, [r0] - movs r2, 0 - mov r9, r2 - strb r0, [r1] - ldr r0, [r7] - adds r1, r0, 0 - adds r1, 0x8E - adds r1, r5 - adds r0, 0x50 - ldrh r1, [r1] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - mov r1, r8 - lsrs r4, r1, 24 - adds r1, r4, 0 - bl StartSpriteAnim - add r1, sp, 0x8 - movs r0, 0xFF - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x8E - adds r0, r5 - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - add r0, sp, 0x8 - bl StringCopy - movs r0, 0x1 - add r1, sp, 0x8 - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - ldr r0, [r7] - adds r0, 0x8E - adds r0, r5 - mov r5, r8 - ldrh r0, [r0] - cmp r10, r0 - bne _08080890 - lsls r2, 24 - lsrs r2, 24 - mov r0, r9 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r4, 0 - add r1, sp, 0x8 - movs r3, 0x1 - bl sub_80840D4 - b _080808A6 - .pool -_08080890: - lsls r2, 24 - lsrs r2, 24 - mov r1, r9 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r4, 0 - add r1, sp, 0x8 - movs r3, 0x1 - bl sub_80840D4 -_080808A6: - lsrs r4, r5, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_080808B6: - movs r2, 0x80 - lsls r2, 17 - add r8, r2 - adds r6, 0x1 - cmp r6, 0x3 - ble _080807E4 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80807BC - - thumb_func_start sub_80808D4 -sub_80808D4: @ 80808D4 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x15 - bls _080808E6 - b _08080DAE -_080808E6: - lsls r0, 2 - ldr r1, =_080808F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080808F8: - .4byte _08080950 - .4byte _080809E4 - .4byte _08080A04 - .4byte _08080A58 - .4byte _08080A84 - .4byte _08080DAE - .4byte _08080DAE - .4byte _08080DAE - .4byte _08080ABC - .4byte _08080DAE - .4byte _08080DAE - .4byte _08080AEC - .4byte _08080B3C - .4byte _08080BB0 - .4byte _08080BDC - .4byte _08080C78 - .4byte _08080CA0 - .4byte _08080DAE - .4byte _08080CAE - .4byte _08080CAE - .4byte _08080CAE - .4byte _08080CC4 -_08080950: - bl sub_800B4C0 - bl sub_8080588 - ldr r4, =gScriptItemId - ldrh r1, [r4] - movs r0, 0 - bl sub_8082FDC - ldr r5, =gUnknown_020322A4 - ldr r0, [r5] - movs r6, 0xAC - lsls r6, 1 - adds r0, r6 - ldrh r1, [r4] - bl sub_807FE14 - ldrh r0, [r4] - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x7C - ldrb r1, [r1] - adds r2, r6 - bl sub_8080674 - movs r4, 0 - movs r6, 0 - ldr r0, =gUnknown_020229C6 - mov r12, r0 - movs r7, 0x92 - lsls r7, 1 -_0808098E: - ldr r0, [r5] - lsls r1, r4, 1 - adds r0, 0x64 - adds r0, r1 - strh r6, [r0] - adds r3, r4, 0x1 - adds r1, r4 - lsls r1, 1 - movs r2, 0x2 -_080809A0: - ldr r0, [r5] - adds r0, r7 - adds r0, r1 - strh r6, [r0] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080809A0 - adds r4, r3, 0 - cmp r4, 0x3 - ble _0808098E - ldr r4, =gUnknown_020322A4 - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x70 - movs r2, 0 - movs r0, 0 - strh r0, [r1] - strb r2, [r3, 0x1] - ldr r1, =0x00004422 - adds r0, r1, 0 - mov r2, r12 - strh r0, [r2] - ldr r1, [r4] - b _08080CB2 - .pool -_080809E4: - bl sub_807F7D8 - lsls r0, 24 - cmp r0, 0 - bne _080809F0 - b _08080DAE -_080809F0: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_8082D28 - b _08080DAE - .pool -_08080A04: - movs r4, 0 - ldr r5, =gUnknown_083399C8 - ldr r6, =gUnknown_020322A4 -_08080A0A: - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - ldr r0, =gUnknown_08339AD8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x54 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x54 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _08080A0A - b _08080CAE - .pool -_08080A58: - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - str r4, [r0] - b _08080DAE - .pool -_08080A84: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - movs r5, 0x84 - lsls r5, 1 - adds r1, r5 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x2 - bne _08080A9C - bl sub_807F9D0 -_08080A9C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08080AAA - b _08080DAE -_08080AAA: - ldr r1, [r4] - movs r0, 0x8 - strb r0, [r1] - b _08080DAE - .pool -_08080ABC: - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - movs r3, 0 - movs r0, 0xB - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - strb r3, [r0] - b _08080DAE - .pool -_08080AD8: - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x74 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_807FD90 - b _08080B16 -_08080AEC: - movs r4, 0 - ldr r2, =gUnknown_083399D0 - ldr r0, =gUnknown_020322A4 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - movs r5, 0x8A - lsls r5, 1 - adds r1, r3, r5 - ldrb r1, [r1] - adds r0, r2 -_08080B08: - ldrb r2, [r0] - cmp r1, r2 - beq _08080AD8 - adds r0, 0x1 - adds r4, 0x1 - cmp r4, 0x3 - ble _08080B08 -_08080B16: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r5, 0x84 - lsls r5, 1 - adds r2, r1, r5 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r3] - movs r0, 0x8A - lsls r0, 1 - adds r1, r0 - b _08080CB2 - .pool -_08080B3C: - ldr r3, [r2] - movs r2, 0x84 - lsls r2, 1 - adds r1, r3, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _08080B50 - b _08080DAE -_08080B50: - movs r5, 0x8A - lsls r5, 1 - adds r0, r3, r5 - adds r4, r3, 0 - adds r4, 0x7C - ldrb r0, [r0] - ldrb r1, [r4] - cmp r0, r1 - bcc _08080B94 - ldr r2, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - ldrb r0, [r4] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldr r2, =0xffffa800 - adds r1, r2, 0 - ldrh r0, [r0] - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x4A - strh r1, [r0] - ldrb r0, [r3] - adds r0, 0x1 - b _08080B98 - .pool -_08080B94: - ldrb r0, [r3] - subs r0, 0x1 -_08080B98: - strb r0, [r3] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - movs r1, 0 - str r1, [r0] - b _08080DAE - .pool -_08080BB0: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_808074C - movs r0, 0x2B - bl PlaySE - ldr r0, [r4] - movs r5, 0xA0 - lsls r5, 1 - adds r0, r5 - bl sub_8082CB4 - movs r0, 0x2 - bl ShowBg - b _08080DAE - .pool -_08080BDC: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits - ldr r4, =gUnknown_020322A4 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x4A - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r5, [r1] - adds r0, r5 - strh r0, [r1] - movs r0, 0x8D - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _08080C5C - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldr r3, [r4] - movs r2, 0x8D - lsls r2, 1 - adds r1, r3, r2 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1] - ldr r2, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - adds r0, r3, 0 - adds r0, 0x4A - strh r1, [r0] - movs r0, 0xC - movs r1, 0x2 - bl SetGpuRegBits - ldr r0, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - movs r1, 0 - str r1, [r0] - movs r0, 0x34 - bl PlaySE - bl sub_80807BC -_08080C5C: - ldr r0, [r4] - movs r5, 0xA0 - lsls r5, 1 - adds r0, r5 - bl sub_8082CB4 - b _08080DAE - .pool -_08080C78: - bl sub_8083380 - lsls r0, 24 - cmp r0, 0 - beq _08080C8C - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08080C8C: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - bl sub_8082CB4 - b _08080DAE - .pool -_08080CA0: - ldr r0, =gUnknown_08339C2C - movs r2, 0x10 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x3 - bl CreateSprite -_08080CAE: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_08080CB2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08080DAE - .pool -_08080CC4: - bl sub_8080DF8 - ldr r5, =gUnknown_020322A4 - ldr r4, [r5] - adds r1, r4, 0 - adds r1, 0x4C - movs r3, 0 - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - movs r1, 0x82 - lsls r1, 1 - adds r0, r4, r1 - str r2, [r0] - ldr r2, =0x00000123 - adds r0, r4, r2 - strb r3, [r0] - ldr r0, [r5] - adds r0, 0x72 - strb r3, [r0] - ldr r0, =sub_8081898 - bl SetMainCallback2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _08080D44 - movs r0, 0xD0 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08080D30 - ldr r0, =sub_8081224 - movs r1, 0xA - bl CreateTask - ldr r1, [r5] - movs r3, 0x90 - lsls r3, 1 - adds r1, r3 - b _08080D42 - .pool -_08080D30: - ldr r0, =gUnknown_083399EC - ldr r0, [r0] - movs r1, 0xA - bl CreateTask - ldr r1, [r5] - movs r5, 0x90 - lsls r5, 1 - adds r1, r5 -_08080D42: - strb r0, [r1] -_08080D44: - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x1 - bls _08080D80 - movs r4, 0 - ldrh r1, [r1] - cmp r4, r1 - bge _08080D80 - movs r5, 0xA0 - lsls r5, 20 - ldr r6, =gUnknown_083399EC -_08080D5A: - ldm r6!, {r0} - lsrs r1, r5, 24 - bl CreateTask - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - movs r2, 0x90 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - movs r3, 0x80 - lsls r3, 17 - adds r5, r3 - adds r4, 0x1 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - blt _08080D5A -_08080D80: - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - ldr r4, =0x00000193 - cmp r0, r4 - beq _08080D9E - bl GetCurrentMapMusic - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - movs r5, 0xAA - lsls r5, 1 - adds r1, r5 - strh r0, [r1] -_08080D9E: - adds r0, r4, 0 - bl PlayBGM - movs r0, 0x35 - bl PlaySE - bl sub_807F738 -_08080DAE: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r5, 0x8F - lsls r5, 1 - adds r1, r5 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80808D4 - - thumb_func_start sub_8080DF8 -sub_8080DF8: @ 8080DF8 - push {lr} - ldr r3, =gUnknown_03003110 - movs r0, 0 - ldr r1, =gUnknown_03003090 - movs r2, 0x3 -_08080E02: - strh r0, [r3] - strh r0, [r3, 0x4] - strh r0, [r1] - strh r0, [r1, 0x4] - adds r1, 0x10 - subs r2, 0x1 - cmp r2, 0 - bge _08080E02 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080DF8 - - thumb_func_start sub_8080E20 -sub_8080E20: @ 8080E20 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xA - ldrsh r1, [r2, r4] - cmp r0, r1 - ble _08080E58 - ldr r0, =gUnknown_03003090 - movs r4, 0xC - ldrsh r1, [r2, r4] - lsls r1, 4 - adds r0, 0x4 - adds r1, r0 - ldr r0, =0x00002345 - strh r0, [r1] - adds r0, r3, 0 - bl DestroyTask -_08080E58: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080E20 - - thumb_func_start sub_8080E6C -sub_8080E6C: @ 8080E6C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sub_8080E20 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080E6C - - thumb_func_start sub_8080EA4 -sub_8080EA4: @ 8080EA4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0x1 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _08080EC2 - b _08080FB8 -_08080EC2: - ldr r2, =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0 - beq _08080ED8 - b _08080FC6 -_08080ED8: - ldr r0, [r4] - ldr r1, =0x00000123 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08080F9A - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r1, r0, 24 - adds r3, r1, 0 - ldr r0, [r4] - adds r0, 0x4C - movs r4, 0 - ldrsh r2, [r0, r4] - ldr r0, =0x000001f3 - cmp r2, r0 - bgt _08080F40 - cmp r1, 0x4B - bls _08080F2C - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - b _08080F30 - .pool -_08080F2C: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 -_08080F30: - strh r0, [r1, 0x14] - ldr r0, =0x00005432 - b _08080F9E - .pool -_08080F40: - ldr r0, =0x000005db - cmp r2, r0 - bgt _08080F6E - cmp r1, 0x50 - bhi _08080F9A - adds r0, r1, 0 - subs r0, 0x15 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bhi _08080F68 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - b _08080F9E - .pool -_08080F68: - cmp r1, 0x9 - bhi _08080FA0 - b _08080F90 -_08080F6E: - cmp r1, 0x5A - bhi _08080F9A - adds r0, r1, 0 - subs r0, 0x47 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _08080F8C - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - b _08080F9E - .pool -_08080F8C: - cmp r3, 0x1D - bhi _08080FA0 -_08080F90: - movs r0, 0x1 - movs r1, 0x5 - bl sub_8080E6C - b _08080FA0 -_08080F9A: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 -_08080F9E: - strh r0, [r1, 0x14] -_08080FA0: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _08080FC4 - .pool -_08080FB8: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_08080FC4: - strh r0, [r1, 0x8] -_08080FC6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080EA4 - - thumb_func_start sub_8080FD0 -sub_8080FD0: @ 8080FD0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_020322A4 - ldr r3, [r6] - adds r0, r3, 0 - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - adds r1, r3, 0 - adds r1, 0x9A - ldrb r1, [r1] - lsrs r2, r0, 8 - ldr r0, =gUnknown_083399E7 - adds r1, r0 - ldrb r1, [r1] - adds r0, r1, 0 - adds r0, 0x14 - cmp r2, r0 - bls _080810E0 - adds r0, 0x14 - cmp r2, r0 - bcs _080810E0 - ldr r2, =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r2 - movs r5, 0x8 - ldrsh r0, [r2, r5] - adds r5, r1, 0 - cmp r0, 0 - bne _080810EE - ldr r1, =0x00000123 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080810CC - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - ldr r0, [r6] - adds r0, 0x4C - movs r6, 0 - ldrsh r1, [r0, r6] - ldr r0, =0x000001f3 - cmp r1, r0 - bgt _08081088 - cmp r2, 0x42 - bls _08081078 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - strh r0, [r1, 0x24] - b _080810B0 - .pool -_08081078: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - strh r0, [r1, 0x24] - b _080810B0 - .pool -_08081088: - cmp r2, 0x41 - bls _08081092 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - strh r0, [r1, 0x24] -_08081092: - adds r0, r2, 0 - subs r0, 0x29 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x18 - bhi _080810A4 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - strh r0, [r1, 0x24] -_080810A4: - cmp r3, 0x9 - bhi _080810B0 - movs r0, 0x2 - movs r1, 0x5 - bl sub_8080E6C -_080810B0: - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _080810EC - .pool -_080810CC: - ldr r0, =gUnknown_03003090 - ldr r1, =0x00004523 - strh r1, [r0, 0x24] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _080810EE - .pool -_080810E0: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_080810EC: - strh r0, [r1, 0x8] -_080810EE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080FD0 - - thumb_func_start sub_80810F8 -sub_80810F8: @ 80810F8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gUnknown_020322A4 - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - adds r1, r3, 0 - adds r1, 0x9C - ldrb r1, [r1] - lsrs r2, r0, 8 - ldr r0, =gUnknown_083399E7 - adds r1, r0 - ldrb r1, [r1] - adds r0, r1, 0 - adds r0, 0x14 - cmp r2, r0 - bls _0808120C - adds r0, 0x14 - cmp r2, r0 - bcs _0808120C - ldr r2, =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r2 - movs r6, 0x8 - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0 - bne _0808121A - ldr r1, =0x00000123 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080811F8 - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, [r5] - adds r0, 0x4C - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r0, =0x000001f3 - cmp r1, r0 - bgt _080811AC - cmp r2, 0x58 - bls _0808119C - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - strh r0, [r1, 0x34] - b _080811DE - .pool -_0808119C: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - strh r0, [r1, 0x34] - b _080811DE - .pool -_080811AC: - cmp r2, 0x3C - bls _080811C0 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - b _080811D0 - .pool -_080811C0: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080811D2 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 -_080811D0: - strh r0, [r1, 0x34] -_080811D2: - cmp r2, 0x4 - bhi _080811DE - movs r0, 0x3 - movs r1, 0x5 - bl sub_8080E6C -_080811DE: - ldr r0, =gTasks - adds r1, r6, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _08081218 - .pool -_080811F8: - ldr r0, =gUnknown_03003090 - ldr r1, =0x00004523 - strh r1, [r0, 0x34] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _0808121A - .pool -_0808120C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_08081218: - strh r0, [r1, 0x8] -_0808121A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80810F8 - - thumb_func_start sub_8081224 -sub_8081224: @ 8081224 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0x1 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08081270 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r2, r1, r0 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0808127E - ldr r0, =gUnknown_03003090 - ldr r1, =0x00004523 - strh r1, [r0, 0x14] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _0808127E - .pool -_08081270: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] -_0808127E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081224 - - thumb_func_start sub_8081288 -sub_8081288: @ 8081288 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r7, r0, 16 - mov r8, r7 - lsls r1, 24 - ldr r0, =gUnknown_08339B40 - ldr r4, =gUnknown_083399C8 - lsrs r1, 23 - adds r2, r1, r4 - ldrb r6, [r2] - ldr r5, =gUnknown_083399C0 - adds r2, r1, r5 - movs r3, 0 - ldrsb r3, [r2, r3] - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 1 - subs r6, r2 - adds r4, 0x1 - adds r4, r1, r4 - ldrb r2, [r4] - adds r5, 0x1 - adds r1, r5 - movs r3, 0 - ldrsb r3, [r1, r3] - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 1 - subs r2, r1 - adds r1, r6, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - ldr r0, =0x00004523 - cmp r7, r0 - bne _08081314 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r5, =gSprites - adds r0, r4, r5 - movs r1, 0x2 - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_8082F9C - str r0, [r4] - movs r0, 0x28 - bl PlaySE - b _08081358 - .pool -_08081314: - ldr r0, =0x00005432 - cmp r7, r0 - bne _0808133C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x1F - bl PlaySE - b _08081358 - .pool -_0808133C: - ldr r0, =0x00002345 - cmp r8, r0 - bne _08081358 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x20 - bl PlaySE -_08081358: - bl sub_8082E84 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081288 - - thumb_func_start sub_8081370 -sub_8081370: @ 8081370 - push {r4-r7,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - bl sub_807F738 - ldr r0, =0x00004523 - cmp r4, r0 - beq _080813A4 - cmp r4, r0 - bgt _08081398 - ldr r0, =0x00002345 - cmp r4, r0 - beq _08081474 - b _080814A0 - .pool -_08081398: - ldr r0, =0x00005432 - cmp r5, r0 - beq _0808143C - b _080814A0 - .pool -_080813A4: - ldr r7, =gUnknown_020322A4 - ldr r4, [r7] - adds r5, r4, 0 - adds r5, 0x4C - ldrh r6, [r5] - movs r0, 0 - ldrsh r1, [r5, r0] - ldr r0, =0x000005db - cmp r1, r0 - bgt _080813E0 - ldr r1, =gUnknown_08339CC3 - adds r0, r4, 0 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0xC0 - lsls r0, 1 - bl __divsi3 - adds r0, r6, r0 - strh r0, [r5] - b _080814A0 - .pool -_080813E0: - ldr r1, =gUnknown_08339CC3 - adds r0, r4, 0 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - bl __divsi3 - adds r0, r6, r0 - strh r0, [r5] - movs r1, 0x8E - lsls r1, 1 - adds r4, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - subs r1, 0xA - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80832BC - ldr r0, [r7] - movs r1, 0x8F - lsls r1, 1 - adds r4, r0, r1 - adds r0, 0x4C - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - subs r1, 0xA - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80832BC - b _080814A0 - .pool -_0808143C: - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - adds r4, r2, 0 - adds r4, 0x4C - ldrh r5, [r4] - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =0x000005db - cmp r1, r0 - bgt _080814A0 - ldr r1, =gUnknown_08339CC3 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - lsls r0, 1 - bl __divsi3 - adds r0, r5, r0 - b _0808149E - .pool -_08081474: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0x4C - ldr r1, =gUnknown_08339CC3 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - lsls r0, 1 - bl __divsi3 - ldrh r1, [r4] - subs r1, r0 - strh r1, [r4] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - bgt _080814A0 - movs r0, 0x80 -_0808149E: - strh r0, [r4] -_080814A0: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081370 - - thumb_func_start sub_80814B0 -sub_80814B0: @ 80814B0 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080814E4 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _080814E4 - movs r0, 0xFF - lsls r0, 8 - ands r0, r3 - cmp r0, r2 - bne _080814EC - movs r0, 0x1 - b _080814EE - .pool -_080814E4: - cmp r3, r1 - bne _080814EC - movs r0, 0x1 - b _080814EE -_080814EC: - movs r0, 0 -_080814EE: - pop {r1} - bx r1 - thumb_func_end sub_80814B0 - - thumb_func_start sub_80814F4 -sub_80814F4: @ 80814F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _0808153C - ldr r3, =gUnknown_03003110 - ldrh r0, [r3, 0x4] - ldr r2, =gUnknown_03003090 - cmp r0, 0 - beq _0808151C - movs r1, 0 - strh r0, [r2, 0x4] - ldr r0, =0x00004444 - strh r0, [r2] - strh r1, [r3, 0x4] -_0808151C: - ldr r0, =gUnknown_03003090 - ldr r3, =0x00004444 - adds r1, r2, 0 - adds r1, 0x10 - adds r2, r0, 0 - adds r2, 0x14 - movs r7, 0x2 -_0808152A: - ldrh r0, [r2] - cmp r0, 0 - beq _08081532 - strh r3, [r1] -_08081532: - adds r1, 0x10 - adds r2, 0x10 - subs r7, 0x1 - cmp r7, 0 - bge _0808152A -_0808153C: - movs r7, 0 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - blt _0808154C - b _080816F6 -_0808154C: - ldr r0, =gUnknown_03003090 - adds r2, r0, 0 - adds r2, 0x20 - str r2, [sp] - movs r1, 0 - mov r9, r1 - movs r2, 0 - str r2, [sp, 0x4] - mov r8, r0 - ldr r0, =0x00005432 - mov r10, r0 -_08081562: - mov r1, r8 - ldrh r0, [r1] - ldr r1, =0x00004444 - movs r2, 0x88 - lsls r2, 7 - bl sub_80814B0 - cmp r0, 0 - bne _08081576 - b _080816D2 -_08081576: - ldr r6, =gUnknown_020322A4 - ldr r0, [r6] - adds r0, 0x96 - ldr r2, [sp, 0x4] - adds r0, r2 - ldrh r5, [r0] - mov r0, r8 - ldrh r4, [r0, 0x4] - ldr r1, =0x00004523 - cmp r4, r1 - bne _080815F4 - adds r0, r1, 0 - bl sub_8081370 - ldr r0, [r6] - movs r2, 0x8B - lsls r2, 1 - adds r4, r0, r2 - adds r0, 0x4C - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x37 - bl __divsi3 - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - lsls r1, 16 - ldr r0, =0x03e70000 - cmp r1, r0 - bls _080815BA - movs r0, 0xFA - lsls r0, 2 - strh r0, [r4] -_080815BA: - lsls r1, r5, 24 - lsrs r1, 24 - ldr r0, =0x00004523 - bl sub_8081288 - ldr r1, [r6] - movs r2, 0x92 - lsls r2, 1 - adds r1, r2 - add r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - b _0808165E - .pool -_080815F4: - cmp r4, r10 - bne _08081632 - mov r0, r10 - bl sub_8081370 - ldr r0, [r6] - movs r1, 0x8B - lsls r1, 1 - adds r4, r0, r1 - adds r0, 0x4C - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x46 - bl __divsi3 - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - lsls r1, r5, 24 - lsrs r1, 24 - mov r0, r10 - bl sub_8081288 - ldr r1, [r6] - movs r0, 0x93 - lsls r0, 1 - adds r1, r0 - add r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - b _0808165E -_08081632: - ldr r0, =0x00002345 - cmp r4, r0 - bne _0808166A - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8081288 - adds r0, r4, 0 - bl sub_8081370 - ldr r0, [r6] - movs r1, 0x94 - lsls r1, 1 - adds r0, r1 - mov r2, r9 - adds r1, r0, r2 - ldrh r2, [r1] - ldr r0, =0x000003e6 - cmp r2, r0 - bhi _08081660 - adds r0, r2, 0x1 -_0808165E: - strh r0, [r1] -_08081660: - mov r0, r8 - ldrh r1, [r0, 0x4] - ldr r0, =0x00002345 - cmp r1, r0 - beq _08081678 -_0808166A: - ldr r1, [sp] - ldrh r0, [r1] - ldr r2, =0x00004523 - cmp r0, r2 - beq _08081678 - cmp r0, r10 - bne _080816D2 -_08081678: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0x4C - movs r0, 0 - ldrsh r1, [r2, r0] - ldr r0, =0x000005dc - cmp r1, r0 - ble _080816C8 - adds r0, r1, 0 - ldr r2, =0xfffffd12 - adds r0, r2 - movs r1, 0x14 - bl __divsi3 - adds r1, r0, 0 - movs r0, 0x80 - lsls r0, 1 - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gMPlay_BGM - bl m4aMPlayTempoControl - b _080816D2 - .pool -_080816C8: - ldr r0, =gMPlay_BGM - movs r1, 0x80 - lsls r1, 1 - bl m4aMPlayTempoControl -_080816D2: - ldr r1, [sp] - adds r1, 0x2 - str r1, [sp] - movs r2, 0x6 - add r9, r2 - ldr r0, [sp, 0x4] - adds r0, 0x2 - str r0, [sp, 0x4] - movs r1, 0x10 - add r8, r1 - adds r7, 0x1 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - bge _080816F6 - b _08081562 -_080816F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08081722 - movs r7, 0 - ldr r3, =gUnknown_020322A4 - ldr r0, [r3] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - bge _08081722 - movs r2, 0 - ldr r1, =gUnknown_03003090 -_08081710: - strh r2, [r1] - strh r2, [r1, 0x4] - adds r1, 0x10 - adds r7, 0x1 - ldr r0, [r3] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - blt _08081710 -_08081722: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80814F4 - - thumb_func_start sub_8081744 -sub_8081744: @ 8081744 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0808175A - bl GetMultiplayerId - lsls r0, 24 - lsrs r6, r0, 24 -_0808175A: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - lsls r2, r6, 1 - adds r0, r1, 0 - adds r0, 0x96 - adds r0, r2 - ldrb r5, [r0] - adds r1, 0x63 - ldrb r0, [r1] - cmp r0, 0 - bne _0808182C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x2 - bne _080817A8 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080817B6 - ldrh r2, [r2, 0x28] - ldr r1, =0x00000201 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - beq _080817B6 - b _080817BA - .pool -_080817A8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080817B6 - movs r4, 0x1 -_080817B6: - cmp r4, 0 - beq _0808182C -_080817BA: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - lsls r2, r5, 1 - adds r0, r1, 0 - adds r0, 0x8E - adds r0, r2 - adds r1, 0x50 - ldrh r0, [r0] - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r5, 0x4 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - ldr r0, [r4] - adds r0, 0x4A - ldrh r0, [r0] - adds r1, r6, 0 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08081810 - ldr r1, =gUnknown_03003110 - ldr r0, =0x00004523 - b _08081828 - .pool -_08081810: - cmp r0, 0x1 - bne _08081824 - ldr r1, =gUnknown_03003110 - ldr r0, =0x00005432 - b _08081828 - .pool -_08081824: - ldr r1, =gUnknown_03003110 - ldr r0, =0x00002345 -_08081828: - strh r0, [r1, 0x4] - adds r3, r4, 0 -_0808182C: - ldr r1, [r3] - adds r1, 0x72 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _0808185A - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x4C - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0x80 - ble _08081852 - subs r0, r2, 0x1 - strh r0, [r1] -_08081852: - ldr r0, [r3] - adds r0, 0x72 - movs r1, 0 - strb r1, [r0] -_0808185A: - ldr r0, =gUnknown_020322D5 - ldrb r0, [r0] - cmp r0, 0 - beq _0808187E - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _0808187E - ldr r0, [r3] - ldr r1, =0x00000123 - adds r2, r0, r1 - ldrb r0, [r2] - movs r1, 0x1 - eors r0, r1 - strb r0, [r2] -_0808187E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081744 - - thumb_func_start sub_8081898 -sub_8081898: @ 8081898 - push {r4-r6,lr} - bl sub_8082D28 - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - movs r1, 0x82 - lsls r1, 1 - adds r2, r0, r1 - ldr r1, [r2] - ldr r0, =0x00057e03 - cmp r1, r0 - bhi _080818B4 - adds r0, r1, 0x1 - str r0, [r2] -_080818B4: - bl sub_8081744 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x4C - ldrh r0, [r0] - movs r5, 0x8B - lsls r5, 1 - adds r1, r5 - ldrh r1, [r1] - bl sub_800A994 - bl sub_80814F4 - ldr r0, [r4] - adds r0, r5 - ldrh r0, [r0] - movs r6, 0xFA - lsls r6, 2 - adds r1, r6, 0 - bl sub_8083140 - ldr r0, [r4] - adds r0, 0x4C - ldrh r0, [r0] - bl sub_8083230 - bl sub_808330C - bl sub_8082AD4 - ldr r2, [r4] - adds r3, r2, 0 - adds r3, 0x63 - ldrb r0, [r3] - cmp r0, 0 - bne _0808191A - movs r1, 0x8C - lsls r1, 1 - adds r0, r2, r1 - ldrh r1, [r0] - ldr r0, =0x000003e7 - cmp r1, r0 - bls _0808191A - adds r0, r2, r5 - strh r6, [r0] - movs r0, 0x1 - strb r0, [r3] - ldr r0, =sub_8081FC8 - bl SetMainCallback2 -_0808191A: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x8F - lsls r2, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081898 - - thumb_func_start nullsub_31 -nullsub_31: @ 8081960 - bx lr - thumb_func_end nullsub_31 - - thumb_func_start help_system_is_not_first_time -help_system_is_not_first_time: @ 8081964 - push {r4,r5,lr} - lsls r1, 24 - lsls r2, 24 - lsrs r1, 20 - adds r4, r1, r0 - lsrs r2, 20 - adds r5, r2, r0 - ldrh r0, [r4] - ldrh r1, [r5] - cmp r0, r1 - bne _080819A2 - adds r0, r4, 0x2 - adds r1, r5, 0x2 - bl StringCompare - cmp r0, 0 - bne _080819B0 - ldr r0, [r4, 0x8] - ldr r2, =0xffffff00 - ands r0, r2 - ldr r1, [r5, 0x8] - ands r1, r2 - cmp r0, r1 - bne _080819B0 - ldr r0, [r4, 0xC] - ldr r2, =0x00ffffff - ands r0, r2 - ldr r1, [r5, 0xC] - ands r1, r2 - cmp r0, r1 - bne _080819B0 -_080819A2: - movs r0, 0x1 - b _080819B2 - .pool -_080819B0: - movs r0, 0 -_080819B2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end help_system_is_not_first_time - - thumb_func_start sub_80819B8 -sub_80819B8: @ 80819B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r10, r0 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - mov r2, sp - movs r4, 0x5 -_080819D4: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080819D4 - movs r6, 0 - mov r1, sp - movs r4, 0x4 -_080819E8: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080819F2 - adds r6, 0x1 -_080819F2: - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080819E8 - cmp r6, 0x5 - beq _08081A46 - cmp r3, 0x3 - bhi _08081A46 - movs r4, 0 - ldr r3, [sp, 0x10] - cmp r4, r3 - bge _08081A5E - mov r3, r10 -_08081A0C: - movs r6, 0 - ldr r7, [sp, 0x10] - cmp r6, r7 - bge _08081A54 - mov r9, r3 - mov r5, r10 - lsls r0, r4, 24 - mov r8, r0 -_08081A1C: - mov r1, r9 - ldrh r0, [r1] - ldrh r2, [r5] - cmp r0, r2 - bne _08081A4A - cmp r4, r6 - beq _08081A4A - cmp r0, 0xAF - bne _08081A46 - lsls r2, r6, 24 - lsrs r2, 24 - mov r0, r10 - mov r7, r8 - lsrs r1, r7, 24 - str r3, [sp, 0xC] - bl help_system_is_not_first_time - lsls r0, 24 - ldr r3, [sp, 0xC] - cmp r0, 0 - beq _08081A4A -_08081A46: - movs r0, 0xC - b _08081B9E -_08081A4A: - adds r5, 0x10 - adds r6, 0x1 - ldr r0, [sp, 0x10] - cmp r6, r0 - blt _08081A1C -_08081A54: - adds r3, 0x10 - adds r4, 0x1 - ldr r1, [sp, 0x10] - cmp r4, r1 - blt _08081A0C -_08081A5E: - movs r2, 0 - mov r1, sp - movs r4, 0x4 -_08081A64: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08081A72 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_08081A72: - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08081A64 - cmp r2, 0x3 - bls _08081A82 - movs r0, 0xD - b _08081B9E -_08081A82: - cmp r2, 0x3 - bne _08081A8A - movs r0, 0xB - b _08081B9E -_08081A8A: - movs r4, 0 - mov r1, sp -_08081A8E: - movs r7, 0 - ldrsh r0, [r1, r7] - cmp r0, 0x32 - ble _08081A98 - b _08081B98 -_08081A98: - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x4 - ble _08081A8E - cmp r2, 0x1 - bne _08081AEA - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08081AB2 - movs r0, 0x1 - b _08081B9E -_08081AB2: - mov r0, sp - ldrh r0, [r0, 0x2] - lsls r0, 16 - cmp r0, 0 - ble _08081AC0 - movs r0, 0x2 - b _08081B9E -_08081AC0: - mov r0, sp - movs r3, 0x4 - ldrsh r0, [r0, r3] - cmp r0, 0 - ble _08081ACE - movs r0, 0x3 - b _08081B9E -_08081ACE: - mov r0, sp - movs r4, 0x6 - ldrsh r0, [r0, r4] - cmp r0, 0 - ble _08081ADC - movs r0, 0x4 - b _08081B9E -_08081ADC: - mov r0, sp - movs r7, 0x8 - ldrsh r0, [r0, r7] - cmp r0, 0 - ble _08081AEA - movs r0, 0x5 - b _08081B9E -_08081AEA: - cmp r2, 0x2 - bne _08081B9C - movs r4, 0 - ldr r5, =gUnknown_03000DF8 - mov r1, sp - adds r2, r5, 0 -_08081AF6: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08081B02 - strh r4, [r2] - adds r2, 0x2 -_08081B02: - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x4 - ble _08081AF6 - movs r4, 0 - ldrsh r3, [r5, r4] - lsls r0, r3, 1 - mov r7, sp - adds r1, r7, r0 - movs r0, 0x2 - ldrsh r2, [r5, r0] - lsls r0, r2, 1 - add r0, sp - movs r4, 0 - ldrsh r1, [r1, r4] - movs r7, 0 - ldrsh r0, [r0, r7] - cmp r1, r0 - blt _08081B58 - adds r0, r3, 0 - cmp r0, 0 - bne _08081B38 - lsls r0, r2, 16 - b _08081B62 - .pool -_08081B38: - cmp r0, 0x1 - bne _08081B40 - lsls r0, r2, 16 - b _08081B6E -_08081B40: - cmp r0, 0x2 - bne _08081B48 - lsls r0, r2, 16 - b _08081B7A -_08081B48: - cmp r0, 0x3 - bne _08081B50 - lsls r0, r2, 16 - b _08081B86 -_08081B50: - cmp r0, 0x4 - bne _08081B9C - lsls r0, r2, 16 - b _08081B92 -_08081B58: - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _08081B68 - lsls r0, r3, 16 -_08081B62: - movs r1, 0x6 - orrs r0, r1 - b _08081B9E -_08081B68: - cmp r0, 0x1 - bne _08081B74 - lsls r0, r3, 16 -_08081B6E: - movs r1, 0x7 - orrs r0, r1 - b _08081B9E -_08081B74: - cmp r0, 0x2 - bne _08081B80 - lsls r0, r3, 16 -_08081B7A: - movs r1, 0x8 - orrs r0, r1 - b _08081B9E -_08081B80: - cmp r0, 0x3 - bne _08081B8C - lsls r0, r3, 16 -_08081B86: - movs r1, 0x9 - orrs r0, r1 - b _08081B9E -_08081B8C: - cmp r0, 0x4 - bne _08081B9C - lsls r0, r3, 16 -_08081B92: - movs r1, 0xA - orrs r0, r1 - b _08081B9E -_08081B98: - movs r0, 0xE - b _08081B9E -_08081B9C: - movs r0, 0 -_08081B9E: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80819B8 - - thumb_func_start sub_8081BB0 -sub_8081BB0: @ 8081BB0 - ldr r1, =gUnknown_03000E04 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_8081BB0 - - thumb_func_start sub_8081BBC -sub_8081BBC: @ 8081BBC - ldr r0, =gUnknown_03000E04 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .pool - thumb_func_end sub_8081BBC - - thumb_func_start sub_8081BC8 -sub_8081BC8: @ 8081BC8 - ldr r1, =gUnknown_03000E06 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_8081BC8 - - thumb_func_start sub_8081BD4 -sub_8081BD4: @ 8081BD4 - ldr r0, =gUnknown_03000E06 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .pool - thumb_func_end sub_8081BD4 - - thumb_func_start sub_8081BE0 -sub_8081BE0: @ 8081BE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp] - mov r8, r1 - str r3, [sp, 0x4] - ldr r0, [sp, 0x30] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldr r7, =gUnknown_03000DE8 - adds r2, r7, 0 - movs r1, 0 - adds r0, r7, 0 - adds r0, 0xA -_08081C0A: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r2 - bge _08081C0A - movs r6, 0 - cmp r6, r9 - bge _08081C40 - ldr r0, =gUnknown_03000DE8 - mov r12, r0 - ldr r5, [sp] - adds r5, 0x9 -_08081C20: - movs r3, 0 - adds r4, r5, 0 - mov r2, r12 -_08081C26: - adds r1, r4, r3 - ldrh r0, [r2] - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x5 - ble _08081C26 - adds r5, 0x10 - adds r6, 0x1 - cmp r6, r9 - blt _08081C20 -_08081C40: - movs r1, 0 - ldrsh r3, [r7, r1] - ldrh r0, [r7] - ldrh r1, [r7, 0x2] - subs r0, r1 - strh r0, [r7] - ldrh r0, [r7, 0x4] - subs r1, r0 - strh r1, [r7, 0x2] - ldrh r1, [r7, 0x6] - subs r0, r1 - strh r0, [r7, 0x4] - ldrh r0, [r7, 0x8] - subs r1, r0 - strh r1, [r7, 0x6] - subs r0, r3 - strh r0, [r7, 0x8] - movs r3, 0 - movs r2, 0 - adds r1, r7, 0 - movs r6, 0x4 -_08081C6A: - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _08081C76 - strh r2, [r1] - adds r3, 0x1 -_08081C76: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081C6A - lsls r0, r3, 24 - lsrs r0, 24 - mov r10, r0 - movs r4, 0 - ldr r1, =gUnknown_03000DE8 - movs r6, 0x4 -_08081C8A: - ldrh r2, [r1] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0 - ble _08081CA4 - cmp r0, r3 - bge _08081CA0 - strh r4, [r1] - b _08081CA4 - .pool -_08081CA0: - subs r0, r2, r3 - strh r0, [r1] -_08081CA4: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081C8A - ldr r1, =gUnknown_03000DE8 - ldr r2, =gUnknown_020322A8 - movs r6, 0x4 -_08081CB2: - movs r3, 0 - ldrsh r0, [r1, r3] - stm r2!, {r0} - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081CB2 - ldr r1, =0x0000014d - ldr r0, [sp, 0x8] - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - adds r3, 0x64 - ldr r4, =gUnknown_020322D0 - str r3, [r4] - movs r6, 0x4 -_08081CD6: - movs r0, 0 - ldrsh r5, [r7, r0] - adds r0, r5, 0 - muls r0, r3 - movs r1, 0xA - str r3, [sp, 0xC] - bl __divsi3 - adds r5, r0, 0 - movs r1, 0xA - bl __modsi3 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - ldr r3, [sp, 0xC] - cmp r4, 0x4 - ble _08081D02 - adds r5, 0x1 -_08081D02: - strh r5, [r7] - adds r7, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081CD6 - ldr r1, =gUnknown_03000DE8 - ldr r2, =gUnknown_020322BC - movs r6, 0x4 -_08081D12: - movs r3, 0 - ldrsh r0, [r1, r3] - stm r2!, {r0} - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081D12 - ldr r4, =gUnknown_03000DE8 - ldr r0, [sp] - adds r1, r4, 0 - mov r2, r9 - mov r3, r10 - bl sub_80819B8 - mov r5, r8 - strb r0, [r5] - movs r1, 0xA - ldrsh r0, [r4, r1] - mov r1, r9 - bl __divsi3 - mov r3, r9 - subs r0, r3 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _08081D4C - movs r0, 0 - strh r0, [r4, 0xA] -_08081D4C: - mov r5, r8 - ldrb r0, [r5] - cmp r0, 0xC - bne _08081DA6 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r6, 0 - ldr r0, =gUnknown_08339CC8 - adds r0, r3, r0 - ldrb r0, [r0] - adds r1, r4, 0 - movs r4, 0x1 - movs r3, 0x2 -_08081D74: - adds r2, r0, 0 - asrs r2, r6 - ands r2, r4 - cmp r2, 0 - beq _08081D9C - strh r3, [r1] - b _08081D9E - .pool -_08081D9C: - strh r2, [r1] -_08081D9E: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x4 - ble _08081D74 -_08081DA6: - ldr r7, =gUnknown_03000DE8 - movs r2, 0xFF - adds r1, r7, 0 - movs r6, 0x5 -_08081DAE: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0xFF - ble _08081DB8 - strh r2, [r1] -_08081DB8: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081DAE - ldrh r0, [r7] - mov r4, r8 - strb r0, [r4, 0x1] - ldrh r0, [r7, 0x2] - strb r0, [r4, 0x2] - ldrh r0, [r7, 0x4] - strb r0, [r4, 0x3] - ldrh r0, [r7, 0x6] - strb r0, [r4, 0x4] - ldrh r0, [r7, 0x8] - strb r0, [r4, 0x5] - ldrh r0, [r7, 0xA] - strb r0, [r4, 0x6] - movs r6, 0 - adds r2, r7, 0 -_08081DDE: - ldr r5, [sp, 0x4] - adds r1, r5, r6 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08081DDE - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081BE0 - - thumb_func_start sub_8081E04 -sub_8081E04: @ 8081E04 - push {r4,lr} - sub sp, 0x4 - ldr r4, [sp, 0xC] - lsls r2, 24 - lsrs r2, 24 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp] - bl sub_8081BE0 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8081E04 - - thumb_func_start sub_8081E20 -sub_8081E20: @ 8081E20 - push {r4-r6,lr} - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r2, 0x82 - lsls r2, 1 - adds r1, r0, r2 - ldrh r1, [r1] - adds r0, 0x4E - ldrh r4, [r0] - movs r2, 0 - ldr r5, =0x00000383 - cmp r1, r5 - bhi _08081E48 - movs r2, 0x5 - b _08081E9A - .pool -_08081E48: - ldr r3, =0xfffffc7c - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - ldr r3, =0x00000257 - cmp r0, r3 - bhi _08081E64 - movs r2, 0x4 - b _08081E9A - .pool -_08081E64: - ldr r6, =0xfffffa24 - adds r0, r1, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r3 - bhi _08081E78 - movs r2, 0x3 - b _08081E9A - .pool -_08081E78: - ldr r3, =0xfffff7cc - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bhi _08081E8C - movs r2, 0x2 - b _08081E9A - .pool -_08081E8C: - ldr r6, =0xfffff31c - adds r0, r1, r6 - lsls r0, 16 - ldr r1, =0x012b0000 - cmp r0, r1 - bhi _08081E9A - movs r2, 0x1 -_08081E9A: - lsls r0, r2, 16 - asrs r0, 16 - bl sub_8081BC8 - movs r2, 0 - cmp r4, 0x40 - bhi _08081F7C - adds r0, r4, 0 - subs r0, 0x32 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081EC4 - ldr r2, =0x0000ffff - b _08081F7C - .pool -_08081EC4: - adds r0, r4, 0 - subs r0, 0x64 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081ED8 - ldr r2, =0x0000fffe - b _08081F7C - .pool -_08081ED8: - adds r0, r4, 0 - subs r0, 0x96 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081EEC - ldr r2, =0x0000fffd - b _08081F7C - .pool -_08081EEC: - adds r0, r4, 0 - subs r0, 0xC8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F00 - ldr r2, =0x0000fffc - b _08081F7C - .pool -_08081F00: - adds r0, r4, 0 - subs r0, 0xFA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F14 - ldr r2, =0x0000fffb - b _08081F7C - .pool -_08081F14: - ldr r1, =0xfffffea2 - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F2C - ldr r2, =0x0000fffa - b _08081F7C - .pool -_08081F2C: - ldr r3, =0xfffffe70 - adds r0, r4, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F44 - ldr r2, =0x0000fff9 - b _08081F7C - .pool -_08081F44: - ldr r6, =0xfffffe0c - adds r0, r4, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F5C - ldr r2, =0x0000fff8 - b _08081F7C - .pool -_08081F5C: - ldr r1, =0xfffffdda - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F74 - ldr r2, =0x0000fff7 - b _08081F7C - .pool -_08081F74: - ldr r0, =0x00000257 - cmp r4, r0 - bls _08081F7C - ldr r2, =0x0000fff6 -_08081F7C: - lsls r0, r2, 16 - asrs r0, 16 - bl sub_8081BB0 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081E20 - - thumb_func_start sub_8081F94 -sub_8081F94: @ 8081F94 - push {lr} - adds r1, r0, 0 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08081FB8 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08081FB8 - movs r2, 0xBC - lsls r2, 6 - b _08081FBA - .pool -_08081FB8: - ldr r2, =0x00002fff -_08081FBA: - adds r0, r2, 0 - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081F94 - - thumb_func_start sub_8081FC8 -sub_8081FC8: @ 8081FC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x63 - ldrb r0, [r0] - cmp r0, 0x2 - bhi _08081FDE - bl sub_8082D28 -_08081FDE: - bl GetMultiplayerId - ldr r0, [r4] - adds r0, 0x63 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0xC - bls _08081FF0 - b _0808249E -_08081FF0: - lsls r0, 2 - ldr r1, =_08082004 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08082004: - .4byte _08082038 - .4byte _08082078 - .4byte _080820D4 - .4byte _080821C8 - .4byte _08082278 - .4byte _08082286 - .4byte _080822B0 - .4byte _08082458 - .4byte _080822E4 - .4byte _08082308 - .4byte _080823B0 - .4byte _08082430 - .4byte _0808246C -_08082038: - ldr r0, =gMPlay_BGM - movs r1, 0x80 - lsls r1, 1 - bl m4aMPlayTempoControl - movs r4, 0 - b _08082064 - .pool -_0808204C: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - bl DestroyTask - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_08082064: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bcc _0808204C - b _08082458 - .pool -_08082078: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - adds r1, 0x4C - ldrh r0, [r1] - subs r0, 0x20 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bgt _080820C6 - bl sub_8009F8C - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x4C - movs r0, 0 - strh r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080820B0 - adds r1, 0x17 - ldrb r0, [r1] - adds r0, 0x1 - b _080820B6 - .pool -_080820B0: - adds r1, r2, 0 - adds r1, 0x63 - movs r0, 0x5 -_080820B6: - strb r0, [r1] - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1] - ldr r0, =gMPlay_SE2 - bl m4aMPlayStop -_080820C6: - bl sub_807F738 - b _0808249E - .pool -_080820D4: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _080820E0 - b _08082458 -_080820E0: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080820EC - b _0808249E -_080820EC: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0808218C - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _0808218C - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r4, 0x8E - lsls r4, 5 - adds r2, r1, r4 - movs r5, 0x82 - lsls r5, 1 - adds r0, r1, r5 - ldr r0, [r0] - str r0, [r2] - adds r0, r1, 0 - adds r0, 0x4E - ldrh r0, [r0] - ldr r2, =0x000011c4 - adds r1, r2 - strh r0, [r1] - movs r4, 0 - mov r8, r3 - mov r12, r8 - ldr r7, =0x000011c8 - movs r6, 0x92 - lsls r6, 1 -_08082128: - movs r3, 0 - adds r5, r4, 0x1 - lsls r0, r4, 1 - adds r0, r4 - lsls r4, r0, 1 -_08082132: - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 1 - adds r1, r4 - adds r2, r0, r7 - adds r2, r1 - adds r0, r6 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08082132 - lsls r0, r5, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08082128 - mov r2, r8 - ldr r1, [r2] - movs r4, 0x8E - lsls r4, 5 - adds r1, r4 - movs r0, 0 - movs r2, 0x20 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - bne _08082172 - b _0808249E -_08082172: - mov r5, r8 - ldr r1, [r5] - b _0808245C - .pool -_0808218C: - ldr r4, =gUnknown_020322A4 - ldr r3, [r4] - movs r0, 0xCC - lsls r0, 1 - adds r1, r3, r0 - movs r2, 0x82 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - str r0, [r1] - adds r0, r3, 0 - adds r0, 0x4E - ldrh r2, [r0] - movs r5, 0xCE - lsls r5, 1 - adds r0, r3, r5 - strh r2, [r0] - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - bne _080821BE - b _0808249E -_080821BE: - ldr r1, [r4] - b _0808245C - .pool -_080821C8: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _080821D4 - b _0808249E -_080821D4: - bl ResetBlockReceivedFlags - ldr r5, =gUnknown_020322A4 - ldr r1, [r5] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08082254 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08082254 - ldr r2, =gBlockRecvBuffer - ldr r3, [r5] - ldrh r0, [r2, 0x4] - adds r1, r3, 0 - adds r1, 0x4E - strh r0, [r1] - movs r0, 0x82 - lsls r0, 1 - adds r1, r3, r0 - ldr r0, [r2] - str r0, [r1] - movs r4, 0 - adds r7, r2, 0 - adds r7, 0x8 - adds r6, r5, 0 - movs r2, 0x92 - lsls r2, 1 -_08082216: - movs r3, 0 - adds r5, r4, 0x1 - lsls r0, r4, 1 - adds r0, r4 - lsls r4, r0, 1 -_08082220: - ldr r1, [r6] - lsls r0, r3, 1 - adds r0, r4 - adds r1, r2 - adds r1, r0 - adds r0, r7, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08082220 - lsls r0, r5, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08082216 - b _0808249E - .pool -_08082254: - ldr r2, =gBlockRecvBuffer - ldr r0, =gUnknown_020322A4 - ldr r3, [r0] - ldrh r0, [r2, 0x4] - adds r1, r3, 0 - adds r1, 0x4E - strh r0, [r1] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - ldr r0, [r2] - str r0, [r1] - b _0808249E - .pool -_08082278: - bl sub_8083B08 - lsls r0, 24 - cmp r0, 0 - bne _08082284 - b _0808249E -_08082284: - b _08082458 -_08082286: - bl berry_blender_related - lsls r0, 24 - cmp r0, 0 - bne _08082292 - b _0808249E -_08082292: - ldr r0, =gUnknown_03005D98 - ldrb r0, [r0] - cmp r0, 0 - bne _080822A8 - movs r0, 0x22 - bl IncrementGameStat - b _08082458 - .pool -_080822A8: - movs r0, 0x21 - bl IncrementGameStat - b _08082458 -_080822B0: - ldr r6, =gUnknown_020322A4 - ldr r4, [r6] - ldr r5, =0x000011b8 - adds r4, r5 - ldr r5, =gUnknown_08339831 - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - bne _080822D2 - b _0808249E -_080822D2: - ldr r1, [r6] - b _0808245C - .pool -_080822E4: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_083399B8 - movs r1, 0x1 - movs r2, 0xD - movs r3, 0 - bl CreateYesNoMenu - ldr r1, [r4] - b _0808245C - .pool -_08082308: - bl sub_8198C58 - lsls r0, 24 - asrs r2, r0, 24 - cmp r2, 0 - beq _0808236C - cmp r2, 0 - bgt _08082322 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _08082328 - b _0808249E -_08082322: - cmp r2, 0x1 - beq _08082328 - b _0808249E -_08082328: - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x9E - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r2] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r4, 0 -_0808233E: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x8E - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _0808235C - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0808235C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0808233E - b _0808249E - .pool -_0808236C: - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x9E - strb r2, [r0] - ldr r1, [r1] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r4, 0 -_08082380: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x8E - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _0808239E - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0808239E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08082380 - b _0808249E - .pool -_080823B0: - ldr r6, =gUnknown_03003110 - adds r0, r6, 0 - bl sub_8081F94 - ldr r4, =gUnknown_020322A4 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x9E - ldrb r5, [r0] - cmp r5, 0 - bne _0808241C - movs r0, 0x4 - bl IsBagPocketNonEmpty - lsls r0, 24 - cmp r0, 0 - bne _080823EC - ldr r0, [r4] - adds r0, 0x70 - movs r1, 0x2 - strh r1, [r0] - ldr r0, =0x00009999 - b _08082414 - .pool -_080823EC: - bl sub_8136EF4 - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0808240C - ldr r0, [r4] - adds r0, 0x70 - movs r1, 0x3 - strh r1, [r0] - ldr r0, =0x0000aaaa - b _08082414 - .pool -_0808240C: - ldr r0, [r4] - adds r0, 0x70 - strh r5, [r0] - ldr r0, =0x00007779 -_08082414: - strh r0, [r6, 0x2] - b _08082458 - .pool -_0808241C: - adds r1, r2, 0 - adds r1, 0x70 - movs r0, 0x1 - strh r0, [r1] - ldr r0, =0x00008888 - strh r0, [r6, 0x2] - subs r1, 0xD - b _0808245E - .pool -_08082430: - ldr r0, =gUnknown_03005D98 - ldrb r0, [r0] - cmp r0, 0 - beq _08082458 - ldr r0, =sub_8082924 - bl SetMainCallback2 - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x63 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - b _0808249C - .pool -_08082458: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_0808245C: - adds r1, 0x63 -_0808245E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808249E - .pool -_0808246C: - ldr r6, =gUnknown_020322A4 - ldr r4, [r6] - ldr r0, =0x000011b8 - adds r4, r0 - ldr r5, =gUnknown_0833981A - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - beq _0808249E - ldr r0, =sub_8082644 - bl SetMainCallback2 - ldr r0, [r6] - adds r0, 0x63 - movs r1, 0 - strb r1, [r0] - ldr r0, [r6] -_0808249C: - strb r1, [r0] -_0808249E: - bl sub_808330C - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x4C - ldrh r0, [r0] - bl sub_8083230 - bl sub_8082AD4 - ldr r1, [r4] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r4, 0 - ldrsh r0, [r0, r4] - movs r5, 0x8F - lsls r5, 1 - adds r1, r5 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081FC8 - - thumb_func_start sub_80824FC -sub_80824FC: @ 80824FC - push {r4,lr} - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - movs r2, 0xD0 - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _08082512 - b _0808263C -_08082512: - lsls r0, 2 - ldr r1, =_08082524 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08082524: - .4byte _08082540 - .4byte _08082558 - .4byte _08082584 - .4byte _08082594 - .4byte _080825BA - .4byte _08082600 - .4byte _0808261A -_08082540: - bl sub_800ADF8 - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - movs r3, 0xD0 - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0x1 - b _0808260C - .pool -_08082558: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _0808263C - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0xD0 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, =gSoftResetDisabled - movs r0, 0x1 - strb r0, [r1] - b _0808263C - .pool -_08082584: - bl sub_8153430 - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - b _08082602 - .pool -_08082594: - ldr r1, [r4] - movs r2, 0x84 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0xA - bne _0808263C - bl sub_800ADF8 - ldr r1, [r4] - movs r3, 0xD0 - lsls r3, 1 - adds r1, r3 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0808263C -_080825BA: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _0808263C - bl sub_8153474 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080825E4 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0xD0 - lsls r1, 1 - adds r0, r1 - movs r1, 0x5 - str r1, [r0] - b _0808263C - .pool -_080825E4: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r0, r1, r3 - str r2, [r0] - movs r0, 0xD0 - lsls r0, 1 - adds r1, r0 - movs r0, 0x3 - str r0, [r1] - b _0808263C - .pool -_08082600: - ldr r2, [r4] -_08082602: - movs r3, 0xD0 - lsls r3, 1 - adds r1, r2, r3 - ldr r0, [r1] - adds r0, 0x1 -_0808260C: - str r0, [r1] - movs r0, 0x84 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] - b _0808263C -_0808261A: - ldr r1, [r4] - movs r2, 0x84 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x5 - ble _0808263C - ldr r1, =gSoftResetDisabled - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _0808263E - .pool -_0808263C: - movs r0, 0 -_0808263E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80824FC - - thumb_func_start sub_8082644 -sub_8082644: @ 8082644 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x63 - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0xC - bls _08082658 - b _080828DC -_08082658: - lsls r0, 2 - ldr r1, =_0808266C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0808266C: - .4byte _080826A0 - .4byte _080826EC - .4byte _0808271C - .4byte _08082754 - .4byte _0808278C - .4byte _080827AA - .4byte _080827C8 - .4byte _080827FC - .4byte _08082818 - .4byte _08082828 - .4byte _0808284C - .4byte _080828A4 - .4byte _080828C6 -_080826A0: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x64 - ldrh r2, [r0] - ldr r0, =0x00002222 - cmp r2, r0 - bne _080826B0 - b _080827A2 -_080826B0: - ldr r0, =0x00001111 - cmp r2, r0 - beq _080826B8 - b _080828DC -_080826B8: - adds r0, r1, 0 - adds r0, 0x6C - ldrh r2, [r0] - ldr r0, =0x00009999 - cmp r2, r0 - bne _080826D8 - adds r1, 0x63 - movs r0, 0x2 - strb r0, [r1] - b _080828DC - .pool -_080826D8: - ldr r0, =0x0000aaaa - cmp r2, r0 - bne _080827A2 - adds r1, 0x63 - movs r0, 0x1 - strb r0, [r1] - b _080828DC - .pool -_080826EC: - ldr r0, [r6] - adds r0, 0x63 - movs r1, 0x3 - strb r1, [r0] - ldr r4, =gStringVar4 - ldr r0, [r6] - adds r0, 0x6E - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, =gUnknown_083398DD - b _08082740 - .pool -_0808271C: - ldr r1, [r6] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r0, [r6] - adds r0, 0x6E - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, =gUnknown_083398B0 -_08082740: - adds r0, r4, 0 - bl StringAppend - b _080828DC - .pool -_08082754: - ldr r4, [r6] - ldr r0, =0x000011b8 - adds r4, r0 - ldr r5, =gStringVar4 - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - bne _08082774 - b _080828DC -_08082774: - ldr r1, [r6] - movs r0, 0x84 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - b _080828BC - .pool -_0808278C: - ldr r4, [r6] - movs r2, 0x84 - lsls r2, 1 - adds r1, r4, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _080827A0 - b _080828DC -_080827A0: - adds r1, r4, 0 -_080827A2: - adds r1, 0x63 - movs r0, 0x5 - strb r0, [r1] - b _080828DC -_080827AA: - ldr r0, [r6] - ldr r1, =0x000011b8 - adds r0, r1 - ldr r1, =gText_SavingDontTurnOff2 - movs r2, 0 - bl sub_808417C - bl sub_800ADF8 - b _080828BA - .pool -_080827C8: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080827D4 - b _080828DC -_080827D4: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r2, 0x84 - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - str r2, [r0] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xD0 - lsls r1, 1 - adds r0, r1 - str r2, [r0] - b _080828DC - .pool -_080827FC: - bl sub_80824FC - lsls r0, 24 - cmp r0, 0 - beq _080828DC - movs r0, 0x37 - bl PlaySE - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - b _080828BC - .pool -_08082818: - ldr r1, [r6] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_800ADF8 - b _080828DC -_08082828: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080828DC - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - b _080828BC - .pool -_0808284C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080828DC - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x64 - ldrh r1, [r0] - ldr r0, =0x00002222 - cmp r1, r0 - bne _08082898 - bl FreeAllWindowBuffers - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - ldr r0, [r6] - bl Free - str r4, [r6] - ldr r0, =sub_807FA80 - bl SetMainCallback2 - b _080828DC - .pool -_08082898: - movs r1, 0x84 - lsls r1, 1 - adds r0, r2, r1 - str r4, [r0] - adds r1, r2, 0 - b _080828BC -_080828A4: - ldr r1, [r6] - movs r2, 0x84 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x1E - ble _080828DC - bl sub_800AC34 -_080828BA: - ldr r1, [r6] -_080828BC: - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080828DC -_080828C6: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0 - bne _080828DC - ldr r0, [r6] - bl Free - str r4, [r6] - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_080828DC: - bl sub_8082AD4 - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x8F - lsls r2, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082644 - - thumb_func_start sub_8082924 -sub_8082924: @ 8082924 - push {r4-r6,lr} - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x63 - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0xA - bls _08082936 - b _08082A92 -_08082936: - lsls r0, 2 - ldr r1, =_08082948 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08082948: - .4byte _08082974 - .4byte _080829AA - .4byte _080829D4 - .4byte _08082A00 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A30 - .4byte _08082A48 -_08082974: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0x1 - bhi _08082986 - adds r1, 0x63 - movs r0, 0x9 - strb r0, [r1] -_08082986: - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x70 - ldrh r1, [r0] - cmp r1, 0x2 - bne _08082996 - subs r0, 0xD - strb r1, [r0] -_08082996: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0x3 - bne _08082A92 - adds r1, 0x63 - movs r0, 0x1 - strb r0, [r1] - b _08082A92 -_080829AA: - ldr r0, [r6] - adds r0, 0x63 - movs r2, 0 - movs r1, 0x3 - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x000011b8 - adds r0, r1 - strh r2, [r0] - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08339896 - bl StringCopy - b _08082A92 - .pool -_080829D4: - ldr r1, [r6] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, [r6] - ldr r1, =0x000011b8 - adds r0, r1 - strh r2, [r0] - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08339858 - bl StringCopy - b _08082A92 - .pool -_08082A00: - ldr r4, [r6] - ldr r2, =0x000011b8 - adds r4, r2 - ldr r5, =gStringVar4 - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - beq _08082A92 - ldr r0, [r6] - adds r0, 0x63 - movs r1, 0x9 - strb r1, [r0] - b _08082A92 - .pool -_08082A30: - movs r0, 0x3 - bl BeginFastPaletteFade - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08082A92 - .pool -_08082A48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08082A92 - ldr r0, [r6] - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0 - bne _08082A70 - ldr r0, =sub_807FA80 - bl SetMainCallback2 - b _08082A76 - .pool -_08082A70: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_08082A76: - bl FreeAllWindowBuffers - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08082A92: - bl sub_8082AD4 - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x8F - lsls r2, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082924 - - thumb_func_start sub_8082AD4 -sub_8082AD4: @ 8082AD4 - push {r4-r7,lr} - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08082AE0 - b _08082CA4 -_08082AE0: - ldr r4, =gUnknown_03003090 - ldrh r0, [r4] - ldr r1, =0x00002fff - movs r2, 0xBC - lsls r2, 6 - bl sub_80814B0 - cmp r0, 0 - beq _08082B66 - ldrh r1, [r4, 0x2] - ldr r0, =0x00001111 - cmp r1, r0 - bne _08082B58 - ldrh r3, [r4, 0x4] - ldr r0, =0x00009999 - cmp r3, r0 - beq _08082B38 - cmp r3, r0 - bgt _08082B24 - ldr r0, =0x00008888 - b _08082B26 - .pool -_08082B24: - ldr r0, =0x0000aaaa -_08082B26: - cmp r3, r0 - beq _08082B38 - ldr r2, =gUnknown_020322A4 - b _08082B48 - .pool -_08082B38: - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x6C - strh r3, [r1] - ldrh r1, [r4, 0x6] - adds r0, 0x6E - strh r1, [r0] -_08082B48: - ldr r0, [r2] - adds r0, 0x64 - ldr r1, =0x00001111 - b _08082B64 - .pool -_08082B58: - ldr r0, =0x00002222 - cmp r1, r0 - bne _08082B66 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x64 -_08082B64: - strh r1, [r0] -_08082B66: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _08082B72 - b _08082CA4 -_08082B72: - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x64 - ldrh r1, [r0] - ldr r0, =0x00001111 - cmp r1, r0 - bne _08082B82 - b _08082CA4 -_08082B82: - ldr r0, =0x00002222 - cmp r1, r0 - bne _08082B8A - b _08082CA4 -_08082B8A: - movs r5, 0 - adds r7, r2, 0 - b _08082BF4 - .pool -_08082B9C: - ldr r6, =gUnknown_03003090 - lsls r4, r5, 4 - adds r0, r4, r6 - ldrh r0, [r0] - ldr r1, =0x00002fff - movs r2, 0xBC - lsls r2, 6 - bl sub_80814B0 - cmp r0, 0 - beq _08082BEE - adds r0, r6, 0x2 - adds r0, r4, r0 - ldrh r2, [r0] - ldr r0, =0x00008888 - cmp r2, r0 - beq _08082BE4 - cmp r2, r0 - bgt _08082BD8 - ldr r0, =0x00007779 - b _08082BE0 - .pool -_08082BD8: - ldr r0, =0x00009999 - cmp r2, r0 - beq _08082BE4 - ldr r0, =0x0000aaaa -_08082BE0: - cmp r2, r0 - bne _08082BEE -_08082BE4: - ldr r0, [r7] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - strh r2, [r0] -_08082BEE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08082BF4: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcc _08082B9C - movs r5, 0 - b _08082C12 - .pool -_08082C0C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08082C12: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _08082C2E - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _08082C0C -_08082C2E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08082CA4 - movs r5, 0 - ldr r4, =0x00007779 - b _08082C4E - .pool -_08082C48: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08082C4E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _08082C6A - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r4 - beq _08082C48 -_08082C6A: - ldr r4, =gUnknown_03003110 - adds r0, r4, 0 - bl sub_8081F94 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08082C90 - ldr r0, =0x00002222 - strh r0, [r4, 0x2] - b _08082CA4 - .pool -_08082C90: - ldr r0, =0x00001111 - strh r0, [r4, 0x2] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4, 0x4] - strh r5, [r4, 0x6] -_08082CA4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082AD4 - - thumb_func_start sub_8082CB4 -sub_8082CB4: @ 8082CB4 - push {r4,lr} - sub sp, 0x14 - movs r1, 0xF0 - lsls r1, 7 - str r1, [sp] - movs r1, 0xA0 - lsls r1, 7 - str r1, [sp, 0x4] - mov r3, sp - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - mov r12, r1 - movs r1, 0x8E - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - movs r1, 0x78 - subs r1, r2 - strh r1, [r3, 0x8] - movs r1, 0x8F - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - movs r1, 0x50 - subs r1, r2 - strh r1, [r3, 0xA] - mov r2, sp - movs r3, 0x8D - lsls r3, 1 - add r3, r12 - ldrh r1, [r3] - strh r1, [r2, 0xC] - ldrh r1, [r3] - strh r1, [r2, 0xE] - mov r1, r12 - adds r1, 0x4A - ldrh r1, [r1] - strh r1, [r2, 0x10] - mov r1, sp - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldm r1!, {r2,r3} - stm r0!, {r2,r3} - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082CB4 - - thumb_func_start sub_8082D18 -sub_8082D18: @ 8082D18 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x4A - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_8082D18 - - thumb_func_start sub_8082D28 -sub_8082D28: @ 8082D28 - push {r4,lr} - movs r1, 0 - ldr r4, =gReceivedRemoteLinkPlayers - ldrb r0, [r4] - cmp r0, 0 - beq _08082D3C - bl GetMultiplayerId - lsls r0, 24 - lsrs r1, r0, 24 -_08082D3C: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08082DCC - ldrb r0, [r4] - cmp r0, 0 - beq _08082DCC - cmp r1, 0 - bne _08082D90 - ldr r0, =gUnknown_020322A4 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x4A - adds r0, r3, 0 - adds r0, 0x4C - ldrh r0, [r0] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - ldr r1, =gUnknown_03003110 - movs r4, 0x8B - lsls r4, 1 - adds r0, r3, r4 - ldrh r0, [r0] - strh r0, [r1, 0xA] - ldrh r0, [r2] - strh r0, [r1, 0xC] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r3, r1 - bl sub_8082CB4 - b _08082DEA - .pool -_08082D90: - ldr r3, =gUnknown_03003090 - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0x88 - lsls r0, 7 - cmp r1, r0 - bne _08082DEA - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - ldrh r0, [r3, 0xA] - movs r4, 0x8B - lsls r4, 1 - adds r1, r2, r4 - strh r0, [r1] - ldrh r0, [r3, 0xC] - adds r1, r2, 0 - adds r1, 0x4A - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r2, r1 - bl sub_8082CB4 - b _08082DEA - .pool -_08082DCC: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0x4A - adds r0, r1, 0 - adds r0, 0x4C - ldrh r0, [r0] - ldrh r3, [r2] - adds r0, r3 - strh r0, [r2] - movs r4, 0xA0 - lsls r4, 1 - adds r0, r1, r4 - bl sub_8082CB4 -_08082DEA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082D28 - - thumb_func_start sub_8082DF4 -sub_8082DF4: @ 8082DF4 - push {r4-r6,lr} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - movs r6, 0x8E - lsls r6, 1 - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, [r4] - movs r5, 0x8F - lsls r5, 1 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r4] - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, [r4] - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082DF4 - - thumb_func_start sub_8082E3C -sub_8082E3C: @ 8082E3C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _08082E5A - adds r0, 0x7 -_08082E5A: - asrs r0, 3 - strh r0, [r2, 0x24] - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _08082E68 - adds r0, 0x7 -_08082E68: - asrs r0, 3 - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08082E80 - adds r0, r2, 0 - bl DestroySprite -_08082E80: - pop {r0} - bx r0 - thumb_func_end sub_8082E3C - - thumb_func_start sub_8082E84 -sub_8082E84: @ 8082E84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - bl Random - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0x1 - ands r1, r0 - adds r0, r1, 0x1 - cmp r0, 0 - beq _08082F40 - ldr r0, =gSineTable - mov r9, r0 - ldr r2, =gSprites - mov r10, r2 - adds r6, r1, 0x1 - movs r3, 0x1F - mov r8, r3 - movs r7, 0x10 -_08082EB0: - bl Random - ldr r1, =gUnknown_020322A4 - ldr r4, [r1] - adds r4, 0x4A - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x14 - bl __umodsi3 - ldrh r1, [r4] - adds r1, r0 - lsls r1, 16 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r2, r0, 16 - adds r0, r2, 0 - adds r0, 0x40 - lsls r0, 1 - add r0, r9 - movs r3, 0 - ldrsh r1, [r0, r3] - cmp r1, 0 - bge _08082EE4 - adds r1, 0x3 -_08082EE4: - asrs r1, 2 - lsls r0, r2, 1 - add r0, r9 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _08082EF4 - adds r0, 0x3 -_08082EF4: - asrs r2, r0, 2 - adds r1, 0x78 - adds r2, 0x50 - ldr r0, =gUnknown_08339BE0 - movs r3, 0x1 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r5, r4, 4 - adds r5, r4 - lsls r5, 2 - mov r3, r10 - adds r4, r5, r3 - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - ands r0, r1 - subs r0, r7, r0 - strh r0, [r4, 0x2E] - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r2, r8 - ands r0, r2 - subs r0, r7, r0 - strh r0, [r4, 0x30] - ldr r3, =gSprites + 0x1C - adds r5, r3 - ldr r0, =sub_8082E3C - str r0, [r5] - subs r6, 0x1 - cmp r6, 0 - bne _08082EB0 -_08082F40: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082E84 - - thumb_func_start sub_8082F68 -sub_8082F68: @ 8082F68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08082F94 - adds r0, r4, 0 - bl DestroySprite -_08082F94: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8082F68 - - thumb_func_start sub_8082F9C -sub_8082F9C: @ 8082F9C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - negs r0, r0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xC - negs r1, r1 - cmp r0, r1 - bge _08082FC0 - ldr r0, =0x0000fff4 - strh r0, [r2, 0x26] -_08082FC0: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08082FD4 - adds r0, r2, 0 - bl DestroySprite -_08082FD4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082F9C - - thumb_func_start sub_8082FDC -sub_8082FDC: @ 8082FDC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r2, =gUnknown_020322A4 - ldr r3, [r2] - lsls r4, r0, 1 - adds r2, r3, 0 - adds r2, 0x74 - adds r2, r4 - strh r1, [r2] - lsls r0, 4 - movs r2, 0xAC - lsls r2, 1 - adds r0, r2 - adds r3, r0 - adds r0, r3, 0 - bl sub_807FE14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082FDC - - thumb_func_start sub_8083010 -sub_8083010: @ 8083010 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0808304C - cmp r0, 0x1 - bgt _08083026 - cmp r0, 0 - beq _0808302C - b _080830B2 -_08083026: - cmp r0, 0x2 - beq _08083066 - b _080830B2 -_0808302C: - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x58 - ble _080830B2 - movs r0, 0x58 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x38 - bl PlaySE - b _080830B2 -_0808304C: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080830B2 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x32] - b _080830B2 -_08083066: - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB0 - ble _080830B2 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - adds r1, r0, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080830A0 - adds r0, r4, 0 - bl DestroySprite - ldr r0, =gUnknown_08339C60 - movs r2, 0x14 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x2 - bl CreateSprite - b _080830B2 - .pool -_080830A0: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =0x0000fff0 - strh r0, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_080830B2: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083010 - - thumb_func_start sub_80830C0 -sub_80830C0: @ 80830C0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080830FC - cmp r0, 0x1 - bgt _080830D6 - cmp r0, 0 - beq _080830DC - b _08083130 -_080830D6: - cmp r0, 0x2 - beq _08083112 - b _08083130 -_080830DC: - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5C - ble _08083130 - movs r0, 0x5C - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x15 - bl PlaySE - b _08083130 -_080830FC: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _08083130 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _08083130 -_08083112: - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB0 - ble _08083130 - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_08083130: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80830C0 - - thumb_func_start sub_8083140 -sub_8083140: @ 8083140 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r3, r1, 16 - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - movs r2, 0x8C - lsls r2, 1 - adds r1, r2 - ldrh r2, [r1] - cmp r2, r0 - bcs _08083166 - adds r0, r2, 0x2 - strh r0, [r1] - ldrh r0, [r1] - adds r1, r3, 0 - bl sub_8083170 -_08083166: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083140 - - thumb_func_start sub_8083170 -sub_8083170: @ 8083170 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r7, =0x06006000 - lsrs r0, 10 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _08083188 - adds r0, r1, 0x7 -_08083188: - asrs r4, r0, 3 - movs r3, 0 - cmp r3, r4 - bge _080831B0 - ldr r0, =0x000080e9 - adds r6, r0, 0 - adds r0, 0x10 - adds r5, r0, 0 - adds r2, r7, 0 - adds r2, 0x56 - adds r0, r7, 0 - adds r3, r4, 0 -_080831A0: - strh r6, [r0, 0x16] - strh r5, [r2] - adds r2, 0x2 - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _080831A0 - adds r3, r4, 0 -_080831B0: - adds r0, r1, 0 - cmp r1, 0 - bge _080831B8 - adds r0, r1, 0x7 -_080831B8: - asrs r2, r0, 3 - lsls r0, r2, 3 - subs r2, r1, r0 - cmp r2, 0 - beq _080831D6 - lsls r0, r3, 1 - adds r0, r7 - ldr r4, =0xffff80e1 - adds r1, r2, r4 - strh r1, [r0, 0x16] - adds r0, 0x56 - adds r4, 0x10 - adds r1, r2, r4 - strh r1, [r0] - adds r3, 0x1 -_080831D6: - cmp r3, 0x7 - bgt _080831FA - ldr r0, =0x000080e1 - adds r4, r0, 0 - adds r0, 0x10 - adds r2, r0, 0 - lsls r1, r3, 1 - adds r0, r1, 0 - adds r0, 0x56 - adds r0, r7 - adds r1, r7 -_080831EC: - strh r4, [r1, 0x16] - strh r2, [r0] - adds r0, 0x2 - adds r1, 0x2 - adds r3, 0x1 - cmp r3, 0x7 - ble _080831EC -_080831FA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083170 - - thumb_func_start sub_8083210 -sub_8083210: @ 8083210 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x00057e40 - muls r0, r1 - cmp r0, 0 - bge _08083222 - ldr r1, =0x0000ffff - adds r0, r1 -_08083222: - asrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8083210 - - thumb_func_start sub_8083230 -sub_8083230: @ 8083230 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r0, 16 - bl sub_8083210 - adds r5, r0, 0 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x4E - ldrh r0, [r1] - cmp r0, r5 - bcs _0808324E - strh r5, [r1] -_0808324E: - movs r6, 0 -_08083250: - mov r0, sp - adds r4, r0, r6 - adds r0, r5, 0 - movs r1, 0xA - bl __umodsi3 - strb r0, [r4] - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _08083250 - ldr r2, =0x06006458 - mov r0, sp - ldr r3, =0x00008072 - adds r1, r3, 0 - ldrb r0, [r0, 0x4] - adds r0, r1, r0 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0, 0x3] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0, 0x2] - adds r0, r1 - strh r0, [r2] - adds r2, 0x4 - mov r0, sp - ldrb r0, [r0, 0x1] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0] - adds r1, r0 - strh r1, [r2] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083230 - - thumb_func_start sub_80832BC -sub_80832BC: @ 80832BC - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 16 - lsrs r5, r4, 16 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080832E0 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __umodsi3 - lsrs r1, r4, 17 - subs r0, r1 - strh r0, [r6] -_080832E0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80832BC - - thumb_func_start sub_80832E8 -sub_80832E8: @ 80832E8 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bge _080832FA - adds r0, r2, 0x1 - strh r0, [r1] -_080832FA: - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08083308 - subs r0, r2, 0x1 - strh r0, [r1] -_08083308: - pop {r0} - bx r0 - thumb_func_end sub_80832E8 - - thumb_func_start sub_808330C -sub_808330C: @ 808330C - push {r4,lr} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - movs r1, 0x8E - lsls r1, 1 - adds r0, r1 - bl sub_80832E8 - ldr r0, [r4] - movs r1, 0x8F - lsls r1, 1 - adds r0, r1 - bl sub_80832E8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808330C - - thumb_func_start sub_8083334 -sub_8083334: @ 8083334 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r5, 0x8 - cmp r1, 0x9 - bhi _08083344 - movs r5, 0x10 -_08083344: - ldrh r0, [r4] - movs r2, 0 - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _08083362 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __modsi3 - lsrs r1, r5, 1 - subs r0, r1 - b _08083376 -_08083362: - cmp r1, 0 - bge _0808336A - adds r0, 0x1 - strh r0, [r4] -_0808336A: - ldrh r1, [r4] - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08083378 - subs r0, r1, 0x1 -_08083376: - strh r0, [r4] -_08083378: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8083334 - - thumb_func_start sub_8083380 -sub_8083380: @ 8083380 - push {r4,r5,lr} - ldr r5, =gUnknown_020322A4 - ldr r2, [r5] - movs r4, 0x84 - lsls r4, 1 - adds r0, r2, r4 - ldr r1, [r0] - cmp r1, 0 - bne _080833A0 - movs r3, 0x8E - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] -_080833A0: - ldr r0, [r5] - adds r2, r0, r4 - ldr r1, [r2] - adds r1, 0x1 - str r1, [r2] - movs r2, 0x8E - lsls r2, 1 - adds r0, r2 - lsls r1, 16 - lsrs r1, 16 - bl sub_8083334 - ldr r1, [r5] - movs r3, 0x8F - lsls r3, 1 - adds r0, r1, r3 - adds r1, r4 - ldrh r1, [r1] - bl sub_8083334 - ldr r2, [r5] - adds r0, r2, r4 - ldr r0, [r0] - cmp r0, 0x14 - beq _080833DC - movs r0, 0 - b _080833F0 - .pool -_080833DC: - movs r1, 0x8E - lsls r1, 1 - adds r0, r2, r1 - movs r1, 0 - strh r1, [r0] - movs r3, 0x8F - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r0, 0x1 -_080833F0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8083380 - - thumb_func_start sub_80833F8 -sub_80833F8: @ 80833F8 - ldr r1, =gUnknown_020322A4 - ldr r2, [r1] - movs r3, 0x8E - lsls r3, 1 - adds r1, r2, r3 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x24] - adds r3, 0x2 - adds r1, r2, r3 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x26] - bx lr - .pool - thumb_func_end sub_80833F8 - - thumb_func_start UpdateBerryBlenderRecord -@ void UpdateBerryBlenderRecord() -UpdateBerryBlenderRecord: @ 8083418 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 1 - ldr r3, =0x000009bc - adds r2, r3 - adds r2, r0 - adds r1, 0x4E - ldrh r1, [r1] - ldrh r0, [r2] - cmp r0, r1 - bcs _0808343E - strh r1, [r2] -_0808343E: - pop {r0} - bx r0 - .pool - thumb_func_end UpdateBerryBlenderRecord - - thumb_func_start berry_blender_related -berry_blender_related: @ 8083450 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4C - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _0808346A - b _08083898 -_0808346A: - lsls r0, 2 - ldr r1, =_0808347C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0808347C: - .4byte _08083498 - .4byte _080834AE - .4byte _080834C8 - .4byte _08083518 - .4byte _08083790 - .4byte _080837A8 - .4byte _0808386C -_08083498: - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - movs r1, 0x11 - str r1, [r0] - b _08083898 -_080834AE: - ldr r1, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - ldr r0, [r2] - subs r0, 0xA - str r0, [r2] - cmp r0, 0 - blt _080834C2 - b _08083898 -_080834C2: - movs r0, 0 - str r0, [r2] - b _08083854 -_080834C8: - ldr r1, [r4] - movs r0, 0x84 - lsls r0, 1 - adds r1, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bgt _080834DC - b _08083898 -_080834DC: - movs r6, 0 -_080834DE: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x46 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x2 - bls _080834DE - ldr r1, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - b _08083854 - .pool -_08083518: - ldr r4, =gUnknown_083398F5 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xA8 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - movs r0, 0xFF - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x5 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_80840D4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r2, r0, 0 - adds r2, 0x7C - ldrb r0, [r2] - movs r3, 0x15 - mov r9, r3 - cmp r0, 0x4 - bne _08083550 - movs r0, 0x11 - mov r9, r0 -_08083550: - movs r6, 0 - mov r3, sp - adds r3, 0x10 - str r3, [sp, 0x48] - ldrb r2, [r2] - cmp r6, r2 - bcs _0808361A - adds r7, r1, 0 - movs r0, 0x3 - mov r10, r0 -_08083564: - ldr r0, [r7] - movs r2, 0x9E - lsls r2, 1 - adds r1, r0, r2 - adds r1, r6 - ldrb r5, [r1] - adds r0, 0x9F - adds r6, 0x1 - mov r8, r6 - mov r1, r8 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gUnknown_08339941 - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gText_Space - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - lsls r4, r5, 3 - subs r4, r5 - lsls r4, 2 - ldr r3, =gLinkPlayers + 8 - adds r1, r4, r3 - bl StringAppend - ldr r1, [r7] - adds r1, 0x9F - mov r0, r9 - lsls r6, r0, 24 - lsrs r6, 24 - movs r2, 0xFF - str r2, [sp] - mov r3, r10 - str r3, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x8 - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - lsls r5, 4 - adds r5, r1 - movs r1, 0xAD - lsls r1, 1 - adds r5, r1 - adds r1, r5, 0 - bl StringCopy - ldr r0, [r7] - adds r0, 0x9F - ldr r2, =gLinkPlayers - adds r4, r2 - ldrb r1, [r4, 0x1A] - bl ConvertInternationalString - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gUnknown_08339914 - bl StringAppend - ldr r1, [r7] - adds r1, 0x9F - movs r3, 0xFF - str r3, [sp] - mov r0, r10 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x54 - adds r3, r6, 0 - bl sub_80840D4 - movs r1, 0x10 - add r9, r1 - mov r2, r8 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r0, [r7] - adds r0, 0x7C - ldrb r0, [r0] - cmp r6, r0 - bcc _08083564 -_0808361A: - ldr r1, =gUnknown_0833992E - movs r3, 0xFF - mov r10, r3 - str r3, [sp] - movs r0, 0x3 - mov r9, r0 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0 - movs r3, 0x51 - bl sub_80840D4 - ldr r6, =gUnknown_020322A4 - ldr r0, [r6] - adds r4, r0, 0 - adds r4, 0x9F - adds r0, 0x4E - ldrh r0, [r0] - movs r1, 0x64 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_08339941 - bl StringAppend - ldr r0, [r6] - adds r0, 0x4E - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x48] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, [sp, 0x48] - bl StringAppend - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_0833993C - bl StringAppend - ldr r1, [r6] - adds r1, 0x9F - movs r0, 0x1 - movs r2, 0xA8 - bl GetStringRightAlignXOffset - ldr r1, [r6] - adds r1, 0x9F - lsls r2, r0, 24 - lsrs r2, 24 - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r3, 0x51 - bl sub_80840D4 - ldr r1, =gUnknown_0833991B - mov r2, r10 - str r2, [sp] - mov r3, r9 - str r3, [sp, 0x4] - movs r0, 0x5 - movs r2, 0 - movs r3, 0x61 - bl sub_80840D4 - ldr r5, [r6] - movs r1, 0x82 - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - mov r8, r0 - movs r1, 0x3C - bl __udivsi3 - movs r1, 0x3C - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r1, 0xE1 - lsls r1, 4 - mov r0, r8 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r5, 0x9F - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_08339921 - bl StringAppend - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_08339928 - bl StringAppend - ldr r1, [r6] - adds r1, 0x9F - movs r0, 0x1 - movs r2, 0xA8 - bl GetStringRightAlignXOffset - ldr r1, [r6] - adds r1, 0x9F - lsls r2, r0, 24 - lsrs r2, 24 - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r3, 0x61 - bl sub_80840D4 - ldr r1, [r6] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _08083898 - .pool -_08083790: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0808379E - b _08083898 -_0808379E: - ldr r1, [r4] - b _08083854 - .pool -_080837A8: - movs r0, 0x5 - movs r1, 0x1 - bl sub_8198070 - movs r6, 0 - add r7, sp, 0x40 - ldr r5, =gUnknown_020322A4 -_080837B6: - ldr r0, [r5] - lsls r2, r6, 1 - adds r0, 0x74 - adds r0, r2 - ldrh r1, [r0] - cmp r1, 0 - beq _080837CC - add r0, sp, 0x38 - adds r0, r2 - subs r1, 0x85 - strh r1, [r0] -_080837CC: - ldr r0, [r5] - adds r0, 0x8E - adds r0, r2 - ldrh r0, [r0] - cmp r0, 0xFF - beq _080837EA - lsls r4, r6, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_080837EA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _080837B6 - bl sub_8081E20 - ldr r4, =gUnknown_020322A4 - ldr r3, [r4] - movs r1, 0xAC - lsls r1, 1 - adds r0, r3, r1 - adds r1, r3, 0 - adds r1, 0x7C - ldrb r2, [r1] - subs r1, 0x2E - ldrh r1, [r1] - str r1, [sp] - adds r1, r7, 0 - add r3, sp, 0x8 - bl sub_8081BE0 - ldr r1, [r4] - adds r1, 0x9F - adds r0, r7, 0 - bl sub_80838AC - ldr r1, [r4] - movs r2, 0xD4 - lsls r2, 1 - adds r1, r2 - adds r0, r7, 0 - bl sub_8083F94 - ldr r0, =sub_8083F3C - movs r1, 0x6 - bl CreateTask - bl sub_80EECEC - ldr r0, =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem - adds r0, r7, 0 - bl sub_8136F2C - ldr r1, [r4] - ldr r3, =0x000011b8 - adds r2, r1, r3 - movs r0, 0 - strh r0, [r2] -_08083854: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08083898 - .pool -_0808386C: - ldr r4, [r4] - ldr r0, =0x000011b8 - adds r5, r4, r0 - adds r4, 0x9F - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_808417C - cmp r0, 0 - beq _08083898 - bl UpdateBerryBlenderRecord - movs r0, 0x1 - b _0808389A - .pool -_08083898: - movs r0, 0 -_0808389A: - add sp, 0x4C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end berry_blender_related - - thumb_func_start sub_80838AC -sub_80838AC: @ 80838AC - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0xFF - strb r0, [r6] - ldr r1, =gPokeblockNames - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - ldr r1, =gUnknown_0833979D - adds r0, r6, 0 - bl StringAppend - ldr r1, =gUnknown_08339943 - adds r0, r6, 0 - bl StringAppend - adds r0, r5, 0 - bl sub_8136EA4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl sub_8136EDC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gUnknown_0833994F - adds r0, r6, 0 - bl StringAppend - mov r0, sp - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - mov r1, sp - bl StringAppend - ldr r1, =gUnknown_0833995D - adds r0, r6, 0 - bl StringAppend - mov r0, sp - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - mov r1, sp - bl StringAppend - ldr r1, =gUnknown_08339970 - adds r0, r6, 0 - bl StringAppend - ldr r1, =gUnknown_0833979B - adds r0, r6, 0 - bl StringAppend - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80838AC - - thumb_func_start sub_808395C -sub_808395C: @ 808395C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - mov r12, r2 - lsls r1, 24 - lsrs r7, r1, 24 - movs r0, 0 - cmp r0, r7 - bge _080839A8 -_08083972: - movs r5, 0 - adds r1, r0, 0x1 - mov r8, r1 - cmp r5, r7 - bge _080839A2 - mov r1, r9 - adds r6, r1, r0 -_08083980: - ldrb r4, [r6] - lsls r1, r4, 2 - add r1, r12 - mov r0, r9 - adds r2, r0, r5 - ldrb r3, [r2] - lsls r0, r3, 2 - add r0, r12 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - bls _0808399C - strb r3, [r6] - strb r4, [r2] -_0808399C: - adds r5, 0x1 - cmp r5, r7 - blt _08083980 -_080839A2: - mov r0, r8 - cmp r0, r7 - blt _08083972 -_080839A8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808395C - - thumb_func_start sub_80839B4 -sub_80839B4: @ 80839B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r5, 0 - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x7C - adds r1, r2, 0 - add r3, sp, 0x4 - mov r10, r3 - b _080839E4 - .pool -_080839D4: - mov r4, sp - adds r0, r4, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r2] - adds r0, 0x7C -_080839E4: - ldrb r0, [r0] - cmp r5, r0 - bcc _080839D4 - movs r5, 0 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x7C - ldrb r2, [r1] - cmp r5, r2 - bcs _08083A5E - mov r9, r10 - movs r3, 0x92 - lsls r3, 1 - adds r3, r0 - mov r8, r3 - mov r12, r1 - movs r4, 0x93 - lsls r4, 1 - adds r7, r0, r4 - movs r1, 0x94 - lsls r1, 1 - adds r6, r0, r1 -_08083A10: - lsls r4, r5, 2 - add r4, r9 - lsls r3, r5, 1 - adds r3, r5 - lsls r3, 1 - mov r2, r8 - adds r0, r2, r3 - ldrh r2, [r0] - lsls r0, r2, 5 - subs r0, r2 - lsls r1, r0, 6 - subs r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r1, 6 - str r1, [r4] - adds r0, r7, r3 - ldrh r2, [r0] - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - str r1, [r4] - movs r0, 0xFA - lsls r0, 2 - adds r1, r0 - adds r3, r6, r3 - ldrh r0, [r3] - subs r1, r0 - str r1, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r12 - ldrb r1, [r1] - cmp r5, r1 - bcc _08083A10 -_08083A5E: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x7C - ldrb r1, [r0] - mov r0, sp - mov r2, r10 - bl sub_808395C - movs r5, 0 - ldr r0, [r4] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcs _08083A9E - adds r2, r4, 0 - movs r3, 0x9E - lsls r3, 1 -_08083A80: - ldr r1, [r2] - adds r1, r3 - adds r1, r5 - mov r4, sp - adds r0, r4, r5 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r2] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcc _08083A80 -_08083A9E: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08083AB4 - movs r3, 0 - b _08083ABC - .pool -_08083AB4: - bl GetMultiplayerId - lsls r0, 24 - lsrs r3, r0, 24 -_08083ABC: - movs r5, 0 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcs _08083AF2 - movs r6, 0x9E - lsls r6, 1 - movs r4, 0xD2 - lsls r4, 1 -_08083AD2: - ldr r2, [r1] - adds r0, r2, r6 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r3 - bne _08083AE2 - adds r0, r2, r4 - strb r5, [r0] -_08083AE2: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r1] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcc _08083AD2 -_08083AF2: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80839B4 - - thumb_func_start sub_8083B08 -sub_8083B08: @ 8083B08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bls _08083B22 - b _08083E12 -_08083B22: - lsls r0, 2 - ldr r1, =_08083B34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08083B34: - .4byte _08083B50 - .4byte _08083B66 - .4byte _08083B80 - .4byte _08083B9A - .4byte _08083DC8 - .4byte _08083DE2 - .4byte _08083E08 -_08083B50: - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - str r1, [r0] - b _08083E12 -_08083B66: - ldr r1, [r2] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - ldr r0, [r2] - subs r0, 0xA - str r0, [r2] - cmp r0, 0 - blt _08083B7A - b _08083E12 -_08083B7A: - movs r0, 0 - str r0, [r2] - b _08083DF8 -_08083B80: - ldr r1, [r2] - movs r0, 0x84 - lsls r0, 1 - adds r2, r1, r0 - ldr r0, [r2] - adds r0, 0x1 - str r0, [r2] - cmp r0, 0x14 - bgt _08083B94 - b _08083E12 -_08083B94: - movs r0, 0 - str r0, [r2] - b _08083DF8 -_08083B9A: - movs r0, 0x5 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r4, =gUnknown_08339947 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xA8 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xFF - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x5 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_80840D4 - ldr r1, =gUnknown_08339B40 - mov r8, r1 - mov r0, r8 - movs r1, 0x80 - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r7, =gUnknown_020322A4 - ldr r1, [r7] - adds r1, 0x46 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x46 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - movs r1, 0x3 - bl StartSpriteAnim - ldr r0, [r7] - adds r0, 0x46 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r0, r5 - ldr r4, =SpriteCallbackDummy - str r4, [r0] - mov r0, r8 - movs r1, 0xA0 - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x47 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x47 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r4, [r0] - mov r0, r8 - movs r1, 0xC0 - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x48 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x48 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r7] - adds r0, 0x48 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r4, [r0] - bl sub_80839B4 - movs r2, 0x29 - str r2, [sp, 0x8] - movs r2, 0 - ldr r0, [r7] - adds r0, 0x7C - ldrb r0, [r0] - cmp r2, r0 - bcc _08083C7C - b _08083D8A -_08083C7C: - movs r3, 0xFF - mov r10, r3 - movs r0, 0x3 - mov r9, r0 -_08083C84: - ldr r0, [r7] - movs r3, 0x9E - lsls r3, 1 - adds r1, r0, r3 - adds r1, r2 - ldrb r5, [r1] - adds r0, 0x9F - adds r2, 0x1 - mov r8, r2 - mov r1, r8 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gUnknown_08339941 - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gText_Space - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringAppend - ldr r1, [r7] - adds r1, 0x9F - ldr r0, [sp, 0x8] - lsls r6, r0, 24 - lsrs r6, 24 - mov r2, r10 - str r2, [sp] - mov r3, r9 - str r3, [sp, 0x4] - movs r0, 0x5 - movs r2, 0 - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - lsls r4, r5, 1 - adds r4, r5 - lsls r4, 1 - movs r2, 0x92 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, [r7] - adds r1, 0x9F - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x4E - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - movs r2, 0x93 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, [r7] - adds r1, 0x9F - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x6E - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - movs r2, 0x94 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, [r7] - adds r1, 0x9F - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x8E - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [sp, 0x8] - adds r1, 0x10 - str r1, [sp, 0x8] - mov r2, r8 - lsls r2, 16 - lsrs r2, 16 - ldr r0, [r7] - adds r0, 0x7C - ldrb r0, [r0] - cmp r2, r0 - bcs _08083D8A - b _08083C84 -_08083D8A: - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0x5 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - b _08083DF8 - .pool -_08083DC8: - ldr r2, [r2] - movs r0, 0x84 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - ble _08083E12 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _08083E12 -_08083DE2: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08083E12 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_08083DF8: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08083E12 - .pool -_08083E08: - ldr r1, [r2] - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _08083E14 -_08083E12: - movs r0, 0 -_08083E14: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8083B08 - - thumb_func_start ShowBerryBlenderRecordWindow -ShowBerryBlenderRecordWindow: @ 8083E24 - push {r4-r7,lr} - sub sp, 0x34 - ldr r0, =gUnknown_08339D14 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x2C] - str r1, [sp, 0x30] - ldr r5, =gUnknown_0203AB74 - add r0, sp, 0x2C - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl sub_81973FC - ldrb r0, [r5] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r6, =gText_BlenderMaxSpeedRecord - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0x90 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r2, r6, 0 - bl PrintTextOnWindow - ldrb r0, [r5] - ldr r2, =gText_234Players - movs r1, 0x29 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x4 - bl PrintTextOnWindow - movs r6, 0 - movs r7, 0xA4 - lsls r7, 22 -_08083E8A: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r6, 1 - ldr r2, =0x000009bc - adds r0, r2 - adds r0, r1 - ldrh r4, [r0] - adds r0, r4, 0 - movs r1, 0x64 - bl __udivsi3 - adds r1, r0, 0 - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - ldr r1, =gUnknown_08339941 - bl StringAppend - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - ldr r1, =gUnknown_0833993C - bl StringAppend - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x8C - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r4, =gUnknown_0203AB74 - ldrb r0, [r4] - lsls r3, 24 - lsrs r3, 24 - lsrs r1, r7, 24 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - movs r0, 0x80 - lsls r0, 21 - adds r7, r0 - adds r6, 0x1 - cmp r6, 0x2 - ble _08083E8A - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x34 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ShowBerryBlenderRecordWindow - - thumb_func_start sub_8083F3C -sub_8083F3C: @ 8083F3C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08083F62 - ldr r0, =0x0000016f - bl PlayFanfare - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08083F62: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08083F82 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl PlayBGM - adds r0, r5, 0 - bl DestroyTask -_08083F82: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083F3C - - thumb_func_start sub_8083F94 -sub_8083F94: @ 8083F94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r6, r0, 0 - adds r7, r1, 0 - bl sub_8136EA4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_8136EDC - adds r1, r0, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 1 - lsls r1, 24 - lsrs r1, 24 - bl __divsi3 - lsls r0, 16 - lsrs r3, r0, 16 - strb r3, [r7, 0xD] - ldrb r0, [r6] - strb r0, [r7, 0xC] - movs r0, 0xFF - strb r0, [r7] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080840C4 - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - movs r4, 0xD2 - lsls r4, 1 - adds r1, r2, r4 - ldrb r1, [r1] - mov r8, r0 - cmp r1, 0 - bne _08084058 - cmp r3, 0x14 - bls _08084058 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r1, [r0] - subs r1, 0x1 - movs r0, 0x9E - lsls r0, 1 - mov r9, r0 - adds r0, r2, r0 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r5, =gLinkPlayers + 8 - adds r1, r5 - adds r0, r7, 0 - bl StringCopy - adds r0, r6, 0 - bl sub_81370B4 - strb r0, [r7, 0xB] - ldrb r1, [r7, 0xB] - ldrb r2, [r7, 0xC] - ldrb r3, [r7, 0xD] - mov r6, r8 - ldr r4, [r6] - adds r0, r4, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x1 - add r4, r9 - adds r4, r0 - ldrb r4, [r4] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r5, r0 - ldrb r0, [r5, 0x12] - str r0, [sp] - adds r0, r7, 0 - bl Put3CheersForPokeblocksOnTheAir - lsls r0, 24 - cmp r0, 0 - bne _080840BA - b _080840C4 - .pool -_08084058: - mov r0, r8 - ldr r2, [r0] - movs r1, 0xD2 - lsls r1, 1 - adds r0, r2, r1 - ldrb r1, [r0] - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _080840C4 - cmp r3, 0x14 - bhi _080840C4 - movs r4, 0x9E - lsls r4, 1 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r5, =gLinkPlayers + 8 - adds r1, r5 - adds r0, r7, 0 - bl StringCopy - adds r0, r6, 0 - bl sub_81370B4 - strb r0, [r7, 0xB] - ldrb r1, [r7, 0xB] - ldrb r2, [r7, 0xC] - ldrb r3, [r7, 0xD] - mov r6, r8 - ldr r0, [r6] - adds r0, r4 - ldrb r4, [r0] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r5, r0 - ldrb r0, [r5, 0x12] - str r0, [sp] - adds r0, r7, 0 - bl Put3CheersForPokeblocksOnTheAir - lsls r0, 24 - cmp r0, 0 - beq _080840C4 -_080840BA: - movs r0, 0x1 - b _080840C6 - .pool -_080840C4: - movs r0, 0 -_080840C6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8083F94 - - thumb_func_start sub_80840D4 -sub_80840D4: @ 80840D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - mov r9, r1 - ldr r4, [sp, 0x38] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r7, r3, 24 - movs r5, 0 - cmp r4, 0x1 - beq _08084116 - cmp r4, 0x1 - bgt _08084100 - cmp r4, 0 - beq _08084108 - b _08084132 -_08084100: - cmp r4, 0x2 - beq _08084124 - cmp r4, 0x3 - bne _08084136 -_08084108: - add r1, sp, 0x14 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - movs r0, 0x3 - b _08084130 -_08084116: - add r0, sp, 0x14 - strb r5, [r0] - adds r1, r0, 0 - movs r0, 0x2 - strb r0, [r1, 0x1] - movs r0, 0x3 - b _08084130 -_08084124: - add r0, sp, 0x14 - strb r5, [r0] - adds r1, r0, 0 - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x5 -_08084130: - strb r0, [r1, 0x2] -_08084132: - cmp r4, 0x3 - beq _08084148 -_08084136: - add r0, sp, 0x14 - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl FillWindowPixelBuffer -_08084148: - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - ldr r0, [sp, 0x34] - lsls r0, 24 - asrs r0, 24 - str r0, [sp, 0xC] - mov r0, r9 - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0x1 - mov r2, r8 - adds r3, r7, 0 - bl AddTextPrinterParametrized2 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80840D4 - - thumb_func_start sub_808417C -sub_808417C: @ 808417C - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - movs r0, 0 - ldrsh r4, [r5, r0] - cmp r4, 0 - beq _08084194 - cmp r4, 0x1 - beq _080841C6 - b _080841DA -_08084194: - movs r0, 0x4 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xF - bl sub_8197B1C - str r6, [sp] - str r4, [sp, 0x4] - movs r0, 0x4 - adds r1, r7, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_80840D4 - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _080841DA -_080841C6: - movs r0, 0x4 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080841DA - strh r0, [r5] - movs r0, 0x1 - b _080841DC -_080841DA: - movs r0, 0 -_080841DC: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808417C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_fix_program.s b/asm/berry_fix_program.s deleted file mode 100755 index 2428f2984..000000000 --- a/asm/berry_fix_program.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s deleted file mode 100644 index 9622f0508..000000000 --- a/asm/berry_tag_screen.s +++ /dev/null @@ -1,1538 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8177C14 -sub_8177C14: @ 8177C14 - push {r4,lr} - ldr r4, =gUnknown_0203BCF4 - ldr r0, =0x0000180c - bl AllocZeroed - str r0, [r4] - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemIdToBerryType - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =sub_8177C84 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8177C14 - - thumb_func_start sub_8177C54 -sub_8177C54: @ 8177C54 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8177C54 - - thumb_func_start sub_8177C70 -sub_8177C70: @ 8177C70 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8177C70 - - thumb_func_start sub_8177C84 -sub_8177C84: @ 8177C84 - push {lr} -_08177C86: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08177CAA - bl sub_8177CB0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08177CAA - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08177C86 -_08177CAA: - pop {r0} - bx r0 - thumb_func_end sub_8177C84 - - thumb_func_start sub_8177CB0 -sub_8177CB0: @ 8177CB0 - push {lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xF - bls _08177CC4 - b _08177DF4 -_08177CC4: - lsls r0, 2 - ldr r1, =_08177CD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08177CD8: - .4byte _08177D18 - .4byte _08177D26 - .4byte _08177D2C - .4byte _08177D40 - .4byte _08177D46 - .4byte _08177D4C - .4byte _08177D5C - .4byte _08177D78 - .4byte _08177D84 - .4byte _08177D8A - .4byte _08177D90 - .4byte _08177D96 - .4byte _08177D9C - .4byte _08177DA6 - .4byte _08177DB4 - .4byte _08177DC2 -_08177D18: - bl SetVBlankHBlankCallbacksToNull - bl sub_8121DA0 - bl clear_scheduled_bg_copies_to_vram - b _08177DDC -_08177D26: - bl remove_some_task - b _08177DDC -_08177D2C: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _08177DDA - .pool -_08177D40: - bl ResetSpriteData - b _08177DDC -_08177D46: - bl FreeAllSpritePalettes - b _08177DDC -_08177D4C: - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - bne _08177DDC - bl ResetTasks - b _08177DDC -_08177D5C: - bl sub_8177E14 - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - ldr r1, =0x00001808 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _08177DDC - .pool -_08177D78: - bl sub_8177E88 - lsls r0, 24 - cmp r0, 0 - beq _08177E0C - b _08177DDC -_08177D84: - bl sub_8178008 - b _08177DDC -_08177D8A: - bl sub_8178090 - b _08177DDC -_08177D90: - bl sub_81780F4 - b _08177DDC -_08177D96: - bl sub_8178338 - b _08177DDC -_08177D9C: - bl sub_817839C - bl sub_8178404 - b _08177DDC -_08177DA6: - ldr r0, =sub_8178654 - movs r1, 0 - bl CreateTask - b _08177DDC - .pool -_08177DB4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _08177DDC -_08177DC2: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_08177DDA: - strb r0, [r2, 0x8] -_08177DDC: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08177E0C - .pool -_08177DF4: - ldr r0, =sub_8177C70 - bl SetVBlankCallback - ldr r0, =sub_8177C54 - bl SetMainCallback2 - movs r0, 0x1 - b _08177E0E - .pool -_08177E0C: - movs r0, 0 -_08177E0E: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8177CB0 - - thumb_func_start sub_8177E14 -sub_8177E14: @ 8177E14 - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085EFCF0 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203BCF4 - ldr r1, [r4] - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 4 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8177E14 - - thumb_func_start sub_8177E88 -sub_8177E88: @ 8177E88 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gUnknown_0203BCF4 - ldr r0, [r1] - ldr r2, =0x00001808 - adds r0, r2 - ldrh r0, [r0] - adds r7, r1, 0 - cmp r0, 0x5 - bls _08177E9E - b _08177FEC -_08177E9E: - lsls r0, 2 - ldr r1, =_08177EB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08177EB4: - .4byte _08177ECC - .4byte _08177EF8 - .4byte _08177F1C - .4byte _08177F3C - .4byte _08177FA8 - .4byte _08177FC8 -_08177ECC: - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9BB44 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0203BCF4 - ldr r1, [r0] - ldr r0, =0x00001808 - adds r1, r0 - b _08177FD6 - .pool -_08177EF8: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08177F06 - b _08177FFC -_08177F06: - ldr r0, =gUnknown_08D9BF98 - ldr r4, =gUnknown_0203BCF4 - ldr r1, [r4] - bl LZDecompressWram - ldr r1, [r4] - b _08177FD2 - .pool -_08177F1C: - ldr r0, =gUnknown_08D9C13C - ldr r1, [r7] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - bl LZDecompressWram - ldr r1, [r7] - ldr r0, =0x00001808 - adds r1, r0 - b _08177FD6 - .pool -_08177F3C: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08177F78 - movs r2, 0 - ldr r6, =gUnknown_0203BCF4 - movs r5, 0x80 - lsls r5, 4 - ldr r4, =0x00004042 - ldr r3, =0x000003ff -_08177F52: - ldr r0, [r6] - lsls r1, r2, 1 - adds r0, r5 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _08177F52 - b _08177F98 - .pool -_08177F78: - movs r2, 0 - ldr r6, =gUnknown_0203BCF4 - movs r5, 0x80 - lsls r5, 4 - ldr r4, =0x00005042 - ldr r3, =0x000003ff -_08177F84: - ldr r0, [r6] - lsls r1, r2, 1 - adds r0, r5 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _08177F84 -_08177F98: - ldr r1, [r7] - b _08177FD2 - .pool -_08177FA8: - ldr r0, =gUnknown_08D9BEF0 - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - ldr r0, =gUnknown_0203BCF4 - ldr r1, [r0] - ldr r0, =0x00001808 - adds r1, r0 - b _08177FD6 - .pool -_08177FC8: - ldr r0, =gUnknown_0857FDEC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0203BCF4 - ldr r1, [r0] -_08177FD2: - ldr r2, =0x00001808 - adds r1, r2 -_08177FD6: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08177FFC - .pool -_08177FEC: - ldr r0, =gUnknown_0857FDF4 - bl LoadCompressedObjectPalette - movs r0, 0x1 - b _08177FFE - .pool -_08177FFC: - movs r0, 0 -_08177FFE: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8177E88 - - thumb_func_start sub_8178008 -sub_8178008: @ 8178008 - push {r4,lr} - ldr r0, =gUnknown_085EFD28 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gUnknown_085EFD00 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_08178020: - lsls r0, r4, 24 - lsrs r0, 24 - bl PutWindowTilemap - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08178020 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178008 - - thumb_func_start sub_817804C -sub_817804C: @ 817804C - push {r4-r6,lr} - sub sp, 0x14 - ldr r6, [sp, 0x24] - ldr r5, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, =gUnknown_085EFD20 - adds r4, r5 - str r4, [sp, 0x8] - lsls r6, 24 - asrs r6, 24 - str r6, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x1 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817804C - - thumb_func_start sub_8178090 -sub_8178090: @ 8178090 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl GetBgTilemapBuffer - ldr r1, =gUnknown_0203BCF4 - ldr r1, [r1] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r2, 0x80 - lsls r2, 4 - bl memcpy - movs r0, 0x3 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r4, =gText_BerryTag - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x3 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_817804C - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178090 - - thumb_func_start sub_81780F4 -sub_81780F4: @ 81780F4 - push {lr} - bl sub_8178110 - bl sub_8178174 - bl itemid_copy_name - bl sub_81782D0 - bl sub_8178304 - pop {r0} - bx r0 - thumb_func_end sub_81780F4 - - thumb_func_start sub_8178110 -sub_8178110: @ 8178110 - push {r4-r6,lr} - sub sp, 0x8 - ldr r5, =gUnknown_0203BCF4 - ldr r0, [r5] - movs r4, 0xC0 - lsls r4, 5 - adds r0, r4 - ldrb r0, [r0] - bl GetBerryInfo - adds r6, r0, 0 - ldr r0, =gStringVar1 - ldr r1, [r5] - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar2 - adds r1, r6, 0 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_UnkF908Var1Var2 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_817804C - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178110 - - thumb_func_start sub_8178174 -sub_8178174: @ 8178174 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - adds r4, r0, 0 - ldr r2, =gText_SizeSlash - movs r7, 0x1 - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r4, 0x8] - cmp r0, 0 - beq _08178230 - adds r1, r0, 0 - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - movs r1, 0xFE - bl __divsi3 - adds r5, r0, 0 - movs r1, 0xA - bl __umodsi3 - cmp r0, 0x4 - bls _081781C8 - adds r5, 0xA -_081781C8: - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - movs r1, 0xA - bl __udivsi3 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0x64 - bl __udivsi3 - adds r5, r0, 0 - ldr r0, =gStringVar1 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_Var1DotVar2 - adds r0, r4, 0 - bl StringExpandPlaceholders - str r7, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x28 - bl PrintTextOnWindow - b _08178242 - .pool -_08178230: - ldr r2, =gText_ThreeMarks - str r7, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x28 - bl PrintTextOnWindow -_08178242: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178174 - - thumb_func_start itemid_copy_name -itemid_copy_name: @ 8178250 - push {r4-r6,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - adds r6, r0, 0 - ldr r2, =gText_FirmSlash - movs r5, 0x11 - str r5, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrb r0, [r6, 0x7] - cmp r0, 0 - beq _081782B0 - ldr r0, =gBerryFirmnessStringPointers - ldrb r1, [r6, 0x7] - subs r1, 0x1 - lsls r1, 2 - adds r1, r0 - ldr r2, [r1] - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x28 - bl PrintTextOnWindow - b _081782C2 - .pool -_081782B0: - ldr r2, =gText_ThreeMarks - str r5, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x28 - bl PrintTextOnWindow -_081782C2: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end itemid_copy_name - - thumb_func_start sub_81782D0 -sub_81782D0: @ 81782D0 - push {lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - ldr r2, [r0, 0xC] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81782D0 - - thumb_func_start sub_8178304 -sub_8178304: @ 8178304 - push {lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - ldr r2, [r0, 0x10] - movs r0, 0x11 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178304 - - thumb_func_start sub_8178338 -sub_8178338: @ 8178338 - push {r4,lr} - ldr r4, =gUnknown_0203BCF4 - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x38 - movs r2, 0x40 - bl sub_80D50D4 - ldr r1, [r4] - ldr r2, =0x00001802 - adds r1, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178338 - - thumb_func_start sub_817836C -sub_817836C: @ 817836C - push {lr} - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - ldr r1, =0x00001802 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - bl sub_80D510C - pop {r0} - bx r0 - .pool - thumb_func_end sub_817836C - - thumb_func_start sub_817839C -sub_817839C: @ 817839C - push {r4,lr} - movs r0, 0x40 - bl sub_80D518C - ldr r4, =gUnknown_0203BCF4 - ldr r1, [r4] - ldr r2, =0x00001803 - adds r1, r2 - strb r0, [r1] - movs r0, 0x68 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001804 - adds r1, r2 - strb r0, [r1] - movs r0, 0x90 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001805 - adds r1, r2 - strb r0, [r1] - movs r0, 0xB8 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001806 - adds r1, r2 - strb r0, [r1] - movs r0, 0xE0 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001807 - adds r1, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817839C - - thumb_func_start sub_8178404 -sub_8178404: @ 8178404 - push {r4,r5,lr} - ldr r4, =gUnknown_0203BCF4 - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - adds r5, r0, 0 - ldrb r0, [r5, 0x15] - cmp r0, 0 - beq _08178448 - ldr r3, =gSprites - ldr r0, [r4] - ldr r1, =0x00001803 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178462 - .pool -_08178448: - ldr r3, =gSprites - ldr r0, [r4] - ldr r1, =0x00001803 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178462: - strb r1, [r0] - adds r4, r3, 0 - ldrb r0, [r5, 0x16] - cmp r0, 0 - beq _0817849C - ldr r3, =gUnknown_0203BCF4 - ldr r0, [r3] - ldr r1, =0x00001804 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _081784B6 - .pool -_0817849C: - ldr r3, =gUnknown_0203BCF4 - ldr r0, [r3] - ldr r1, =0x00001804 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_081784B6: - strb r1, [r0] - ldrb r0, [r5, 0x17] - cmp r0, 0 - beq _081784E8 - ldr r0, [r3] - ldr r1, =0x00001805 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178500 - .pool -_081784E8: - ldr r0, [r3] - ldr r1, =0x00001805 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178500: - strb r1, [r0] - ldrb r0, [r5, 0x18] - cmp r0, 0 - beq _0817852C - ldr r0, [r3] - ldr r1, =0x00001806 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178544 - .pool -_0817852C: - ldr r0, [r3] - ldr r1, =0x00001806 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178544: - strb r1, [r0] - ldrb r0, [r5, 0x19] - cmp r0, 0 - beq _08178570 - ldr r0, [r3] - ldr r1, =0x00001807 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178588 - .pool -_08178570: - ldr r0, [r3] - ldr r1, =0x00001807 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178588: - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178404 - - thumb_func_start sub_8178594 -sub_8178594: @ 8178594 - push {r4,lr} - movs r4, 0 -_08178598: - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - ldr r1, =0x00001803 - adds r0, r1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08178598 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178594 - - thumb_func_start sub_81785D0 -sub_81785D0: @ 81785D0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8178610 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81785D0 - - thumb_func_start sub_8178610 -sub_8178610: @ 8178610 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08178642 - bl sub_817836C - bl sub_8178594 - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =bag_menu_mail_related - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08178642: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178610 - - thumb_func_start sub_8178654 -sub_8178654: @ 8178654 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r4, r2, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081786A6 - ldr r3, =gMain - ldrh r0, [r3, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _08178688 - movs r1, 0x1 - negs r1, r1 - adds r0, r2, 0 - bl sub_81786AC - b _081786A6 - .pool -_08178688: - cmp r1, 0x80 - bne _08178696 - adds r0, r2, 0 - movs r1, 0x1 - bl sub_81786AC - b _081786A6 -_08178696: - ldrh r1, [r3, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081786A6 - adds r0, r4, 0 - bl sub_81785D0 -_081786A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8178654 - - thumb_func_start sub_81786AC -sub_81786AC: @ 81786AC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r2, =gTasks + 0x8 - adds r4, r0, r2 - ldr r2, =gUnknown_0203CE58 - ldrh r0, [r2, 0xE] - ldrh r2, [r2, 0x18] - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - lsrs r7, r1, 24 - asrs r6, r1, 24 - adds r0, r6 - cmp r0, 0x2D - bhi _08178718 - lsls r1, r0, 16 - lsrs r1, 16 - movs r0, 0x4 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - cmp r0, 0 - beq _08178718 - cmp r6, 0 - bge _081786F4 - movs r0, 0x2 - b _081786F6 - .pool -_081786F4: - movs r0, 0x1 -_081786F6: - strh r0, [r4, 0x2] - movs r0, 0 - strh r0, [r4] - movs r0, 0x5 - bl PlaySE - lsls r0, r7, 24 - asrs r0, 24 - bl sub_8178728 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81787AC - str r1, [r0] -_08178718: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81786AC - - thumb_func_start sub_8178728 -sub_8178728: @ 8178728 - push {r4-r6,lr} - ldr r5, =gUnknown_0203CE70 - adds r6, r5, 0 - subs r6, 0xA - lsls r0, 24 - asrs r4, r0, 24 - cmp r4, 0 - ble _08178764 - ldrh r0, [r6] - cmp r0, 0x3 - bls _08178752 - ldrh r1, [r5] - adds r1, 0x8 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - cmp r0, 0 - bne _08178760 -_08178752: - ldrh r0, [r6] - adds r0, r4 - strh r0, [r6] - b _0817877A - .pool -_08178760: - ldrh r0, [r5] - b _08178776 -_08178764: - ldrh r1, [r6] - cmp r1, 0x3 - bhi _08178770 - ldrh r0, [r5] - cmp r0, 0 - bne _08178776 -_08178770: - adds r0, r1, r4 - strh r0, [r6] - b _0817877A -_08178776: - adds r0, r4 - strh r0, [r5] -_0817877A: - ldrh r1, [r6] - ldrh r5, [r5] - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBerryType - ldr r1, =gUnknown_0203BCF4 - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178728 - - thumb_func_start sub_81787AC -sub_81787AC: @ 81787AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldrh r0, [r6] - adds r0, 0x10 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6] - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _08178828 - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0x70 - beq _08178888 - cmp r0, 0x70 - bgt _081787FE - cmp r0, 0x40 - beq _0817881A - cmp r0, 0x40 - bgt _081787F4 - cmp r0, 0x30 - beq _08178898 - b _081788A6 - .pool -_081787F4: - cmp r0, 0x50 - beq _0817888E - cmp r0, 0x60 - beq _08178820 - b _081788A6 -_081787FE: - cmp r0, 0xA0 - beq _08178824 - cmp r0, 0xA0 - bgt _08178810 - cmp r0, 0x80 - beq _08178882 - cmp r0, 0x90 - beq _08178878 - b _081788A6 -_08178810: - cmp r0, 0xB0 - beq _08178872 - cmp r0, 0xC0 - beq _0817886C - b _081788A6 -_0817881A: - bl sub_8178110 - b _081788A6 -_08178820: - movs r0, 0x1 - b _0817889A -_08178824: - movs r0, 0x2 - b _0817889A -_08178828: - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x70 - beq _0817887E - cmp r0, 0x70 - bgt _0817884C - cmp r0, 0x40 - beq _0817886C - cmp r0, 0x40 - bgt _08178842 - cmp r0, 0x30 - beq _08178868 - b _081788A6 -_08178842: - cmp r0, 0x50 - beq _08178872 - cmp r0, 0x60 - beq _08178878 - b _081788A6 -_0817884C: - cmp r0, 0xA0 - beq _0817888E - cmp r0, 0xA0 - bgt _0817885E - cmp r0, 0x80 - beq _08178882 - cmp r0, 0x90 - beq _08178888 - b _081788A6 -_0817885E: - cmp r0, 0xB0 - beq _08178898 - cmp r0, 0xC0 - beq _081788A2 - b _081788A6 -_08178868: - movs r0, 0x2 - b _0817889A -_0817886C: - bl sub_8178304 - b _081788A6 -_08178872: - bl sub_81782D0 - b _081788A6 -_08178878: - bl sub_8178404 - b _081788A6 -_0817887E: - movs r0, 0x1 - b _0817889A -_08178882: - bl itemid_copy_name - b _081788A6 -_08178888: - bl sub_8178174 - b _081788A6 -_0817888E: - bl sub_817836C - bl sub_8178338 - b _081788A6 -_08178898: - movs r0, 0 -_0817889A: - movs r1, 0 - bl FillWindowPixelBuffer - b _081788A6 -_081788A2: - bl sub_8178110 -_081788A6: - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x1 - bne _081788B8 - ldrh r0, [r6] - negs r0, r0 - lsls r0, 16 - lsrs r5, r0, 16 - b _081788BA -_081788B8: - ldrh r5, [r6] -_081788BA: - ldr r2, =gSprites - ldr r3, =gUnknown_0203BCF4 - ldr r0, [r3] - ldr r1, =0x00001802 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x26] - movs r4, 0 - adds r7, r2, 0 - ldr r2, =0x00001803 -_081788D6: - ldr r0, [r3] - adds r0, r2 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x26] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _081788D6 - movs r4, 0x80 - lsls r4, 5 - ldrb r2, [r6, 0x2] - movs r0, 0x1 - adds r1, r4, 0 - bl ChangeBgY - ldrb r2, [r6, 0x2] - movs r0, 0x2 - adds r1, r4, 0 - bl ChangeBgY - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _08178922 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8178654 - str r0, [r1] -_08178922: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81787AC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/bike.s b/asm/bike.s deleted file mode 100644 index b5d40a312..000000000 --- a/asm/bike.s +++ /dev/null @@ -1,2199 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start MovePlayerOnBike -@ void MovePlayerOnBike(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerOnBike: @ 8119164 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811918C - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnMachBike - b _08119194 - .pool -_0811918C: - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnAcroBike -_08119194: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerOnBike - - thumb_func_start MovePlayerOnMachBike -MovePlayerOnMachBike: @ 811919C - push {r4,lr} - sub sp, 0x4 - mov r1, sp - strb r0, [r1] - ldr r4, =gUnknown_0859744C - mov r0, sp - bl CheckMovementInputMachBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerOnMachBike - - thumb_func_start CheckMovementInputMachBike -CheckMovementInputMachBike: @ 81191CC - push {r4,lr} - adds r4, r0, 0 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldrb r1, [r4] - cmp r1, 0 - bne _081191F4 - strb r0, [r4] - ldr r2, =gPlayerAvatar - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _08119208 - strb r1, [r2, 0x2] - movs r0, 0 - b _0811921C - .pool -_081191F4: - ldr r2, =gPlayerAvatar - cmp r1, r3 - beq _08119218 - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - beq _08119218 - ldrb r0, [r2, 0xB] - cmp r0, 0 - beq _08119214 - strb r3, [r4] -_08119208: - movs r0, 0x2 - strb r0, [r2, 0x2] - movs r0, 0x3 - b _0811921C - .pool -_08119214: - movs r0, 0x1 - b _0811921A -_08119218: - movs r0, 0x2 -_0811921A: - strb r0, [r2, 0x2] -_0811921C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputMachBike - - thumb_func_start sub_8119224 -sub_8119224: @ 8119224 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - bl sub_811A128 - pop {r0} - bx r0 - thumb_func_end sub_8119224 - - thumb_func_start sub_8119238 -sub_8119238: @ 8119238 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - beq _08119270 - adds r0, r5, 0 - bl PlayerTurnInPlace - bl sub_811A128 - b _0811927A - .pool -_08119270: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_8119224 -_0811927A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8119238 - - thumb_func_start sub_8119280 -sub_8119280: @ 8119280 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081192C6 - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _081192BC - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8119344 - b _0811933A - .pool -_081192BC: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8119224 - b _0811933A -_081192C6: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119316 - cmp r4, 0x6 - bne _081192E8 - adds r0, r5, 0 - bl PlayerJumpLedge - b _0811933A -_081192E8: - bl sub_811A128 - cmp r4, 0x4 - bne _08119304 - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _08119304 - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _0811933A -_08119304: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0811933A - adds r0, r7, 0 - bl PlayerOnBikeCollide - b _0811933A -_08119316: - ldr r1, =gUnknown_0859745C - ldrb r0, [r6, 0xA] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r7, 0 - bl _call_via_r1 - ldrb r2, [r6, 0xA] - lsls r0, r2, 24 - lsrs r1, r0, 24 - lsrs r0, 25 - adds r0, r2, r0 - strb r0, [r6, 0xB] - cmp r1, 0x1 - bhi _0811933A - adds r0, r2, 0x1 - strb r0, [r6, 0xA] -_0811933A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119280 - - thumb_func_start sub_8119344 -sub_8119344: @ 8119344 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, =gPlayerAvatar - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _0811935A - subs r0, 0x1 - strb r0, [r6, 0xB] - strb r0, [r6, 0xA] -_0811935A: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _081193AE - cmp r4, 0x6 - bne _08119380 - adds r0, r5, 0 - bl PlayerJumpLedge - b _081193BE - .pool -_08119380: - bl sub_811A128 - cmp r4, 0x4 - bne _0811939C - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _0811939C - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _081193BE -_0811939C: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _081193BE - adds r0, r7, 0 - bl PlayerOnBikeCollide - b _081193BE -_081193AE: - ldr r0, =gUnknown_0859745C - ldrb r1, [r6, 0xA] - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r7, 0 - bl _call_via_r1 -_081193BE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119344 - - thumb_func_start MovePlayerOnAcroBike -@ void MovePlayerOnAcroBike(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerOnAcroBike: @ 81193C8 - push {r4,lr} - sub sp, 0x4 - mov r3, sp - strb r0, [r3] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gUnknown_08597468 - mov r0, sp - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerOnAcroBike - - thumb_func_start CheckMovementInputAcroBike -CheckMovementInputAcroBike: @ 8119400 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gUnknown_0859749C - ldr r3, =gPlayerAvatar - ldrb r3, [r3, 0x8] - lsls r3, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBike - - thumb_func_start CheckMovementInputAcroBikeNormal -CheckMovementInputAcroBikeNormal: @ 811942C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gPlayerAvatar - movs r0, 0 - strb r0, [r2, 0xA] - ldrb r1, [r4] - cmp r1, 0 - bne _0811946C - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _08119464 - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0x2 - strb r0, [r2, 0x8] - movs r0, 0x3 - b _081194C0 - .pool -_08119464: - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0 - b _081194C0 -_0811946C: - cmp r1, r3 - bne _08119492 - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0811948A - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _0811948A - adds r0, 0x1 - strb r0, [r2, 0xB] - movs r0, 0x4 - strb r0, [r2, 0x8] - movs r0, 0xB - b _081194C0 -_0811948A: - ldrb r0, [r4] - ldr r2, =gPlayerAvatar - cmp r0, r3 - beq _081194BC -_08119492: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x2] - adds r2, r0, 0 - cmp r1, 0x2 - beq _081194BC - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - ldrb r0, [r4] - strb r0, [r2, 0x9] - strb r1, [r2, 0x2] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _081194C0 - .pool -_081194BC: - movs r0, 0x2 - strb r0, [r2, 0x2] -_081194C0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeNormal - - thumb_func_start CheckMovementInputAcroBikeChangingDirection -CheckMovementInputAcroBikeChangingDirection: @ 81194C8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =gPlayerAvatar - ldrb r0, [r4, 0x9] - strb r0, [r5] - ldrb r0, [r4, 0xA] - adds r0, 0x1 - strb r0, [r4, 0xA] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _081194F4 - movs r0, 0x1 - strb r0, [r4, 0x2] - movs r0, 0 - strb r0, [r4, 0x8] - bl sub_811A128 - movs r0, 0x1 - b _0811953A - .pool -_081194F4: - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_8119D30 - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _08119536 - bl sub_811A128 - movs r0, 0x1 - strb r0, [r4, 0xB] - adds r0, r6, 0 - bl GetOppositeDirection - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0811952A - movs r0, 0x6 - strb r0, [r4, 0x8] - movs r0, 0x9 - b _0811953A -_0811952A: - movs r0, 0x2 - strb r0, [r4, 0x2] - movs r0, 0x5 - strb r0, [r4, 0x8] - movs r0, 0x8 - b _0811953A -_08119536: - strb r6, [r5] - movs r0, 0 -_0811953A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeChangingDirection - - thumb_func_start CheckMovementInputAcroBikeStandingWheelie -CheckMovementInputAcroBikeStandingWheelie: @ 8119540 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r1, r0, r1 - movs r0, 0 - strb r0, [r5, 0x2] - movs r0, 0x2 - ands r4, r0 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0 - bne _08119594 - strb r4, [r5, 0xA] - ldrb r0, [r1, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0811959A - strb r6, [r7] - strb r0, [r5, 0x8] - bl sub_811A128 - movs r0, 0x4 - b _081195D8 - .pool -_08119594: - ldrb r0, [r5, 0xA] - adds r0, 0x1 - strb r0, [r5, 0xA] -_0811959A: - ldr r1, =gPlayerAvatar - ldrb r0, [r1, 0xA] - cmp r0, 0x27 - bls _081195B4 - strb r6, [r7] - movs r0, 0x3 - strb r0, [r1, 0x8] - bl sub_811A128 - movs r0, 0x6 - b _081195D8 - .pool -_081195B4: - ldrb r0, [r7] - cmp r0, r6 - bne _081195CA - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_811A128 - movs r0, 0xA - b _081195D8 -_081195CA: - cmp r0, 0 - beq _081195D4 - movs r0, 0x1 - strb r0, [r1, 0x2] - b _081195D6 -_081195D4: - strb r6, [r7] -_081195D6: - movs r0, 0x5 -_081195D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeStandingWheelie - - thumb_func_start CheckMovementInputAcroBikeBunnyHop -CheckMovementInputAcroBikeBunnyHop: @ 81195E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _08119652 - bl sub_811A128 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08119648 - movs r0, 0x2 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r9 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _08119676 - .pool -_08119648: - strb r5, [r6] - strb r0, [r4, 0x2] - strb r0, [r4, 0x8] - movs r0, 0x4 - b _08119676 -_08119652: - ldrb r0, [r6] - cmp r0, 0 - bne _0811965C - strb r5, [r6] - b _08119668 -_0811965C: - cmp r0, r2 - beq _0811966E - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _0811966E - movs r0, 0x1 -_08119668: - strb r0, [r4, 0x2] - movs r0, 0x6 - b _08119676 -_0811966E: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x7 -_08119676: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeBunnyHop - - thumb_func_start CheckMovementInputAcroBikeMovingWheelie -CheckMovementInputAcroBikeMovingWheelie: @ 8119688 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r9, r0 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _08119720 - bl sub_811A128 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0811970C - strb r1, [r4, 0x8] - ldrb r0, [r6] - cmp r0, 0 - bne _081196EC - strb r5, [r6] - b _081196F6 - .pool -_081196EC: - cmp r0, r5 - beq _081196FC - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _081196FC -_081196F6: - strb r1, [r4, 0x2] - movs r0, 0x4 - b _08119750 -_081196FC: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xC - b _08119750 - .pool -_0811970C: - mov r0, r9 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r10 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _08119750 -_08119720: - ldrb r0, [r6] - cmp r0, 0 - bne _08119736 - strb r5, [r6] - mov r1, r9 - strb r1, [r4, 0x8] - strb r0, [r4, 0x2] - bl sub_811A128 - movs r0, 0x5 - b _08119750 -_08119736: - cmp r2, r0 - beq _08119748 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _08119748 - movs r0, 0 - strb r0, [r4, 0x2] - movs r0, 0x5 - b _08119750 -_08119748: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xA -_08119750: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeMovingWheelie - - thumb_func_start CheckMovementInputAcroBikeUnknownMode5 -CheckMovementInputAcroBikeUnknownMode5: @ 8119764 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl FieldObjectSetDirection - movs r0, 0 - strb r0, [r6, 0x8] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeUnknownMode5 - - thumb_func_start CheckMovementInputAcroBikeUnknownMode6 -CheckMovementInputAcroBikeUnknownMode6: @ 81197C0 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gPlayerAvatar - movs r3, 0 - strb r3, [r4, 0x8] - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeUnknownMode6 - - thumb_func_start sub_81197E4 -sub_81197E4: @ 81197E4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end sub_81197E4 - - thumb_func_start sub_81197F4 -sub_81197F4: @ 81197F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811981A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811981A: - adds r0, r4, 0 - bl PlayerFaceDirection - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81197F4 - - thumb_func_start sub_8119830 -sub_8119830: @ 8119830 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119868 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_81197E4 - b _081198BA - .pool -_08119868: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _081198B4 - cmp r4, 0x6 - bne _0811988A - adds r0, r5, 0 - bl PlayerJumpLedge - b _081198BA -_0811988A: - cmp r4, 0x4 - bne _081198A2 - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _081198A2 - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _081198BA -_081198A2: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _081198BA - adds r0, r6, 0 - bl PlayerOnBikeCollide - b _081198BA -_081198B4: - adds r0, r6, 0 - bl PlayerGoSpeed2 -_081198BA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8119830 - - thumb_func_start sub_81198C0 -sub_81198C0: @ 81198C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081198E6 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_081198E6: - adds r0, r4, 0 - bl sub_808B8C0 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81198C0 - - thumb_func_start sub_81198FC -sub_81198FC: @ 81198FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119922 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_08119922: - adds r0, r4, 0 - bl sub_808B8D8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81198FC - - thumb_func_start sub_8119938 -sub_8119938: @ 8119938 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811995E - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811995E: - adds r0, r4, 0 - bl sub_808B8A8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119938 - - thumb_func_start sub_8119974 -sub_8119974: @ 8119974 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811999A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811999A: - adds r0, r4, 0 - bl sub_808B8F0 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119974 - - thumb_func_start sub_81199B0 -sub_81199B0: @ 81199B0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081199E4 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_8119974 - b _08119A1E - .pool -_081199E4: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08119A18 - cmp r1, 0x9 - beq _08119A18 - cmp r1, 0x6 - bne _08119A02 - adds r0, r4, 0 - bl sub_808B938 - b _08119A1E -_08119A02: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08119A1E - cmp r1, 0xB - bhi _08119A18 - adds r0, r4, 0 - bl sub_8119974 - b _08119A1E -_08119A18: - adds r0, r4, 0 - bl sub_808B914 -_08119A1E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81199B0 - - thumb_func_start sub_8119A24 -sub_8119A24: @ 8119A24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _08119A58 - cmp r0, 0x7 - beq _08119A84 - cmp r0, 0x9 - bls _08119A50 - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_8119FC4 - lsls r0, 24 - cmp r0, 0 - bne _08119A58 -_08119A50: - adds r0, r5, 0 - bl sub_81197F4 - b _08119A84 -_08119A58: - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - movs r0, 0x22 - bl PlaySE - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl sub_8093514 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl player_npc_set_state_and_x22_etc -_08119A84: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119A24 - - thumb_func_start sub_8119A94 -sub_8119A94: @ 8119A94 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_808B95C - pop {r0} - bx r0 - thumb_func_end sub_8119A94 - - thumb_func_start sub_8119AA4 -sub_8119AA4: @ 8119AA4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119ADC - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8A8 - b _08119B2C - .pool -_08119ADC: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119B22 - cmp r1, 0x6 - bne _08119AFE - adds r0, r4, 0 - bl sub_808B938 - b _08119B2C -_08119AFE: - cmp r1, 0x9 - beq _08119B12 - cmp r1, 0x4 - bhi _08119B2C - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _08119B1A -_08119B12: - adds r0, r4, 0 - bl sub_808B8A8 - b _08119B2C -_08119B1A: - adds r0, r4, 0 - bl sub_808B980 - b _08119B2C -_08119B22: - adds r0, r6, 0 - bl sub_808B9BC - movs r0, 0x2 - strb r0, [r7, 0x2] -_08119B2C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8119AA4 - - thumb_func_start sub_8119B34 -sub_8119B34: @ 8119B34 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119B6C - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8C0 - b _08119BBC - .pool -_08119B6C: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119BB2 - cmp r1, 0x6 - bne _08119B8E - adds r0, r4, 0 - bl sub_808B938 - b _08119BBC -_08119B8E: - cmp r1, 0x9 - beq _08119BA2 - cmp r1, 0x4 - bhi _08119BBC - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _08119BAA -_08119BA2: - adds r0, r4, 0 - bl sub_808B8A8 - b _08119BBC -_08119BAA: - adds r0, r4, 0 - bl sub_808B980 - b _08119BBC -_08119BB2: - adds r0, r6, 0 - bl sub_808B9A4 - movs r0, 0x2 - strb r0, [r7, 0x2] -_08119BBC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8119B34 - - thumb_func_start sub_8119BC4 -sub_8119BC4: @ 8119BC4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119BFC - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8D8 - b _08119C36 - .pool -_08119BFC: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119C30 - cmp r1, 0x6 - bne _08119C1E - adds r0, r4, 0 - bl PlayerJumpLedge - b _08119C36 -_08119C1E: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08119C36 - adds r0, r4, 0 - bl sub_808B8D8 - b _08119C36 -_08119C30: - adds r0, r6, 0 - bl npc_use_some_d2s -_08119C36: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8119BC4 - - thumb_func_start sub_8119C3C -@ void sub_8119C3C(int buttons_new, int buttons_held) -sub_8119C3C: @ 8119C3C - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r2, r1, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08119C5A - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8119C64 -_08119C5A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119C3C - - thumb_func_start sub_8119C64 -@ void sub_8119C64(int buttons_new, int buttons_held) -sub_8119C64: @ 8119C64 - push {r4,r5,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r5, 0 - bl sub_8119DF8 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, =gPlayerAvatar - ldr r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _08119C90 - ldrb r0, [r4, 0x14] - cmp r0, 0xFE - bhi _08119C9A - adds r0, 0x1 - strb r0, [r4, 0x14] - b _08119C9A - .pool -_08119C90: - adds r0, r2, 0 - bl sub_8119D80 - movs r0, 0 - strb r0, [r4, 0xB] -_08119C9A: - movs r0, 0xF - adds r2, r5, 0 - ands r2, r0 - ldr r4, =gPlayerAvatar - ldr r0, [r4, 0x10] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _08119CBC - ldrb r0, [r4, 0x1C] - cmp r0, 0xFE - bhi _08119CC6 - adds r0, 0x1 - strb r0, [r4, 0x1C] - b _08119CC6 - .pool -_08119CBC: - adds r0, r2, 0 - bl sub_8119DBC - movs r0, 0 - strb r0, [r4, 0xB] -_08119CC6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8119C64 - - thumb_func_start sub_8119CCC -sub_8119CCC: @ 8119CCC - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r2, 0 - ldrb r0, [r3] - cmp r0, 0 - beq _08119CF6 - ldr r5, =gUnknown_020375A4 -_08119CDC: - adds r0, r2, r5 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bhi _08119D0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08119CDC -_08119CF6: - movs r2, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08119D26 - ldr r3, =gUnknown_020375AC -_08119D00: - adds r0, r2, r3 - adds r1, r4, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _08119D18 -_08119D0C: - movs r0, 0 - b _08119D28 - .pool -_08119D18: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08119D00 -_08119D26: - movs r0, 0x1 -_08119D28: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119CCC - - thumb_func_start sub_8119D30 -sub_8119D30: @ 8119D30 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_08119D36: - ldr r0, =gUnknown_085974C0 - adds r4, r5, r0 - ldr r0, =gPlayerAvatar - ldr r1, [r0, 0xC] - ldr r2, [r0, 0x10] - ldr r0, [r4, 0x8] - ands r1, r0 - ldr r0, [r4, 0xC] - ands r2, r0 - ldr r0, [r4] - cmp r1, r0 - bne _08119D70 - ldr r0, [r4, 0x4] - cmp r2, r0 - bne _08119D70 - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x14] - bl sub_8119CCC - lsls r0, 24 - cmp r0, 0 - beq _08119D70 - ldrb r0, [r4, 0x18] - b _08119D7A - .pool -_08119D70: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - bls _08119D36 - movs r0, 0 -_08119D7A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8119D30 - - thumb_func_start sub_8119D80 -sub_8119D80: @ 8119D80 - push {r4,lr} - lsls r0, 24 - ldr r3, =gPlayerAvatar - ldr r2, [r3, 0xC] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0xC] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x14 -_08119D9C: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08119D9C - movs r0, 0x1 - strb r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119D80 - - thumb_func_start sub_8119DBC -sub_8119DBC: @ 8119DBC - push {r4,lr} - lsls r0, 24 - ldr r3, =gPlayerAvatar - ldr r2, [r3, 0x10] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0x10] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x1C -_08119DD8: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08119DD8 - movs r0, 0x1 - strb r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119DBC - - thumb_func_start sub_8119DF8 -sub_8119DF8: @ 8119DF8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08119E0C - movs r0, 0x2 - b _08119E32 -_08119E0C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08119E18 - movs r0, 0x1 - b _08119E32 -_08119E18: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08119E24 - movs r0, 0x3 - b _08119E32 -_08119E24: - movs r0, 0x10 - ands r2, r0 - cmp r2, 0 - bne _08119E30 - movs r0, 0 - b _08119E32 -_08119E30: - movs r0, 0x4 -_08119E32: - pop {r1} - bx r1 - thumb_func_end sub_8119DF8 - - thumb_func_start sub_8119E38 -sub_8119E38: @ 8119E38 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_8119EA4 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8119E38 - - thumb_func_start sub_8119EA4 -sub_8119EA4: @ 8119EA4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - adds r5, r4, 0 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - str r5, [sp] - bl CheckForFieldObjectCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _08119EE4 - cmp r4, 0 - bne _08119EE0 - adds r0, r5, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - beq _08119EDC - movs r4, 0x2 -_08119EDC: - cmp r4, 0 - beq _08119EE4 -_08119EE0: - bl sub_8119F50 -_08119EE4: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119EA4 - - thumb_func_start sub_8119EF0 -sub_8119EF0: @ 8119EF0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _08119F08 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x8 - bne _08119F10 -_08119F08: - movs r0, 0x1 - b _08119F12 - .pool -_08119F10: - movs r0, 0 -_08119F12: - pop {r1} - bx r1 - thumb_func_end sub_8119EF0 - - thumb_func_start IsRunningDisallowedByMetatile -@ bool8 IsRunningDisallowedByMetatile(u8 metatileBehavior) -IsRunningDisallowedByMetatile: @ 8119F18 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsRunningDisallowed - lsls r0, 24 - cmp r0, 0 - bne _08119F42 - adds r0, r4, 0 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - beq _08119F46 - bl PlayerGetZCoord - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _08119F46 -_08119F42: - movs r0, 0x1 - b _08119F48 -_08119F46: - movs r0, 0 -_08119F48: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowedByMetatile - - thumb_func_start sub_8119F50 -sub_8119F50: @ 8119F50 - push {lr} - ldr r0, =gUnknown_0203AB54 - ldrb r0, [r0] - cmp r0, 0 - beq _08119F66 - ldr r1, =gUnknown_0203AB55 - ldrb r0, [r1] - cmp r0, 0x63 - bhi _08119F66 - adds r0, 0x1 - strb r0, [r1] -_08119F66: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119F50 - - thumb_func_start sub_8119F74 -sub_8119F74: @ 8119F74 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0xFD - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08119F9E - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedVerticalRail - lsls r0, 24 - cmp r0, 0 - bne _08119FB6 - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - b _08119FB0 -_08119F9E: - adds r0, r5, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - cmp r0, 0 - bne _08119FB6 - adds r0, r5, 0 - bl MetatileBehavior_IsHorizontalRail -_08119FB0: - lsls r0, 24 - cmp r0, 0 - beq _08119FBA -_08119FB6: - movs r0, 0 - b _08119FBC -_08119FBA: - movs r0, 0x1 -_08119FBC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119F74 - - thumb_func_start sub_8119FC4 -sub_8119FC4: @ 8119FC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - movs r3, 0xFF - lsls r3, 24 - adds r1, r3 - lsrs r1, 24 - cmp r1, 0x1 - bhi _08119FE4 - cmp r0, 0xA - beq _08119FEC - cmp r0, 0xC - bne _08119FF0 - b _08119FEC -_08119FE4: - cmp r2, 0xB - beq _08119FEC - cmp r2, 0xD - bne _08119FF0 -_08119FEC: - movs r0, 0 - b _08119FF2 -_08119FF0: - movs r0, 0x1 -_08119FF2: - pop {r1} - bx r1 - thumb_func_end sub_8119FC4 - - thumb_func_start sub_8119FF8 -sub_8119FF8: @ 8119FF8 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - bne _0811A038 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _0811A038 - movs r0, 0 - b _0811A03A - .pool -_0811A038: - movs r0, 0x1 -_0811A03A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8119FF8 - - thumb_func_start player_should_look_direction_be_enforced_upon_movement -player_should_look_direction_be_enforced_upon_movement: @ 811A044 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0811A078 - ldr r2, =gMapObjects - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _0811A078 - movs r0, 0 - b _0811A07A - .pool -_0811A078: - movs r0, 0x1 -_0811A07A: - pop {r1} - bx r1 - thumb_func_end player_should_look_direction_be_enforced_upon_movement - - thumb_func_start GetOnOffBike -@ void GetOnOffBike(u8 transitionFlags) -GetOnOffBike: @ 811A080 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gUnknown_02037348 - movs r0, 0 - strb r0, [r1] - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0811A0B0 - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - bl sav1_reset_battle_music_maybe - bl sub_8085784 - b _0811A0C4 - .pool -_0811A0B0: - adds r0, r2, 0 - bl SetPlayerAvatarTransitionFlags - ldr r4, =0x00000193 - adds r0, r4, 0 - bl Overworld_SetSavedMusic - adds r0, r4, 0 - bl Overworld_ChangeMusicTo -_0811A0C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetOnOffBike - - thumb_func_start sub_811A0D0 -sub_811A0D0: @ 811A0D0 - push {lr} - ldr r2, =gPlayerAvatar - movs r3, 0 - strb r3, [r2, 0x8] - strb r3, [r2, 0x9] - strb r3, [r2, 0xA] - strb r3, [r2, 0xB] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - movs r1, 0 - adds r2, 0x14 -_0811A0E6: - adds r0, r1, r2 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0811A0E6 - movs r1, 0 - ldr r3, =gUnknown_020375AC - movs r2, 0 -_0811A0FA: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0811A0FA - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A0D0 - - thumb_func_start sub_811A114 -sub_811A114: @ 811A114 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPlayerAvatar - strb r0, [r2, 0xA] - lsrs r1, r0, 1 - adds r0, r1 - strb r0, [r2, 0xB] - bx lr - .pool - thumb_func_end sub_811A114 - - thumb_func_start sub_811A128 -sub_811A128: @ 811A128 - ldr r1, =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - bx lr - .pool - thumb_func_end sub_811A128 - - thumb_func_start sub_811A138 -sub_811A138: @ 811A138 - push {lr} - sub sp, 0x8 - ldr r1, =gUnknown_085974B8 - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r2, =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811A168 - ldrb r0, [r2, 0xA] - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - b _0811A182 - .pool -_0811A168: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A174 - movs r0, 0x3 - b _0811A182 -_0811A174: - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _0811A180 - movs r0, 0x1 - b _0811A182 -_0811A180: - movs r0, 0x2 -_0811A182: - add sp, 0x8 - pop {r1} - bx r1 - thumb_func_end sub_811A138 - - thumb_func_start sub_811A188 -sub_811A188: @ 811A188 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, =gPlayerAvatar - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A1D0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _0811A1D0 - movs r0, 0x2 - strb r0, [r5, 0x8] - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - bl sub_808C1B4 -_0811A1D0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A188 - - thumb_func_start IsRunningDisallowed -@ bool8 IsRunningDisallowed(u8 metatileBehavior) -IsRunningDisallowed: @ 811A1DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A1FC - adds r0, r2, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0811A204 -_0811A1FC: - movs r0, 0x1 - b _0811A206 - .pool -_0811A204: - movs r0, 0 -_0811A206: - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowed - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/birch_pc.s b/asm/birch_pc.s new file mode 100644 index 000000000..6665d9beb --- /dev/null +++ b/asm/birch_pc.s @@ -0,0 +1,234 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start ScriptGetPokedexInfo +ScriptGetPokedexInfo: @ 8137A4C + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08137A70 + movs r0, 0 + bl sub_80C0844 + ldr r1, =gSpecialVar_0x8005 + strh r0, [r1] + movs r0, 0x1 + bl sub_80C0844 + b _08137A80 + .pool +_08137A70: + movs r0, 0 + bl pokedex_count + ldr r1, =gSpecialVar_0x8005 + strh r0, [r1] + movs r0, 0x1 + bl pokedex_count +_08137A80: + ldr r1, =gSpecialVar_0x8006 + strh r0, [r1] + bl IsNationalPokedexEnabled + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .pool + thumb_func_end ScriptGetPokedexInfo + + thumb_func_start GetPokedexRatingText +GetPokedexRatingText: @ 8137A98 + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x9 + bhi _08137AA4 + b _08137BFC +_08137AA4: + cmp r0, 0x13 + bhi _08137AB0 + ldr r0, =gUnknown_082A5DAB + b _08137C06 + .pool +_08137AB0: + cmp r0, 0x1D + bhi _08137ABC + ldr r0, =gUnknown_082A5DF1 + b _08137C06 + .pool +_08137ABC: + cmp r0, 0x27 + bhi _08137AC8 + ldr r0, =gUnknown_082A5E34 + b _08137C06 + .pool +_08137AC8: + cmp r0, 0x31 + bhi _08137AD4 + ldr r0, =gUnknown_082A5E83 + b _08137C06 + .pool +_08137AD4: + cmp r0, 0x3B + bhi _08137AE0 + ldr r0, =gUnknown_082A5EB9 + b _08137C06 + .pool +_08137AE0: + cmp r0, 0x45 + bhi _08137AEC + ldr r0, =gUnknown_082A5EF4 + b _08137C06 + .pool +_08137AEC: + cmp r0, 0x4F + bhi _08137AF8 + ldr r0, =gUnknown_082A5F39 + b _08137C06 + .pool +_08137AF8: + cmp r0, 0x59 + bhi _08137B04 + ldr r0, =gUnknown_082A5F82 + b _08137C06 + .pool +_08137B04: + cmp r0, 0x63 + bhi _08137B10 + ldr r0, =gUnknown_082A5FB9 + b _08137C06 + .pool +_08137B10: + cmp r0, 0x6D + bhi _08137B1C + ldr r0, =gUnknown_082A6018 + b _08137C06 + .pool +_08137B1C: + cmp r0, 0x77 + bhi _08137B28 + ldr r0, =gUnknown_082A6061 + b _08137C06 + .pool +_08137B28: + cmp r0, 0x81 + bhi _08137B34 + ldr r0, =gUnknown_082A609C + b _08137C06 + .pool +_08137B34: + cmp r0, 0x8B + bhi _08137B40 + ldr r0, =gUnknown_082A60D5 + b _08137C06 + .pool +_08137B40: + cmp r0, 0x95 + bhi _08137B4C + ldr r0, =gUnknown_082A6124 + b _08137C06 + .pool +_08137B4C: + cmp r0, 0x9F + bhi _08137B58 + ldr r0, =gUnknown_082A616F + b _08137C06 + .pool +_08137B58: + cmp r0, 0xA9 + bhi _08137B64 + ldr r0, =gUnknown_082A61D6 + b _08137C06 + .pool +_08137B64: + cmp r0, 0xB3 + bhi _08137B70 + ldr r0, =gUnknown_082A623A + b _08137C06 + .pool +_08137B70: + cmp r0, 0xBD + bhi _08137B7C + ldr r0, =gUnknown_082A6287 + b _08137C06 + .pool +_08137B7C: + cmp r0, 0xC7 + bls _08137BEA + cmp r0, 0xC8 + bne _08137BB8 + ldr r0, =0x00000199 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + bne _08137BEA + movs r0, 0xCD + lsls r0, 1 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + bne _08137BEA + b _08137C04 + .pool +_08137BB8: + cmp r0, 0xC9 + bne _08137BF8 + ldr r0, =0x00000199 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + beq _08137C04 + movs r0, 0xCD + lsls r0, 1 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + beq _08137C04 +_08137BEA: + ldr r0, =gUnknown_082A62C9 + b _08137C06 + .pool +_08137BF8: + cmp r0, 0xCA + beq _08137C04 +_08137BFC: + ldr r0, =gUnknown_082A5D6C + b _08137C06 + .pool +_08137C04: + ldr r0, =gUnknown_082A6312 +_08137C06: + pop {r1} + bx r1 + .pool + thumb_func_end GetPokedexRatingText + + thumb_func_start ShowPokedexRatingMessage +ShowPokedexRatingMessage: @ 8137C10 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + bl GetPokedexRatingText + bl ShowFieldMessage + pop {r0} + bx r0 + .pool + thumb_func_end ShowPokedexRatingMessage diff --git a/asm/cable_car.s b/asm/cable_car.s index 092e9a75e..6fd44dd9f 100644 --- a/asm/cable_car.s +++ b/asm/cable_car.s @@ -88,7 +88,7 @@ _0814FD20: bl SetVBlankCallback movs r0, 0 bl sub_8150B6C - bl remove_some_task + bl ScanlineEffect_Stop movs r3, 0xC0 lsls r3, 19 movs r4, 0xC0 diff --git a/asm/cable_club.s b/asm/cable_club.s index c9f15ef47..808829c9a 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -178,7 +178,7 @@ _080B24C8: b _080B24F2 _080B24CC: ldr r4, =gStringVar1 - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -239,12 +239,12 @@ sub_80B252C: @ 80B252C ands r0, r1 cmp r0, 0 beq _080B2570 - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 bne _080B2570 - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType strh r1, [r0] ldr r1, =gTasks lsls r0, r4, 2 @@ -269,7 +269,7 @@ sub_80B2578: @ 80B2578 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 cmp r0, 0 beq _080B258E @@ -286,7 +286,7 @@ _080B258E: b _080B25BA .pool _080B25A4: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType movs r0, 0 strh r0, [r1] ldr r1, =gTasks @@ -404,7 +404,7 @@ sub_80B2688: @ 80B2688 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 @@ -426,14 +426,14 @@ sub_80B2688: @ 80B2688 adds r4, r0, r1 movs r0, 0 strh r0, [r4, 0xE] - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080B26EC movs r0, 0x15 bl PlaySE - ldr r0, =gUnknown_082780B3 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3 bl ShowFieldAutoScrollMessage ldr r0, =sub_80B270C b _080B26FA @@ -441,7 +441,7 @@ sub_80B2688: @ 80B2688 _080B26EC: movs r0, 0x16 bl PlaySE - ldr r0, =gUnknown_08278131 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_278131 bl ShowFieldAutoScrollMessage ldr r0, =sub_80B2918 _080B26FA: @@ -506,7 +506,7 @@ sub_80B275C: @ 80B275C mov r9, r0 mov r7, r8 add r7, r9 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 @@ -544,7 +544,7 @@ sub_80B275C: @ 80B275C movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_082780F2 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780F2 bl ShowFieldAutoScrollMessage mov r0, r9 subs r0, 0x8 @@ -585,7 +585,7 @@ sub_80B2804: @ 80B2804 bne _080B2898 bl sub_800AA48 adds r4, r0, 0 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -597,7 +597,7 @@ sub_80B2804: @ 80B2804 cmp r0, 0 beq _080B2878 _080B2852: - ldr r0, =gUnknown_082780B3 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3 bl ShowFieldAutoScrollMessage ldr r1, =gTasks lsls r0, r5, 2 @@ -652,7 +652,7 @@ sub_80B28A8: @ 80B28A8 lsrs r0, 24 cmp r0, 0x1 beq _080B290A - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 @@ -663,7 +663,7 @@ sub_80B28A8: @ 80B28A8 b _080B2908 .pool _080B28F4: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result adds r0, r7, 0 adds r1, r6, 0 bl sub_80B2478 @@ -703,7 +703,7 @@ sub_80B2918: @ 80B2918 bl sub_80B24F8 cmp r0, 0x1 beq _080B29E6 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result adds r0, r6, 0 adds r1, r5, 0 bl sub_80B2478 @@ -729,13 +729,13 @@ _080B297C: cmp r2, 0x9 bne _080B2994 _080B2984: - bl sub_80097E8 + bl CloseLink bl HideFieldMessageBox ldr r0, =sub_80B2CB0 b _080B29E4 .pool _080B2994: - bl sub_800ABAC + bl GetLinkPlayerCount_2 ldr r4, =gUnknown_03005DB8 strb r0, [r4] bl GetMultiplayerId @@ -743,7 +743,7 @@ _080B2994: strb r0, [r1] ldrb r0, [r4] bl sub_800AA04 - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer adds r0, r4, 0 bl sub_80C30A4 ldr r0, =gUnknown_0203CEF8 @@ -791,7 +791,7 @@ sub_80B2A08: @ 80B2A08 bl sub_80B24F8 cmp r0, 0x1 beq _080B2ACE - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x4 bne _080B2A38 @@ -812,7 +812,7 @@ _080B2A42: cmp r0, 0x9 bne _080B2A6C _080B2A4A: - bl sub_80097E8 + bl CloseLink _080B2A4E: bl HideFieldMessageBox ldr r0, =gTasks @@ -825,7 +825,7 @@ _080B2A4E: b _080B2ACE .pool _080B2A6C: - bl sub_800ABAC + bl GetLinkPlayerCount_2 ldr r4, =gUnknown_03005DB8 strb r0, [r4] bl GetMultiplayerId @@ -833,7 +833,7 @@ _080B2A6C: strb r0, [r1] ldrb r0, [r4] bl sub_800AA04 - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer adds r0, r4, 0 bl sub_80C30A4 ldr r0, =gUnknown_0203CEF8 @@ -964,7 +964,7 @@ task_map_chg_seq_0807EC34: @ 80B2B94 ldrh r0, [r5] cmp r0, 0x1 bne _080B2C10 - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType ldrh r2, [r0] ldr r0, =0x00002266 cmp r2, r0 @@ -1067,7 +1067,7 @@ _080B2C7E: movs r0, 0 bl sub_800B330 bl ResetBlockReceivedFlags - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result adds r1, r5, 0 bl task_map_chg_seq_0807EC34 _080B2C9C: @@ -1111,7 +1111,7 @@ sub_80B2CEC: @ 80B2CEC adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] ldr r0, =gTasks @@ -1139,7 +1139,7 @@ sub_80B2D2C: @ 80B2D2C adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x6 strh r0, [r1] ldr r0, =gTasks @@ -1215,20 +1215,20 @@ _080B2DC0: b _080B2E34 _080B2DCA: movs r3, 0x2 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002233 b _080B2E30 .pool _080B2DDC: movs r3, 0x2 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002244 b _080B2E30 .pool _080B2DEC: movs r3, 0x4 movs r2, 0x4 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002255 b _080B2E30 .pool @@ -1243,12 +1243,12 @@ _080B2E00: ands r0, r1 cmp r0, 0 bne _080B2E2C - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002266 b _080B2E30 .pool _080B2E2C: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002277 _080B2E30: adds r0, r4, 0 @@ -1266,7 +1266,7 @@ _080B2E34: thumb_func_start sub_80B2E4C sub_80B2E4C: @ 80B2E4C push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001133 adds r0, r2, 0 strh r0, [r1] @@ -1284,10 +1284,10 @@ sub_80B2E4C: @ 80B2E4C thumb_func_start sub_80B2E74 sub_80B2E74: @ 80B2E74 push {lr} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00003311 adds r0, r2, 0 strh r0, [r1] @@ -1353,7 +1353,7 @@ sub_80B2EE4: @ 80B2EE4 b _080B2FC6 .pool _080B2F0C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x1 bne _080B2FA8 @@ -1415,7 +1415,7 @@ _080B2F74: _080B2F82: cmp r7, 0 beq _080B2FA8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xC strh r0, [r1] bl sub_800AD10 @@ -1454,7 +1454,7 @@ _080B2FC6: thumb_func_start sub_80B2FD8 sub_80B2FD8: @ 80B2FD8 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00004411 adds r0, r2, 0 strh r0, [r1] @@ -1472,7 +1472,7 @@ sub_80B2FD8: @ 80B2FD8 thumb_func_start sub_80B3000 sub_80B3000: @ 80B3000 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00006601 adds r0, r2, 0 strh r0, [r1] @@ -1490,7 +1490,7 @@ sub_80B3000: @ 80B3000 thumb_func_start sub_80B3028 sub_80B3028: @ 80B3028 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00006602 adds r0, r2, 0 strh r0, [r1] @@ -1540,17 +1540,17 @@ _080B3084: .4byte _080B3128 .4byte _080B30D8 _080B30A8: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002233 b _080B3124 .pool _080B30B8: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002244 b _080B3124 .pool _080B30C8: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002255 b _080B3124 .pool @@ -1564,22 +1564,22 @@ _080B30D8: ands r0, r1 cmp r0, 0 bne _080B3100 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002266 b _080B3124 .pool _080B3100: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002277 b _080B3124 .pool _080B3110: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001111 b _080B3124 .pool _080B3120: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00003322 _080B3124: adds r0, r2, 0 @@ -1610,7 +1610,7 @@ sub_80B3144: @ 80B3144 ldrsh r2, [r4, r3] cmp r2, 0 bne _080B3178 - bl sub_8009734 + bl OpenLink bl sub_800A2BC ldr r0, =task00_08081A90 movs r1, 0x50 @@ -1640,12 +1640,12 @@ sub_80B3194: @ 80B3194 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bls _080B31DA - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1681,7 +1681,7 @@ sub_80B31E8: @ 80B31E8 lsrs r5, r0, 24 bl sub_800AA48 adds r4, r0, 0 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -1808,8 +1808,8 @@ _080B32E0: _080B32F8: movs r0, 0x1 movs r1, 0 - bl fade_screen - ldr r1, =gUnknown_020229C6 + bl FadeScreen + ldr r1, =gLinkType ldr r2, =0x00002211 adds r0, r2, 0 strh r0, [r1] @@ -1921,8 +1921,8 @@ _080B33E8: _080B3408: movs r0, 0x1 movs r1, 0 - bl fade_screen - ldr r0, =gUnknown_020229C6 + bl FadeScreen + ldr r0, =gLinkType ldr r2, =0x00002211 adds r1, r2, 0 strh r1, [r0] @@ -2296,7 +2296,7 @@ _080B3750: beq _080B37B8 b _080B37CC _080B375A: - ldr r0, =gUnknown_08278091 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_278091 bl ShowFieldMessage movs r0, 0x1 strh r0, [r5, 0x8] @@ -2399,7 +2399,7 @@ _080B382E: bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl sub_8009FAC b _080B3864 _080B3840: @@ -2470,7 +2470,7 @@ _080B38C6: bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl Rfu_set_zero b _080B38FC _080B38D8: @@ -2548,7 +2548,7 @@ nullsub_37: @ 80B3964 thumb_func_start sub_80B3968 sub_80B3968: @ 80B3968 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002211 adds r0, r2, 0 strh r0, [r1] @@ -2651,7 +2651,7 @@ task00_08081A90: @ 80B3A30 lsls r0, 17 cmp r1, r0 ble _080B3A62 - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 adds r0, r4, 0 @@ -2669,7 +2669,7 @@ _080B3A62: lsls r0, 24 cmp r0, 0 bne _080B3A86 - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 _080B3A86: @@ -2761,7 +2761,7 @@ _080B3B2A: b _080B3BB8 .pool _080B3B40: - bl sub_8009734 + bl OpenLink ldr r0, =task00_08081A90 movs r1, 0x1 bl CreateTask @@ -2779,14 +2779,14 @@ _080B3B54: strh r0, [r5, 0x2] b _080B3B96 _080B3B68: - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 lsls r0, 24 cmp r4, r0 bcc _080B3BB8 - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _080B3B96 @@ -2829,7 +2829,7 @@ sub_80B3BC4: @ 80B3BC4 ldrb r0, [r0] cmp r0, 0 bne _080B3BD6 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002288 adds r0, r2, 0 strh r0, [r1] diff --git a/asm/clock.s b/asm/clock.s deleted file mode 100644 index 5d771a8b6..000000000 --- a/asm/clock.s +++ /dev/null @@ -1,175 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809E778 -sub_809E778: @ 809E778 - push {lr} - ldr r0, =0x00000895 - bl FlagSet - bl RtcCalcLocalTime - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - adds r2, 0xA0 - ldr r3, =gLocalTime - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, =0x00004040 - ldrh r1, [r3] - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E778 - - thumb_func_start DoTimeBasedEvents -DoTimeBasedEvents: @ 809E7B0 - push {r4,lr} - ldr r0, =0x00000895 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0809E7DA - bl sub_813B9C0 - lsls r0, 24 - cmp r0, 0 - bne _0809E7DA - bl RtcCalcLocalTime - ldr r4, =gLocalTime - adds r0, r4, 0 - bl sub_809E7E8 - adds r0, r4, 0 - bl sub_809E858 -_0809E7DA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoTimeBasedEvents - - thumb_func_start sub_809E7E8 -sub_809E7E8: @ 809E7E8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =0x00004040 - bl GetVarPointer - adds r6, r0, 0 - ldrh r0, [r6] - movs r2, 0 - ldrsh r1, [r5, r2] - cmp r0, r1 - beq _0809E84E - cmp r0, r1 - bgt _0809E84E - ldrh r4, [r5] - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - bl ClearUpperFlags - adds r0, r4, 0 - bl sub_8122580 - adds r0, r4, 0 - bl sub_80ED888 - adds r0, r4, 0 - bl sub_80AEFBC - adds r0, r4, 0 - bl UpdatePartyPokerusTime - adds r0, r4, 0 - bl sub_8137904 - adds r0, r4, 0 - bl sub_8137A20 - adds r0, r4, 0 - bl sub_8139EF4 - adds r0, r4, 0 - bl sub_813A7F4 - adds r0, r4, 0 - bl sub_813945C - adds r0, r4, 0 - bl SetRandomLotteryNumber - ldrh r0, [r5] - strh r0, [r6] -_0809E84E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E7E8 - - thumb_func_start sub_809E858 -sub_809E858: @ 809E858 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - mov r4, sp - ldr r6, =gSaveBlock2Ptr - ldr r1, [r6] - adds r1, 0xA0 - mov r0, sp - adds r2, r5, 0 - bl CalcTimeDifference - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - movs r2, 0x2 - ldrsb r2, [r4, r2] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 2 - adds r1, r0 - movs r0, 0x3 - ldrsb r0, [r4, r0] - adds r0, r1, r0 - cmp r0, 0 - beq _0809E8A8 - cmp r0, 0 - blt _0809E8A8 - bl BerryTreeTimeUpdate - ldr r2, [r6] - adds r2, 0xA0 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] -_0809E8A8: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E858 - - thumb_func_start sub_809E8B4 -sub_809E8B4: @ 809E8B4 - push {lr} - bl sub_809E778 - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E8B4 - - thumb_func_start Special_StartWallClock -Special_StartWallClock: @ 809E8C8 - push {lr} - ldr r0, =Cb2_StartWallClock - bl SetMainCallback2 - ldr r1, =gMain - ldr r0, =sub_809E8B4 - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end Special_StartWallClock - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/coins.s b/asm/coins.s deleted file mode 100644 index d2b6cbb47..000000000 --- a/asm/coins.s +++ /dev/null @@ -1,74 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GiveCoins -@ bool8 GiveCoins(u16 toAdd) -GiveCoins: @ 8145C80 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCoins - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x0000270e - cmp r1, r0 - bls _08145C9C - movs r0, 0 - b _08145CC0 - .pool -_08145C9C: - adds r0, r1, r4 - cmp r1, r0 - ble _08145CAC - ldr r0, =0x0000270f - b _08145CBA - .pool -_08145CAC: - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x0000270f - cmp r1, r0 - bls _08145CB8 - adds r1, r0, 0 -_08145CB8: - adds r0, r1, 0 -_08145CBA: - bl SetCoins - movs r0, 0x1 -_08145CC0: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GiveCoins - - thumb_func_start TakeCoins -@ bool8 TakeCoins(u16 toSub) -TakeCoins: @ 8145CCC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcs _08145CE2 - movs r0, 0 - b _08145CEE -_08145CE2: - subs r0, r4 - lsls r0, 16 - lsrs r0, 16 - bl SetCoins - movs r0, 0x1 -_08145CEE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end TakeCoins - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest.s b/asm/contest.s index 9c0684663..87abc1d06 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -563,7 +563,7 @@ _080D7B4E: bl sub_80D779C bl sub_80D77E4 bl sub_80D7678 - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl ResetPaletteFade ldr r2, =gPaletteFade ldrb r0, [r2, 0x8] @@ -1048,7 +1048,7 @@ _080D8004: bl sub_80DC594 bl sub_80DC5E8 bl sub_80DC7EC - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions strb r4, [r1] movs r0, 0x1 strb r0, [r1, 0x1] @@ -1058,12 +1058,12 @@ _080D8004: strb r2, [r1, 0x3] ldr r0, =gBattleTypeFlags str r4, [r0] - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker strb r2, [r4] - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget strb r3, [r0] bl sub_80DB0C4 - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds ldrb r1, [r4] adds r1, r2 strb r0, [r1] @@ -1367,7 +1367,7 @@ vblank_cb_battle: @ 80D827C bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .pool @@ -1416,13 +1416,13 @@ sub_80D833C: @ 80D833C cmp r0, 0 bne _080D83CC ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D507 + ldr r1, =gText_0827D507 bl StringCopy b _080D83D4 .pool _080D83CC: ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D531 + ldr r1, =gText_0827D531 bl StringCopy _080D83D4: bl sub_80DB89C @@ -1753,13 +1753,13 @@ _080D868E: cmp r0, 0 bne _080D86DC ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D507 + ldr r1, =gText_0827D507 bl StringCopy b _080D86E4 .pool _080D86DC: ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D531 + ldr r1, =gText_0827D531 bl StringCopy _080D86E4: bl sub_80DB89C @@ -2547,8 +2547,8 @@ _080D8DD0: lsls r4, 3 adds r4, r0 strh r5, [r4, 0xC] - ldr r1, =gBankSpriteIds - ldr r0, =gBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattlerAttacker ldrb r0, [r0] adds r0, r1 strb r5, [r0] @@ -2655,7 +2655,7 @@ _080D8F38: bl StringCopy _080D8F48: ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827D55A + ldr r1, =gText_0827D55A adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -3566,7 +3566,7 @@ _080D96D4: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E793 + ldr r1, =gText_0827E793 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -3638,20 +3638,20 @@ _080D9774: asrs r0, r4, 24 cmp r0, 0x1 bne _080D97A0 - ldr r0, =gUnknown_0827E32E + ldr r0, =gText_0827E32E b _080D97A6 .pool _080D97A0: cmp r0, 0x2 bne _080D97B4 - ldr r0, =gUnknown_0827E35B + ldr r0, =gText_0827E35B _080D97A6: movs r1, 0x1 bl sub_80DEC30 b _080D97BC .pool _080D97B4: - ldr r0, =gUnknown_0827E38D + ldr r0, =gText_0827E38D movs r1, 0x1 bl sub_80DEC30 _080D97BC: @@ -3675,7 +3675,7 @@ _080D97DC: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E2FE + ldr r1, =gText_0827E2FE adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -3813,7 +3813,7 @@ _080D9904: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E6E3 + ldr r1, =gText_0827E6E3 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4043,7 +4043,7 @@ _080D9B30: cmp r3, 0 bge _080D9B48 ldr r0, =gStringVar4 - ldr r1, =gUnknown_0827E73C + ldr r1, =gText_0827E73C bl StringExpandPlaceholders b _080D9B74 .pool @@ -4058,13 +4058,13 @@ _080D9B48: cmp r0, 0x4 bgt _080D9B6C ldr r0, =gStringVar4 - ldr r1, =gUnknown_0827E717 + ldr r1, =gText_0827E717 bl StringExpandPlaceholders b _080D9B74 .pool _080D9B6C: ldr r0, =gStringVar4 - ldr r1, =gUnknown_0827E76A + ldr r1, =gText_0827E76A bl StringExpandPlaceholders _080D9B74: ldr r0, =gStringVar4 @@ -4402,7 +4402,7 @@ _080D9DD4: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E7EA + ldr r1, =gText_0827E7EA adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4426,7 +4426,7 @@ _080D9E60: _080D9E6A: bl sub_80DB89C ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E817 + ldr r1, =gText_0827E817 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4491,7 +4491,7 @@ _080D9EDC: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E58A + ldr r1, =gText_0827E58A adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4630,7 +4630,7 @@ _080DA038: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827D56F + ldr r1, =gText_0827D56F adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -5373,7 +5373,7 @@ _080DA668: ldr r0, [r0] str r0, [r1] ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827D597 + ldr r1, =gText_0827D597 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -6313,7 +6313,7 @@ _080DAE1E: movs r0, 0x4 b _080DAE9A _080DAE2E: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DAE82 @@ -6358,7 +6358,7 @@ _080DAE82: movs r0, 0 b _080DAE9A _080DAE86: - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank adds r2, r1, 0 ldrh r1, [r0] movs r0, 0x2 @@ -6652,12 +6652,12 @@ sub_80DB0C4: @ 80DB0C4 push {r4,r5,lr} ldr r0, =gUnknown_08587C00 bl LoadCompressedObjectPic - ldr r0, =gUnknown_08C1C6B8 + ldr r0, =gContest2Pal movs r1, 0x88 lsls r1, 1 movs r2, 0x20 bl LoadCompressedPalette - ldr r0, =gUnknown_08587BE8 + ldr r0, =gSpriteTemplate_8587BE8 movs r1, 0x70 movs r2, 0x24 movs r3, 0x1E @@ -6692,7 +6692,7 @@ sub_80DB120: @ 80DB120 bl LoadCompressedObjectPic ldr r0, =gUnknown_08587C10 bl LoadCompressedObjectPalette - ldr r0, =gUnknown_08587C18 + ldr r0, =gSpriteTemplate_8587C18 movs r1, 0x60 movs r2, 0xA movs r3, 0x1D @@ -6763,7 +6763,7 @@ _080DB1CC: adds r0, r5, 0 adds r1, r7, 0 adds r2, r6, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality movs r1, 0x90 lsls r1, 1 movs r2, 0x20 @@ -8456,7 +8456,7 @@ sub_80DBED4: @ 80DBED4 adds r0, r1 ldrb r1, [r0] lsls r1, 1 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] lsls r0, 3 adds r1, r0 @@ -8891,7 +8891,7 @@ _080DC226: ble _080DC284 movs r0, 0x60 bl PlaySE - ldr r4, =gMPlay_SE1 + ldr r4, =gMPlayInfo_SE1 adds r0, r4, 0 bl m4aMPlayImmInit ldr r1, =0x0000ffff @@ -8946,7 +8946,7 @@ _080DC2C8: ldrb r0, [r0] adds r0, r5 ldrb r2, [r0] - ldr r0, =gUnknown_08587AD0 + ldr r0, =gSpriteTemplate_8587AD0 movs r1, 0xB4 movs r3, 0x1 bl CreateSprite @@ -9240,7 +9240,7 @@ _080DC506: ldr r1, =gUnknown_08587AE8 adds r0, r1 bl LoadCompressedObjectPic - ldr r0, =gUnknown_08587B18 + ldr r0, =gSpriteTemplate_8587B18 adds r0, r6, r0 ldr r2, =gUnknown_08587A70 ldr r1, =gUnknown_02039F26 @@ -9264,7 +9264,7 @@ _080DC506: adds r0, r1 lsls r0, 2 add r0, r8 - ldr r1, =gUnknown_08587B80 + ldr r1, =gSubspriteTables_8587B80 bl SetSubspriteTables ldr r0, [r7] ldr r0, [r0, 0x14] @@ -9298,7 +9298,7 @@ sub_80DC594: @ 80DC594 bl LoadCompressedObjectPic ldr r0, =gUnknown_08587BB8 bl LoadSpritePalette - ldr r0, =gUnknown_08587BC8 + ldr r0, =gSpriteTemplate_8587BC8 movs r1, 0x1E movs r2, 0x2C movs r3, 0x1 @@ -9877,7 +9877,7 @@ sub_80DC9EC: @ 80DC9EC lsls r4, r2, 1 adds r4, r2 lsls r4, 3 - ldr r0, =gUnknown_0858998C + ldr r0, =gSpriteTemplate_858998C adds r4, r0 adds r0, r4, 0 movs r1, 0xB8 @@ -11207,7 +11207,7 @@ sub_80DD45C: @ 80DD45C cmp r1, 0 bne _080DD4DC ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E837 + ldr r1, =gText_0827E837 bl StringCopy b _080DD52C .pool @@ -11216,7 +11216,7 @@ _080DD4DC: cmp r0, 0x1 bne _080DD4F4 ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E83F + ldr r1, =gText_0827E83F bl StringCopy b _080DD52C .pool @@ -11225,7 +11225,7 @@ _080DD4F4: cmp r0, 0x2 bne _080DD50C ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E847 + ldr r1, =gText_0827E847 bl StringCopy b _080DD52C .pool @@ -11234,13 +11234,13 @@ _080DD50C: cmp r0, 0x3 bne _080DD524 ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E850 + ldr r1, =gText_0827E850 bl StringCopy b _080DD52C .pool _080DD524: ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E85A + ldr r1, =gText_0827E85A bl StringCopy _080DD52C: ldr r4, =gStringVar4 @@ -11731,7 +11731,7 @@ _080DD956: ldr r1, [r0] movs r0, 0x13 ldrsb r0, [r1, r0] - ldr r4, =gUnknown_08D8EC24 + ldr r4, =gContestApplauseMeterGfx cmp r5, r0 bge _080DD966 adds r4, 0x40 @@ -11805,7 +11805,7 @@ sub_80DD9F0: @ 80DD9F0 ldrb r1, [r0, 0x1] lsls r1, 29 lsrs r1, 29 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r2, [r0] lsls r0, r2, 2 adds r0, r2 @@ -13796,9 +13796,9 @@ sub_80DEA20: @ 80DEA20 push {lr} ldr r0, =SpriteCallbackDummy bl CreateInvisibleSpriteWithCallback - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds strb r0, [r1, 0x3] - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -13817,7 +13817,7 @@ sub_80DEA20: @ 80DEA20 thumb_func_start sub_80DEA5C sub_80DEA5C: @ 80DEA5C push {r4,lr} - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds ldrb r0, [r0, 0x3] lsls r4, r0, 4 adds r4, r0 @@ -13829,13 +13829,13 @@ sub_80DEA5C: @ 80DEA5C strh r0, [r4, 0x26] movs r0, 0x3 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] movs r0, 0x3 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -13905,12 +13905,12 @@ _080DEAD0: .4byte _080DEB60 .4byte _080DEB60 _080DEB54: - ldr r1, =gBankTarget + ldr r1, =gBattlerTarget movs r0, 0x2 b _080DEB64 .pool _080DEB60: - ldr r1, =gBankTarget + ldr r1, =gBattlerTarget movs r0, 0x3 _080DEB64: strb r0, [r1] @@ -14067,7 +14067,7 @@ _080DEC80: b _080DEC9C .pool _080DEC94: - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r1, r0, 24 _080DEC9C: @@ -14260,7 +14260,7 @@ _080DEDE6: b _080DEF90 .pool _080DEE00: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DEE4C @@ -14369,7 +14369,7 @@ _080DEEF4: mov r2, r10 ldr r0, [r2] adds r0, r7 - ldr r1, =gUnknown_02039F2E + ldr r1, =gSpecialVar_ContestRank ldrh r1, [r1] ldr r3, =0x00002eae adds r0, r3 @@ -14383,7 +14383,7 @@ _080DEF02: mov r2, r9 lsls r1, r2, 5 adds r0, r1 - ldr r1, =gScriptContestCategory + ldr r1, =gSpecialVar_ContestCategory ldrh r1, [r1] ldr r3, =0x00002e9a adds r0, r3 @@ -14485,7 +14485,7 @@ _080DEFE6: b _080DF03A .pool _080DEFF8: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DF038 diff --git a/asm/contest_ai.s b/asm/contest_ai.s index a213c393c..3438107eb 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -1352,7 +1352,7 @@ sub_8156CF4: @ 8156CF4 ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0xC] - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] strh r0, [r1, 0x18] ldr r1, =gAIScriptPtr diff --git a/asm/contest_effect.s b/asm/contest_effect.s index f3c234503..65a720a65 100644 --- a/asm/contest_effect.s +++ b/asm/contest_effect.s @@ -2590,7 +2590,7 @@ ContestEffectFunc_080E6778: @ 80E6778 adds r0, r3 ldrb r0, [r0, 0x1] lsls r0, 29 - ldr r1, =gScriptContestCategory + ldr r1, =gSpecialVar_ContestCategory lsrs r0, 29 ldrh r1, [r1] cmp r0, r1 diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index e6d30b7cb..e73c657a9 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -344,7 +344,7 @@ sub_80F5B00: @ 80F5B00 bl SetVBlankCallback bl sub_80F7DF4 bl sub_80F57C4 - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl ResetPaletteFade bl ResetSpriteData bl ResetTasks @@ -492,7 +492,7 @@ sub_80F5C24: @ 80F5C24 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .pool @@ -548,7 +548,7 @@ _080F5D2A: movs r0, 0x8 strh r0, [r1] bl InterviewBefore - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x1 beq _080F5D58 @@ -556,7 +556,7 @@ _080F5D2A: _080F5D58: movs r0, 0x2 bl sub_813BADC - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrb r0, [r0] bl sub_80DEDA8 movs r0, 0xFE @@ -673,7 +673,7 @@ _080F5E78: movs r0, 0x25 bl IncrementGameStat _080F5E92: - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrb r0, [r0] bl sub_80DEDA8 movs r0, 0xFE @@ -2151,7 +2151,7 @@ sub_80F6AE8: @ 80F6AE8 movs r2, 0x80 movs r3, 0x1 bl RequestDma3Fill - ldr r0, =gUnknown_0858D8C8 + ldr r0, =gSpriteTemplate_858D8C8 movs r1, 0x8 movs r2, 0x8 movs r3, 0 @@ -2454,7 +2454,7 @@ sub_80F6DC0: @ 80F6DC0 push {r4-r6,lr} sub sp, 0x20 mov r1, sp - ldr r0, =gUnknown_0858D7F8 + ldr r0, =gSpriteTemplate_858D7F8 ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2-r4} @@ -2972,7 +2972,7 @@ sub_80F71C8: @ 80F71C8 b _080F7240 .pool _080F71F8: - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r2, [r0] cmp r2, 0 bne _080F720C @@ -3008,7 +3008,7 @@ _080F7236: bl CopyToBgTilemapBufferRect movs r5, 0xF _080F7240: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0 bne _080F725C @@ -3564,7 +3564,7 @@ sub_80F7670: @ 80F7670 ldrb r0, [r0, 0x7] cmp r0, 0x27 bhi _080F7732 - ldr r4, =gUnknown_0858D860 + ldr r4, =gSpriteTemplate_858D860 bl Random lsls r0, 16 lsrs r0, 16 @@ -4640,15 +4640,15 @@ sub_80F7F30: @ 80F7F30 adds r5, r0, 0 cmp r5, 0 beq _080F7F5E - ldr r4, =gScriptContestCategory + ldr r4, =gSpecialVar_ContestCategory ldrb r0, [r4] - ldr r1, =gUnknown_02039F2E + ldr r1, =gSpecialVar_ContestRank ldrb r1, [r1] bl sub_80DAB8C ldrb r0, [r4] bl sub_80DB09C _080F7F5E: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] pop {r4,r5} pop {r0} @@ -4666,7 +4666,7 @@ sub_80F7F7C: @ 80F7F7C muls r1, r0 ldr r0, =gPlayerParty adds r2, r1, r0 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080F7FEE @@ -4704,7 +4704,7 @@ _080F7FDC: movs r1, 0x36 _080F7FE0: bl GetMonData - ldr r1, =gUnknown_02039F2E + ldr r1, =gSpecialVar_ContestRank ldrh r1, [r1] cmp r0, r1 bls _080F7FEE @@ -4730,7 +4730,7 @@ sub_80F7FFC: @ 80F7FFC beq _080F8010 b _080F8250 _080F8010: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bls _080F801A @@ -4762,7 +4762,7 @@ _080F8048: lsrs r1, r0, 24 mov r0, sp strb r1, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r1, r0 bls _080F806C @@ -4812,7 +4812,7 @@ _080F80B8: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bls _080F80DC @@ -4861,7 +4861,7 @@ _080F8124: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bls _080F8148 @@ -4908,7 +4908,7 @@ _080F8190: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bhi _080F8250 @@ -4951,7 +4951,7 @@ _080F81F8: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bhi _080F8250 @@ -5488,7 +5488,7 @@ _080F8678: bl sub_80F86E0 ldr r1, =gUnknown_02039F2B strb r0, [r1] - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrb r0, [r0] bl sub_80DB09C ldr r1, =sub_80FCF40 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index f1e2019da..ba96bf4ea 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -284,7 +284,7 @@ _080FC6FE: lsls r0, 24 cmp r0, 0 beq _080FC7F4 - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gUnknown_02039F25 ldrb r1, [r1] lsls r1, 6 @@ -297,7 +297,7 @@ _080FC6FE: b _080FC7F4 .pool _080FC738: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gUnknown_02039F25 ldrb r1, [r1] lsls r1, 6 @@ -487,7 +487,7 @@ _080FC8D8: beq _080FC954 b _080FC96E _080FC8DE: - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer ldrh r0, [r4, 0x1A] strb r0, [r1] bl GetMultiplayerId @@ -1142,7 +1142,7 @@ _080FCE8C: beq _080FCEFC b _080FCF16 _080FCE92: - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0x6E strb r0, [r1] bl GetMultiplayerId diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s index 5f9c25d7c..12eb159f7 100755..100644 --- a/asm/contest_link_81D9DE4.s +++ b/asm/contest_link_81D9DE4.s @@ -370,7 +370,7 @@ sub_81DA10C: @ 81DA10C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrb r0, [r0] bl sub_80DB09C ldr r1, =sub_80FCF40 diff --git a/asm/contest_painting.s b/asm/contest_painting.s index 2caf15194..8bb38eeed 100644 --- a/asm/contest_painting.s +++ b/asm/contest_painting.s @@ -107,7 +107,7 @@ _0812FE80: .4byte _0812FF2A .4byte _0812FF54 _0812FE94: - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0 bl SetVBlankCallback bl AllocateMonSpritesGfx @@ -386,7 +386,7 @@ sub_813010C: @ 813010C ldr r1, =gText_Space adds r0, r4, 0 bl StringAppend - ldr r1, =gUnknown_085B07D4 + ldr r1, =gContestRankTextPointers ldr r0, [r6] ldrb r0, [r0, 0x1E] lsls r0, 2 @@ -415,7 +415,7 @@ _08130190: adds r1, 0xB bl StringCopy ldr r0, =gStringVar4 - ldr r2, =gUnknown_085B07F4 + ldr r2, =gContestPaintingDescriptionPointers lsls r1, r5, 2 adds r1, r2 ldr r1, [r1] @@ -572,7 +572,7 @@ sub_81302E8: @ 81302E8 ldr r1, [r0, 0x4] ldr r2, [r0] adds r0, r5, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality ldr r7, =gUnknown_030061C4 ldr r1, [r7] bl LZDecompressVram diff --git a/asm/coord_event_weather.s b/asm/coord_event_weather.s deleted file mode 100644 index 7c1188ad6..000000000 --- a/asm/coord_event_weather.s +++ /dev/null @@ -1,156 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809D7BC -sub_809D7BC: @ 809D7BC - push {lr} - movs r0, 0x1 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7BC - - thumb_func_start sub_809D7C8 -sub_809D7C8: @ 809D7C8 - push {lr} - movs r0, 0x2 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7C8 - - thumb_func_start sub_809D7D4 -sub_809D7D4: @ 809D7D4 - push {lr} - movs r0, 0x3 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7D4 - - thumb_func_start sub_809D7E0 -sub_809D7E0: @ 809D7E0 - push {lr} - movs r0, 0x4 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7E0 - - thumb_func_start sub_809D7EC -sub_809D7EC: @ 809D7EC - push {lr} - movs r0, 0x5 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7EC - - thumb_func_start sub_809D7F8 -sub_809D7F8: @ 809D7F8 - push {lr} - movs r0, 0x6 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7F8 - - thumb_func_start sub_809D804 -sub_809D804: @ 809D804 - push {lr} - movs r0, 0x9 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D804 - - thumb_func_start sub_809D810 -sub_809D810: @ 809D810 - push {lr} - movs r0, 0x7 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D810 - - thumb_func_start sub_809D81C -sub_809D81C: @ 809D81C - push {lr} - movs r0, 0x8 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D81C - - thumb_func_start sub_809D828 -sub_809D828: @ 809D828 - push {lr} - movs r0, 0xB - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D828 - - thumb_func_start sub_809D834 -sub_809D834: @ 809D834 - push {lr} - movs r0, 0xC - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D834 - - thumb_func_start sub_809D840 -sub_809D840: @ 809D840 - push {lr} - movs r0, 0x14 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D840 - - thumb_func_start sub_809D84C -sub_809D84C: @ 809D84C - push {lr} - movs r0, 0x15 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D84C - - thumb_func_start trigger_activate_weather -trigger_activate_weather: @ 809D858 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r3, =gUnknown_085102E0 -_0809D862: - lsls r1, r2, 3 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r4 - bne _0809D87C - adds r0, r3, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - bl _call_via_r0 - b _0809D886 - .pool -_0809D87C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xC - bls _0809D862 -_0809D886: - pop {r4} - pop {r0} - bx r0 - thumb_func_end trigger_activate_weather - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/credits.s b/asm/credits.s index 0b2da16b8..a8a665b06 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -26,7 +26,7 @@ sub_81754DC: @ 81754DC ands r0, r1 cmp r0, 0 beq _08175522 - ldr r0, =gUnknown_0203BCE4 + ldr r0, =gHasHallOfFameRecords ldrb r0, [r0] cmp r0, 0 beq _08175522 @@ -149,7 +149,7 @@ _081755E4: movs r0, 0 movs r1, 0x1 adds r3, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4,r5} pop {r0} @@ -3675,7 +3675,7 @@ sub_8177388: @ 8177388 bl VarGet lsls r0, 16 lsrs r0, 16 - bl sub_8133EDC + bl GetStarterPokemon lsls r0, 16 lsrs r0, 16 bl SpeciesToNationalPokedexNum diff --git a/asm/crt0.s b/asm/crt0.s index 0b14a1469..9ed678968 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -68,8 +68,8 @@ GPIOPortReadEnable: @ 80000C8 .4byte gAbilityDescriptionPointers .4byte gItems .4byte gBattleMoves - .4byte gUnknown_0832C400 - .4byte gUnknown_0832C460 + .4byte gBallSpriteSheets + .4byte gBallSpritePalettes .4byte 0x000000a8, 0x00000864, 0x0000089b diff --git a/asm/daycare.s b/asm/daycare.s deleted file mode 100644 index 065911df8..000000000 --- a/asm/daycare.s +++ /dev/null @@ -1,3193 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetMonNick -GetMonNick: @ 806FA2C - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonNick - - thumb_func_start GetBoxMonNick -GetBoxMonNick: @ 806FA4C - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetBoxMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetBoxMonNick - - thumb_func_start daycare_count_pokemon -daycare_count_pokemon: @ 806FA6C - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_0806FA74: - movs r0, 0x8C - muls r0, r4 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0806FA8A - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0806FA8A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0806FA74 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end daycare_count_pokemon - - thumb_func_start sub_806FA9C -sub_806FA9C: @ 806FA9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - mov r10, r1 - movs r7, 0 - movs r5, 0 - mov r6, r10 - adds r6, 0x74 - movs r0, 0x1 - mov r8, r0 -_0806FAB6: - movs r0, 0x8C - muls r0, r5 - mov r1, r9 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0806FAE4 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0806FAE4 - lsls r0, r5, 1 - adds r0, r6, r0 - b _0806FAEA -_0806FAE4: - lsls r0, r5, 1 - adds r0, r6, r0 - mov r1, r8 -_0806FAEA: - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0806FAB6 - mov r0, r10 - str r7, [r0, 0x70] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806FA9C - - thumb_func_start daycare_empty_slot -@ u8 daycare_empty_slot(struct daycare_mon *dayCareMons) -daycare_empty_slot: @ 806FB08 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_0806FB0E: - movs r0, 0x8C - muls r0, r4 - adds r0, r5, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _0806FB24 - lsls r0, r4, 24 - asrs r0, 24 - b _0806FB32 -_0806FB24: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0806FB0E - movs r0, 0x1 - negs r0, r0 -_0806FB32: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end daycare_empty_slot - - thumb_func_start sub_806FB38 -@ void sub_806FB38(struct pokemon *mon, struct daycare_mon *dayCareMon) -sub_806FB38: @ 806FB38 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_80D43F0 - lsls r0, 24 - cmp r0, 0 - beq _0806FBBC - adds r0, r5, 0 - adds r0, 0x74 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - adds r4, r5, 0 - adds r4, 0x7C - adds r0, r6, 0 - adds r1, r4, 0 - bl GetMonNick - adds r0, r4, 0 - bl StripExtCtrlCodes - adds r4, 0xB - ldrb r1, [r4] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - adds r0, r6, 0 - movs r1, 0x3 - bl GetMonData - lsls r0, 4 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - adds r0, r6, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - adds r0, r5, 0 - adds r0, 0x50 - ldr r2, =0x00002be0 - adds r1, r2 - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - adds r0, r6, 0 - bl sub_80D4680 -_0806FBBC: - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x50 - bl memcpy - adds r0, r5, 0 - bl BoxMonRestorePP - adds r1, r5, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - adds r0, r6, 0 - bl ZeroMonData - bl party_compaction - bl CalculatePlayerPartyCount - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806FB38 - - thumb_func_start daycare_send -@ void daycare_send(struct pokemon *mon, struct daycare_mon *dayCareMons) -daycare_send: @ 806FBF4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - bl daycare_empty_slot - lsls r0, 24 - asrs r0, 24 - movs r1, 0x8C - muls r0, r1 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806FB38 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end daycare_send - - thumb_func_start daycare_send_selected_pokemon -daycare_send_selected_pokemon: @ 806FC18 - push {lr} - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x00003030 - adds r1, r2 - bl daycare_send - pop {r0} - bx r0 - .pool - thumb_func_end daycare_send_selected_pokemon - - thumb_func_start sub_806FC48 -sub_806FC48: @ 806FC48 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0806FC9E - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - adds r6, r0, 0 - cmp r6, 0 - bne _0806FC9E - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - bl ZeroBoxMonData - adds r4, 0x50 - adds r0, r5, 0 - adds r0, 0x50 - adds r1, r4, 0 - movs r2, 0x38 - bl memcpy - adds r2, r5, 0 - adds r2, 0x88 - movs r0, 0x8A - lsls r0, 1 - adds r1, r5, r0 - ldr r0, [r1] - str r0, [r2] - str r6, [r1] - adds r0, r4, 0 - bl sub_806FF80 -_0806FC9E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806FC48 - - thumb_func_start sub_806FCA4 -sub_806FCA4: @ 806FCA4 - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - ldr r7, =0x0000ffff -_0806FCAC: - adds r0, r4, 0 - bl TryIncrementMonLevel - lsls r0, 24 - cmp r0, 0 - beq _0806FCE8 - movs r6, 0x1 - adds r5, 0x1 - b _0806FCD4 - .pool -_0806FCC4: - movs r6, 0 - cmp r0, r7 - bne _0806FCD4 - ldr r0, =gMoveToLearn - ldrh r1, [r0] - adds r0, r4, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_0806FCD4: - adds r0, r4, 0 - adds r1, r6, 0 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0806FCC4 - cmp r5, 0x63 - ble _0806FCAC -_0806FCE8: - adds r0, r4, 0 - bl CalculateMonStats - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806FCA4 - - thumb_func_start sub_806FCF8 -sub_806FCF8: @ 806FCF8 - push {r4-r7,lr} - sub sp, 0x68 - adds r5, r0, 0 - ldr r1, =gStringVar1 - bl GetBoxMonNick - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r5, 0 - mov r1, sp - bl sub_8069004 - mov r0, sp - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _0806FD46 - mov r0, sp - movs r1, 0x19 - bl GetMonData - adds r1, r5, 0 - adds r1, 0x88 - ldr r1, [r1] - adds r0, r1 - str r0, [sp, 0x64] - add r2, sp, 0x64 - mov r0, sp - movs r1, 0x19 - bl SetMonData - mov r0, sp - bl sub_806FCA4 -_0806FD46: - ldr r0, =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r6, r0, r1 - adds r0, r6, 0 - mov r1, sp - movs r2, 0x64 - bl memcpy - adds r0, r5, 0 - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0 - beq _0806FD74 - adds r4, r5, 0 - adds r4, 0x50 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80D460C - adds r0, r4, 0 - bl sub_806FF80 -_0806FD74: - adds r0, r5, 0 - bl ZeroBoxMonData - adds r1, r5, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - bl party_compaction - bl CalculatePlayerPartyCount - adds r0, r7, 0 - add sp, 0x68 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FCF8 - - thumb_func_start sub_806FD9C -sub_806FD9C: @ 806FD9C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x8C - muls r0, r1 - adds r0, r5, r0 - bl sub_806FCF8 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl sub_806FC48 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806FD9C - - thumb_func_start sub_806FDC4 -sub_806FDC4: @ 806FDC4 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_806FD9C - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FDC4 - - thumb_func_start sub_806FDEC -sub_806FDEC: @ 806FDEC - push {r4,r5,lr} - sub sp, 0x54 - adds r4, r0, 0 - adds r5, r1, 0 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - movs r1, 0x19 - bl GetBoxMonData - adds r0, r5 - str r0, [sp, 0x50] - add r2, sp, 0x50 - mov r0, sp - movs r1, 0x19 - bl SetBoxMonData - mov r0, sp - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - add sp, 0x54 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806FDEC - - thumb_func_start sub_806FE28 -sub_806FE28: @ 806FE28 - push {r4,r5,lr} - adds r5, r0, 0 - bl GetLevelFromBoxMonExp - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r0, 0x88 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_806FDEC - lsls r0, 24 - lsrs r0, 24 - subs r0, r4 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806FE28 - - thumb_func_start sub_806FE54 -sub_806FE54: @ 806FE54 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_806FE28 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetBoxMonNick - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FE54 - - thumb_func_start sub_806FE88 -sub_806FE88: @ 806FE88 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_806FE28 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetBoxMonNick - movs r0, 0x64 - muls r4, r0 - adds r4, 0x64 - ldr r0, =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FE88 - - thumb_func_start sub_806FEC0 -sub_806FEC0: @ 806FEC0 - push {lr} - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x8C - muls r1, r2 - adds r0, r1 - bl sub_806FE88 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_806FEC0 - - thumb_func_start sub_806FED8 -sub_806FED8: @ 806FED8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_806FEC0 - ldr r1, =gSpecialVar_0x8005 - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_806FED8 - - thumb_func_start sub_806FF04 -sub_806FF04: @ 806FF04 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldr r1, =0x000030b8 - adds r3, r2, r1 - ldr r1, [r3] - adds r1, r0 - str r1, [r3] - ldr r1, =0x00003144 - adds r2, r1 - ldr r1, [r2] - adds r1, r0 - str r1, [r2] - bx lr - .pool - thumb_func_end sub_806FF04 - - thumb_func_start sub_806FF30 -sub_806FF30: @ 806FF30 - push {r4-r6,lr} - ldr r6, =gSaveBlock1Ptr - ldr r5, =gSpecialVar_0x8004 - ldrh r0, [r5] - movs r4, 0x8C - adds r1, r0, 0 - muls r1, r4 - ldr r0, =0x00003030 - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _0806FF60 - movs r0, 0 - b _0806FF76 - .pool -_0806FF60: - ldrh r0, [r5] - adds r1, r0, 0 - muls r1, r4 - ldr r0, =0x00003030 - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - bl sub_806FE54 - lsls r0, 24 - lsrs r0, 24 -_0806FF76: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FF30 - - thumb_func_start sub_806FF80 -sub_806FF80: @ 806FF80 - push {lr} - movs r3, 0 - movs r2, 0x7 - adds r1, r0, 0 - adds r1, 0x2B -_0806FF8A: - strb r3, [r1] - subs r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bge _0806FF8A - adds r2, r0, 0 - adds r2, 0x2C - movs r3, 0 - adds r1, r0, 0 - adds r1, 0x36 -_0806FF9E: - strb r3, [r1] - subs r1, 0x1 - cmp r1, r2 - bge _0806FF9E - bl sub_80D439C - pop {r0} - bx r0 - thumb_func_end sub_806FF80 - - thumb_func_start sub_806FFB0 -sub_806FFB0: @ 806FFB0 - push {r4,lr} - adds r4, r0, 0 - bl ZeroBoxMonData - adds r1, r4, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - adds r4, 0x50 - adds r0, r4, 0 - bl sub_806FF80 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806FFB0 - - thumb_func_start sub_806FFD0 -sub_806FFD0: @ 806FFD0 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - movs r6, 0x8C -_0806FFD8: - adds r0, r4, 0 - muls r0, r6 - adds r0, r5, r0 - bl sub_806FFB0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0806FFD8 - movs r1, 0x8C - lsls r1, 1 - adds r0, r5, r1 - movs r1, 0 - str r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r5, r2 - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806FFD0 - - thumb_func_start sub_8070004 -sub_8070004: @ 8070004 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - mov r8, r0 - ldr r0, =gEvolutionTable - mov r12, r0 -_08070016: - movs r7, 0 - movs r6, 0x1 - movs r4, 0x80 - lsls r4, 9 - movs r5, 0x28 - mov r3, r12 - adds r3, 0x28 -_08070024: - movs r1, 0 - ldrh r0, [r3, 0x4] - cmp r0, r2 - bne _08070034 - lsrs r2, r4, 16 - b _08070060 - .pool -_08070034: - adds r1, 0x1 - cmp r1, 0x4 - bgt _0807004A - lsls r0, r1, 3 - adds r0, r5 - add r0, r12 - ldrh r0, [r0, 0x4] - cmp r0, r2 - bne _08070034 - lsrs r2, r4, 16 - movs r7, 0x1 -_0807004A: - cmp r7, 0 - bne _08070060 - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x28 - adds r3, 0x28 - adds r6, 0x1 - ldr r0, =0x0000019b - cmp r6, r0 - ble _08070024 -_08070060: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - beq _08070072 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x4 - ble _08070016 -_08070072: - adds r0, r2, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070004 - - thumb_func_start sub_8070084 -sub_8070084: @ 8070084 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r7, 0x1 - negs r7, r7 - movs r4, 0 -_08070090: - movs r0, 0x8C - muls r0, r4 - adds r0, r6, r0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - bne _080700A4 - adds r7, r4, 0 -_080700A4: - adds r4, 0x1 - cmp r4, 0x1 - ble _08070090 - movs r5, 0 - movs r4, 0 -_080700AE: - movs r0, 0x8C - muls r0, r4 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - lsls r1, r4, 2 - add r1, sp - str r0, [r1] - cmp r0, 0x84 - bne _080700C8 - adds r5, 0x1 - adds r7, r4, 0 -_080700C8: - adds r4, 0x1 - cmp r4, 0x1 - ble _080700AE - cmp r5, 0x2 - bne _080700E2 - bl Random - lsls r0, 16 - ldr r1, =0x7ffe0000 - movs r7, 0x1 - cmp r0, r1 - bls _080700E2 - movs r7, 0 -_080700E2: - movs r0, 0x8C - muls r0, r7 - adds r0, r6, r0 - movs r1, 0xC - bl GetBoxMonData - cmp r0, 0xC3 - bne _080700FE - bl Random - lsls r0, 16 - ldr r1, =0x7ffe0000 - cmp r0, r1 - bls _08070108 -_080700FE: - movs r0, 0x1 - negs r0, r0 - b _0807010A - .pool -_08070108: - adds r0, r7, 0 -_0807010A: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8070084 - - thumb_func_start sub_8070114 -sub_8070114: @ 8070114 - push {r4-r7,lr} - adds r5, r0, 0 - movs r6, 0 - ldr r0, =gMain - ldrh r0, [r0, 0x24] - bl SeedRng2 - adds r0, r5, 0 - bl sub_8070084 - adds r1, r0, 0 - cmp r1, 0 - bge _08070160 - bl Random2 - adds r4, r0, 0 - bl Random - movs r1, 0x8C - lsls r1, 1 - adds r5, r1 - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000fffe - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - orrs r4, r0 - str r4, [r5] - b _080701AC - .pool -_08070160: - movs r0, 0x8C - muls r0, r1 - adds r0, r5, r0 - movs r1, 0 - movs r2, 0 - bl GetBoxMonData - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r7, r0, 24 -_08070176: - bl Random2 - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - orrs r4, r0 - adds r0, r4, 0 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r7, r0 - bne _0807019A - cmp r4, 0 - bne _080701A4 -_0807019A: - adds r6, 0x1 - movs r0, 0x96 - lsls r0, 4 - cmp r6, r0 - ble _08070176 -_080701A4: - movs r1, 0x8C - lsls r1, 1 - adds r0, r5, r1 - str r4, [r0] -_080701AC: - movs r0, 0x86 - bl FlagSet - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8070114 - - thumb_func_start sub_80701B8 -sub_80701B8: @ 80701B8 - push {r4,lr} - adds r4, r0, 0 - bl Random - movs r1, 0x8C - lsls r1, 1 - adds r4, r1 - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [r4] - movs r0, 0x86 - bl FlagSet - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80701B8 - - thumb_func_start sub_80701E0 -sub_80701E0: @ 80701E0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070114 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80701E0 - - thumb_func_start sub_80701FC -sub_80701FC: @ 80701FC - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_80701B8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80701FC - - thumb_func_start sub_8070218 -sub_8070218: @ 8070218 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r1, r4, r1 - movs r0, 0xFF - strb r0, [r1] - movs r2, 0 -_0807022A: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x5 - ble _0807022A - movs r3, 0 - movs r2, 0 -_0807023E: - mov r1, sp - adds r0, r1, r2 - ldrb r1, [r0] - adds r0, r1, 0 - cmp r0, 0xFF - beq _08070250 - adds r0, r4, r3 - strb r1, [r0] - adds r3, 0x1 -_08070250: - adds r2, 0x1 - cmp r2, 0x5 - ble _0807023E - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8070218 - - thumb_func_start sub_8070260 -sub_8070260: @ 8070260 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r0 - mov r8, r1 - movs r5, 0 - add r1, sp, 0x4 - add r7, sp, 0xC - adds r2, r1, 0 -_08070276: - adds r0, r2, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08070276 - movs r5, 0 - adds r6, r1, 0 -_08070288: - bl Random - mov r1, sp - adds r4, r1, r5 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - subs r1, r5 - bl __modsi3 - adds r0, r6, r0 - ldrb r0, [r0] - strb r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8070218 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08070288 - movs r5, 0 - movs r4, 0x1 -_080702B8: - bl Random - adds r1, r7, r5 - lsls r0, 16 - lsrs r0, 16 - ands r0, r4 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080702B8 - movs r5, 0 -_080702D2: - mov r1, sp - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _080703AE - lsls r0, 2 - ldr r1, =_080702EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080702EC: - .4byte _08070304 - .4byte _08070322 - .4byte _0807033C - .4byte _08070356 - .4byte _08070370 - .4byte _08070390 -_08070304: - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x27 - bl GetBoxMonData - add r2, sp, 0x10 - strb r0, [r2] - mov r0, r9 - movs r1, 0x27 - bl SetMonData - b _080703AE -_08070322: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x28 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x28 - b _08070388 -_0807033C: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x29 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x29 - b _08070388 -_08070356: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2A - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2A - b _08070388 -_08070370: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2B - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2B -_08070388: - adds r2, r4, 0 - bl SetMonData - b _080703AE -_08070390: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2C - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2C - adds r2, r4, 0 - bl SetMonData -_080703AE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080702D2 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8070260 - - thumb_func_start pokemon_get_eggmoves -pokemon_get_eggmoves: @ 80703C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - movs r6, 0 - movs r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r5, =gEggMoves - ldrh r1, [r5] - ldr r7, =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _080703F8 - movs r4, 0x1 - b _0807041A - .pool -_080703F8: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x00000471 - ldr r5, =gEggMoves - cmp r2, r0 - bhi _0807041A - lsls r0, r2, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r7, =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _080703F8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0807041A: - movs r2, 0 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - ldr r1, =0x00004e20 - cmp r0, r1 - bhi _08070456 - adds r7, r5, 0 - adds r3, r1, 0 -_0807042C: - lsls r1, r2, 1 - add r1, r8 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9 - bhi _08070456 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r3 - bls _0807042C -_08070456: - lsls r0, r6, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end pokemon_get_eggmoves - - thumb_func_start daycare_build_child_moveset -daycare_build_child_moveset: @ 8070470 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - mov r10, r1 - mov r9, r2 - movs r0, 0 - str r0, [sp] - movs r6, 0 - ldr r5, =gUnknown_02024A4C - movs r2, 0 - ldr r4, =gUnknown_02024A28 - ldr r3, =gUnknown_02024A30 -_08070490: - lsls r1, r6, 1 - adds r0, r1, r5 - strh r2, [r0] - adds r0, r1, r4 - strh r2, [r0] - adds r1, r3 - strh r2, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08070490 - movs r6, 0 - ldr r2, =gUnknown_02024A38 - movs r1, 0 -_080704AE: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _080704AE - movs r6, 0 - ldr r2, =gUnknown_020249C4 - movs r1, 0 -_080704C4: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x31 - bls _080704C4 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_020249C4 - bl GetLevelUpMovesBySpecies - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r6, 0 - ldr r1, =gUnknown_02024A28 - mov r8, r1 -_080704F2: - adds r5, r6, 0 - adds r5, 0xD - mov r0, r10 - adds r1, r5, 0 - bl GetBoxMonData - lsls r4, r6, 1 - mov r2, r8 - adds r1, r4, r2 - strh r0, [r1] - mov r0, r9 - adds r1, r5, 0 - bl GetBoxMonData - ldr r1, =gUnknown_02024A4C - adds r4, r1 - strh r0, [r4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _080704F2 - ldr r1, =gUnknown_02024A38 - adds r0, r7, 0 - bl pokemon_get_eggmoves - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 -_0807052E: - ldr r0, =gUnknown_02024A28 - lsls r1, r6, 1 - adds r2, r1, r0 - ldrh r1, [r2] - mov r9, r0 - cmp r1, 0 - beq _080705A4 - movs r5, 0 - cmp r5, r8 - bcs _08070596 - adds r4, r2, 0 - ldr r2, =0x0000ffff -_08070546: - ldr r0, =gUnknown_02024A38 - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r4] - ldrh r1, [r1] - cmp r0, r1 - bne _0807058C - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _08070596 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _08070596 - .pool -_0807058C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _08070546 -_08070596: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, =gUnknown_02024A28 - mov r9, r3 - cmp r6, 0x3 - bls _0807052E -_080705A4: - movs r6, 0 -_080705A6: - lsls r0, r6, 1 - mov r2, r9 - adds r1, r0, r2 - ldrh r1, [r1] - adds r2, r0, 0 - adds r6, 0x1 - mov r8, r6 - cmp r1, 0 - beq _08070608 - movs r5, 0 - ldr r0, =gUnknown_02024A28 - adds r4, r2, r0 - ldr r6, =0x0000ffff - mov r9, r0 -_080705C2: - ldr r3, =0x00000121 - adds r0, r5, r3 - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBattleMoveId - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bne _080705FE - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl CanMonLearnTMHM - cmp r0, 0 - beq _080705FE - ldrh r1, [r4] - adds r0, r7, 0 - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bne _080705FE - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_080705FE: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x39 - bls _080705C2 -_08070608: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _080705A6 - movs r6, 0 - mov r2, r9 - ldrh r0, [r2] - ldr r3, =gUnknown_02024A30 - mov r10, r3 - cmp r0, 0 - beq _08070672 - mov r4, r9 - ldr r0, =gUnknown_02024A4C - mov r9, r0 - mov r12, r10 -_08070628: - movs r5, 0 - lsls r2, r6, 1 - adds r6, 0x1 - mov r8, r6 - adds r3, r2, r4 -_08070632: - lsls r0, r5, 1 - add r0, r9 - ldrh r2, [r3] - adds r1, r2, 0 - ldrh r0, [r0] - cmp r1, r0 - bne _08070654 - cmp r1, 0 - beq _08070654 - ldr r1, [sp] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 1 - add r1, r12 - strh r2, [r1] -_08070654: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08070632 - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _08070672 - lsls r0, r6, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0 - bne _08070628 -_08070672: - movs r6, 0 - mov r2, r10 - ldrh r0, [r2] - cmp r0, 0 - beq _080706FC -_0807067C: - movs r5, 0 - adds r3, r6, 0x1 - mov r8, r3 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcs _080706E4 - ldr r2, =0x0000ffff -_0807068A: - ldr r1, =gUnknown_020249C4 - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - beq _080706D8 - lsls r0, r6, 1 - mov r3, r10 - adds r4, r0, r3 - ldrh r0, [r4] - cmp r0, r1 - bne _080706D8 - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _080706E4 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _080706E4 - .pool -_080706D8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcc _0807068A -_080706E4: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _080706FC - ldr r0, =gUnknown_02024A30 - lsls r1, r6, 1 - adds r1, r0 - ldrh r1, [r1] - mov r10, r0 - cmp r1, 0 - bne _0807067C -_080706FC: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end daycare_build_child_moveset - - thumb_func_start sub_8070710 -sub_8070710: @ 8070710 - adds r2, r0, 0 - movs r1, 0x8C - lsls r1, 1 - adds r0, r2, r1 - movs r1, 0 - str r1, [r0] - movs r3, 0x8E - lsls r3, 1 - adds r0, r2, r3 - strb r1, [r0] - bx lr - thumb_func_end sub_8070710 - - thumb_func_start sub_8070728 -sub_8070728: @ 8070728 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070710 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070728 - - thumb_func_start incense_effects -incense_effects: @ 8070744 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrh r1, [r4] - movs r7, 0xB4 - lsls r7, 1 - cmp r1, r7 - beq _0807075C - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _0807079E -_0807075C: - adds r0, r5, 0 - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r0, 0x8C - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4] - cmp r0, r7 - bne _08070788 - cmp r6, 0xDD - beq _08070788 - cmp r2, 0xDD - beq _08070788 - movs r0, 0xCA - strh r0, [r4] -_08070788: - ldrh r1, [r4] - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _0807079E - cmp r6, 0xDC - beq _0807079E - cmp r2, 0xDC - beq _0807079E - movs r0, 0xB7 - strh r0, [r4] -_0807079E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end incense_effects - - thumb_func_start sub_80707A4 -sub_80707A4: @ 80707A4 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - adds r5, r0, 0 - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - cmp r5, 0xCA - beq _080707C6 - cmp r0, 0xCA - bne _080707E2 -_080707C6: - movs r4, 0xAC - lsls r4, 1 - adds r0, r6, 0 - adds r1, r4, 0 - bl GiveMoveToMon - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _080707E2 - adds r0, r6, 0 - adds r1, r4, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_080707E2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80707A4 - - thumb_func_start sub_80707EC -sub_80707EC: @ 80707EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - adds r6, r1, 0 - movs r4, 0 - movs r0, 0x1 - mov r8, r0 -_080707FE: - movs r0, 0x8C - muls r0, r4 - adds r5, r7, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bne _08070826 - adds r0, r4, 0 - mov r1, r8 - eors r0, r1 - strb r0, [r6] - strb r4, [r6, 0x1] - b _0807083E -_08070826: - adds r0, r5, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - bne _0807083E - strb r4, [r6] - adds r0, r4, 0 - mov r1, r8 - eors r0, r1 - strb r0, [r6, 0x1] -_0807083E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080707FE - ldrb r0, [r6] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - bl sub_8070004 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bne _08070870 - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _08070870 - movs r4, 0x20 -_08070870: - ldr r0, =0x00000183 - cmp r4, r0 - bne _0807088C - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0807088C - movs r4, 0xC1 - lsls r4, 1 -_0807088C: - ldrb r0, [r6, 0x1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - cmp r0, 0x84 - bne _080708B4 - ldrb r1, [r6] - movs r0, 0x8C - muls r0, r1 - adds r0, r7, r0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - beq _080708B4 - ldrb r1, [r6, 0x1] - ldrb r0, [r6] - strb r0, [r6, 0x1] - strb r1, [r6] -_080708B4: - adds r0, r4, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80707EC - - thumb_func_start sub_80708C8 -sub_80708C8: @ 80708C8 - push {r4-r6,lr} - sub sp, 0x6C - adds r6, r0, 0 - add r5, sp, 0x64 - adds r1, r5, 0 - bl sub_80707EC - add r4, sp, 0x68 - strh r0, [r4] - adds r0, r4, 0 - adds r1, r6, 0 - bl incense_effects - ldrh r1, [r4] - mov r0, sp - adds r2, r6, 0 - bl sub_8070A0C - mov r0, sp - adds r1, r6, 0 - bl sub_8070260 - ldrb r0, [r5, 0x1] - movs r2, 0x8C - adds r1, r0, 0 - muls r1, r2 - adds r1, r6, r1 - ldrb r0, [r5] - muls r2, r0 - adds r2, r6, r2 - mov r0, sp - bl daycare_build_child_moveset - ldrh r0, [r4] - cmp r0, 0xAC - bne _08070918 - mov r0, sp - adds r1, r6, 0 - bl sub_80707A4 -_08070918: - mov r2, sp - adds r2, 0x6A - movs r0, 0x1 - strb r0, [r2] - mov r0, sp - movs r1, 0x2D - bl SetMonData - ldr r0, =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r0, r1 - mov r1, sp - movs r2, 0x64 - bl memcpy - bl party_compaction - bl CalculatePlayerPartyCount - adds r0, r6, 0 - bl sub_8070710 - add sp, 0x6C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80708C8 - - thumb_func_start sub_8070954 -sub_8070954: @ 8070954 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r7, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r0, 0x12 - add r0, sp - mov r8, r0 - strb r4, [r0] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - movs r0, 0x1 - mov r9, r0 - mov r0, r9 - strb r0, [r4] - adds r0, r7, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, =gEggName - adds r0, r7, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, =gBaseStats + 0x11 @ egg cycles offset - adds r2, r0 - adds r0, r7, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x24 - mov r2, r8 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - cmp r6, 0 - beq _080709E6 - add r2, sp, 0x14 - movs r0, 0xFD - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x23 - bl SetMonData -_080709E6: - mov r2, sp - adds r2, 0x15 - mov r0, r9 - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x2D - bl SetMonData - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070954 - - thumb_func_start sub_8070A0C -sub_8070A0C: @ 8070A0C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x8C - lsls r0, 1 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x1 - mov r8, r1 - str r1, [sp] - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r0, 0x12 - add r0, sp - mov r9, r0 - strb r4, [r0] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - mov r1, r8 - strb r1, [r4] - adds r0, r6, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, =gEggName - adds r0, r6, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, =gBaseStats + 0x11 @ egg cycles offset - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x24 - mov r2, r9 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070A0C - - thumb_func_start sp0B8_daycare -sp0B8_daycare: @ 8070AA8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_80708C8 - pop {r0} - bx r0 - .pool - thumb_func_end sp0B8_daycare - - thumb_func_start sub_8070AC4 -sub_8070AC4: @ 8070AC4 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r7, 0 - movs r5, 0 -_08070ACE: - movs r0, 0x8C - adds r4, r5, 0 - muls r4, r0 - adds r0, r6, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _08070AEE - adds r1, r6, 0 - adds r1, 0x88 - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - adds r7, 0x1 -_08070AEE: - adds r5, 0x1 - cmp r5, 0x1 - bls _08070ACE - movs r1, 0x8C - lsls r1, 1 - adds r0, r6, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08070B34 - cmp r7, 0x2 - bne _08070B34 - subs r1, 0x4 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08070B34 - adds r0, r6, 0 - bl daycare_relationship_score - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - muls r0, r1 - ldr r1, =0x0000ffff - bl __udivsi3 - cmp r4, r0 - bls _08070B34 - bl sub_80701E0 -_08070B34: - movs r0, 0x8E - lsls r0, 1 - adds r1, r6, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08070BC0 - bl GetEggStepsToSubtract - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bcs _08070BC0 - ldr r4, =gPlayerParty -_08070B5C: - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _08070BB4 - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - cmp r0, 0 - bne _08070BB4 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - cmp r0, 0 - beq _08070BA8 - cmp r0, r6 - bcc _08070B98 - subs r0, r6 - b _08070B9A - .pool -_08070B98: - subs r0, r1, 0x1 -_08070B9A: - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData - b _08070BB4 -_08070BA8: - ldr r0, =gSpecialVar_0x8004 - strh r5, [r0] - movs r0, 0x1 - b _08070BC2 - .pool -_08070BB4: - adds r4, 0x64 - adds r5, 0x1 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bcc _08070B5C -_08070BC0: - movs r0, 0 -_08070BC2: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070AC4 - - thumb_func_start sub_8070BD0 -sub_8070BD0: @ 8070BD0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070AC4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070BD0 - - thumb_func_start sub_8070BF0 -sub_8070BF0: @ 8070BF0 - push {lr} - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08070C00 - movs r0, 0x1 -_08070C00: - pop {r1} - bx r1 - thumb_func_end sub_8070BF0 - - thumb_func_start sub_8070C04 -sub_8070C04: @ 8070C04 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08070C2E - ldr r1, =gStringVar1 - adds r0, r4, 0 - bl GetBoxMonNick - adds r0, r4, 0 - movs r1, 0x7 - mov r2, sp - bl GetBoxMonData - ldr r0, =gStringVar3 - mov r1, sp - bl StringCopy -_08070C2E: - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08070C44 - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl GetBoxMonNick -_08070C44: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070C04 - - thumb_func_start sub_8070C58 -sub_8070C58: @ 8070C58 - push {r4,r5,lr} - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - ldr r1, =gStringVar1 - bl GetBoxMonNick - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070C58 - - thumb_func_start sp0B5_daycare -sp0B5_daycare: @ 8070C94 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070C04 - pop {r0} - bx r0 - .pool - thumb_func_end sp0B5_daycare - - thumb_func_start sp0B6_daycare -sp0B6_daycare: @ 8070CB0 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070BF0 - lsls r0, 24 - cmp r0, 0 - beq _08070CD0 - movs r0, 0x1 - b _08070CF2 - .pool -_08070CD0: - ldr r0, [r4] - ldr r1, =0x00003030 - adds r0, r1 - bl daycare_count_pokemon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08070CEC - movs r0, 0 - b _08070CF2 - .pool -_08070CEC: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_08070CF2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sp0B6_daycare - - thumb_func_start sub_8070CF8 -sub_8070CF8: @ 8070CF8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl daycare_count_pokemon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08070D10 - movs r0, 0 -_08070D10: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070CF8 - - thumb_func_start sub_8070D1C -sub_8070D1C: @ 8070D1C - push {r4-r6,lr} - adds r5, r1, 0 - movs r4, 0 - adds r1, r0, 0 -_08070D24: - movs r3, 0 - ldrh r0, [r1] - adds r2, r5, 0 -_08070D2A: - ldrh r6, [r2] - cmp r0, r6 - bne _08070D34 - movs r0, 0x1 - b _08070D46 -_08070D34: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x1 - ble _08070D2A - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x1 - ble _08070D24 - movs r0, 0 -_08070D46: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8070D1C - - thumb_func_start daycare_relationship_score -daycare_relationship_score: @ 8070D4C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - str r0, [sp, 0x1C] - movs r7, 0 - mov r0, sp - adds r0, 0x8 - str r0, [sp, 0x20] - add r1, sp, 0xC - mov r9, r1 - mov r2, sp - adds r2, 0x14 - str r2, [sp, 0x24] - subs r0, 0x6 - ldr r1, =gBaseStats - mov r10, r1 - ldr r5, [sp, 0x20] - mov r8, r0 - mov r6, sp - str r2, [sp, 0x28] - mov r2, r9 - str r2, [sp, 0x2C] -_08070D7E: - movs r0, 0x8C - adds r4, r7, 0 - muls r4, r0 - ldr r0, [sp, 0x1C] - adds r4, r0, r4 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetBoxMonData - ldr r1, [sp, 0x2C] - stm r1!, {r0} - str r1, [sp, 0x2C] - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - ldrh r0, [r5] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x28] - stm r2!, {r0} - str r2, [sp, 0x28] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r0, [r0, 0x14] - strh r0, [r6] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r0, [r0, 0x15] - mov r1, r8 - strh r0, [r1] - adds r5, 0x2 - movs r2, 0x4 - add r8, r2 - adds r6, 0x4 - adds r7, 0x1 - cmp r7, 0x1 - bls _08070D7E - mov r0, sp - ldrh r1, [r0] - cmp r1, 0xF - beq _08070DFC - ldrh r0, [r0, 0x4] - cmp r0, 0xF - beq _08070DFC - cmp r1, 0xD - bne _08070E04 - cmp r0, 0xD - bne _08070E08 -_08070DFC: - movs r0, 0 - b _08070E5C - .pool -_08070E04: - cmp r0, 0xD - bne _08070E14 -_08070E08: - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _08070E56 - b _08070E5A -_08070E14: - ldr r0, [sp, 0x14] - ldr r2, [sp, 0x24] - ldr r1, [r2, 0x4] - cmp r0, r1 - beq _08070DFC - cmp r0, 0xFF - beq _08070DFC - cmp r1, 0xFF - beq _08070DFC - add r1, sp, 0x4 - mov r0, sp - bl sub_8070D1C - lsls r0, 24 - cmp r0, 0 - beq _08070DFC - ldr r0, [sp, 0x20] - ldrh r1, [r0, 0x2] - ldrh r0, [r0] - cmp r0, r1 - bne _08070E4C - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _08070E5A - movs r0, 0x46 - b _08070E5C -_08070E4C: - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - bne _08070E5A -_08070E56: - movs r0, 0x14 - b _08070E5C -_08070E5A: - movs r0, 0x32 -_08070E5C: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end daycare_relationship_score - - thumb_func_start daycare_relationship_score_from_savegame -daycare_relationship_score_from_savegame: @ 8070E6C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl daycare_relationship_score - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end daycare_relationship_score_from_savegame - - thumb_func_start sp0B9_daycare_relationship_comment -sp0B9_daycare_relationship_comment: @ 8070E8C - push {lr} - bl daycare_relationship_score_from_savegame - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - movs r1, 0 - cmp r0, 0 - bne _08070EA0 - movs r1, 0x3 -_08070EA0: - cmp r0, 0x14 - bne _08070EA6 - movs r1, 0x2 -_08070EA6: - cmp r0, 0x32 - bne _08070EAC - movs r1, 0x1 -_08070EAC: - cmp r2, 0x46 - bne _08070EB2 - movs r1, 0 -_08070EB2: - ldr r0, =gStringVar4 - ldr r2, =gUnknown_0832B6F8 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end sp0B9_daycare_relationship_comment - - thumb_func_start sub_8070ECC -sub_8070ECC: @ 8070ECC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r2, sp - mov r1, sp - movs r0, 0 - strb r0, [r1, 0x1] - strb r0, [r2] - movs r3, 0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08070F10 -_08070EE8: - adds r1, r4, r3 - ldrb r0, [r1] - cmp r0, 0xB5 - bne _08070EF6 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] -_08070EF6: - ldrb r0, [r1] - cmp r0, 0xB6 - bne _08070F02 - ldrb r0, [r2, 0x1] - adds r0, 0x1 - strb r0, [r2, 0x1] -_08070F02: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08070EE8 -_08070F10: - cmp r5, 0 - bne _08070F24 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _08070F24 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08070F38 -_08070F24: - cmp r5, 0xFE - bne _08070F3C - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08070F3C - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _08070F3C -_08070F38: - movs r0, 0x1 - b _08070F3E -_08070F3C: - movs r0, 0 -_08070F3E: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8070ECC - - thumb_func_start sub_8070F48 -sub_8070F48: @ 8070F48 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08070F68 - movs r1, 0 - bl sub_8070ECC - lsls r0, 24 - cmp r0, 0 - bne _08070F84 - ldr r1, =gUnknown_0832DAC7 - b _08070F86 - .pool -_08070F68: - cmp r1, 0xFE - bne _08070F84 - adds r0, r4, 0 - movs r1, 0xFE - bl sub_8070ECC - lsls r0, 24 - cmp r0, 0 - bne _08070F84 - ldr r1, =gUnknown_0832DAC9 - b _08070F86 - .pool -_08070F84: - ldr r1, =gUnknown_0832DACB -_08070F86: - adds r0, r4, 0 - bl StringAppend - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070F48 - - thumb_func_start sub_8070F98 -sub_8070F98: @ 8070F98 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl GetBoxMonGender - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8070F48 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8070F98 - - thumb_func_start sub_8070FB4 -sub_8070FB4: @ 8070FB4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - mov r8, r0 - adds r7, r1, 0 - movs r0, 0xFF - strb r0, [r7] - movs r6, 0 - add r0, sp, 0x14 - mov r9, r0 -_08070FCC: - movs r0, 0x8C - adds r4, r6, 0 - muls r4, r0 - add r4, r8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - mov r1, sp - adds r5, r1, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBoxMonNick - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8070F98 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bls _08070FCC - adds r0, r7, 0 - mov r1, sp - bl StringCopy - ldr r4, =gText_NewLine2 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - adds r0, r7, 0 - mov r1, r9 - bl StringAppend - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - ldr r1, =gText_Exit4 - adds r0, r7, 0 - bl StringAppend - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070FB4 - - thumb_func_start sub_8071038 -sub_8071038: @ 8071038 - push {r4-r6,lr} - sub sp, 0x14 - adds r6, r0, 0 - adds r4, r1, 0 - movs r0, 0xFF - strb r0, [r4] - movs r5, 0 -_08071046: - adds r0, r4, 0 - ldr r1, =gText_Lv - bl StringAppend - movs r0, 0x8C - adds r2, r5, 0 - muls r2, r0 - adds r0, r6, r2 - adds r1, r6, 0 - adds r1, 0x88 - adds r1, r2 - ldr r1, [r1] - bl sub_806FDEC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - mov r1, sp - bl StringAppend - adds r0, r4, 0 - ldr r1, =gText_NewLine2 - bl StringAppend - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _08071046 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8071038 - - thumb_func_start sub_807109C -sub_807109C: @ 807109C - push {r4-r6,lr} - sub sp, 0x10 - str r1, [sp] - mov r1, sp - movs r5, 0 - strb r0, [r1, 0x4] - mov r0, sp - movs r6, 0x1 - movs r4, 0x1 - strb r4, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - strb r2, [r0, 0x8] - strb r3, [r0, 0x9] - mov r3, sp - ldrb r1, [r3, 0xC] - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r3, 0xC] - ldr r3, =gTextFlags - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - mov r0, sp - strb r5, [r0, 0xA] - strb r4, [r0, 0xB] - mov r3, sp - ldrb r1, [r3, 0xC] - movs r4, 0xF - adds r0, r4, 0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r3, 0xC] - mov r1, sp - ldrb r0, [r1, 0xD] - ands r2, r0 - orrs r2, r6 - strb r2, [r1, 0xD] - ands r2, r4 - movs r0, 0x30 - orrs r2, r0 - strb r2, [r1, 0xD] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807109C - - thumb_func_start sub_8071110 -sub_8071110: @ 8071110 - push {r4-r6,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r3, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x8C - muls r0, r2 - adds r5, r0 - adds r0, r5, 0 - mov r1, sp - bl GetBoxMonNick - mov r0, sp - adds r1, r5, 0 - bl sub_8070F98 - adds r0, r4, 0 - mov r1, sp - movs r2, 0x8 - adds r3, r6, 0 - bl sub_807109C - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8071110 - - thumb_func_start sub_8071148 -sub_8071148: @ 8071148 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gText_Lv - mov r0, sp - bl StringCopy - movs r0, 0x8C - adds r1, r6, 0 - muls r1, r0 - adds r0, r4, r1 - adds r4, 0x88 - adds r4, r1 - ldr r1, [r4] - bl sub_806FDEC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - add r4, sp, 0xC - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, sp - adds r1, r4, 0 - bl StringAppend - movs r0, 0x1 - mov r1, sp - movs r2, 0x70 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - adds r0, r5, 0 - mov r1, sp - mov r3, r8 - bl sub_807109C - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8071148 - - thumb_func_start sub_80711B8 -sub_80711B8: @ 80711B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r6, 0x1 - bhi _080711F0 - ldr r0, =gSaveBlock1Ptr - mov r8, r0 - ldr r0, [r0] - ldr r4, =0x00003030 - adds r0, r4 - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_8071110 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_8071148 -_080711F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80711B8 - - thumb_func_start c3_080469FC -c3_080469FC: @ 8071204 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrb r0, [r4, 0x8] - bl ListMenuHandleInput - adds r1, r0, 0 - ldr r0, =gMain - ldrh r2, [r0, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _08071284 - cmp r1, 0x1 - bls _0807123C - cmp r1, 0x5 - beq _08071248 - b _0807124E - .pool -_0807123C: - ldr r0, =gScriptResult - strh r1, [r0] - b _0807124E - .pool -_08071248: - ldr r1, =gScriptResult - movs r0, 0x2 - strh r0, [r1] -_0807124E: - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_819746C - ldrb r0, [r4, 0xA] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _080712B4 - .pool -_08071284: - movs r1, 0x2 - adds r0, r1, 0 - ands r0, r2 - cmp r0, 0 - beq _080712B4 - ldr r0, =gScriptResult - strh r1, [r0] - ldrb r0, [r4, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_819746C - ldrb r0, [r4, 0xA] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080712B4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end c3_080469FC - - thumb_func_start sub_80712C0 -sub_80712C0: @ 80712C0 - push {r4,r5,lr} - sub sp, 0x18 - ldr r0, =gUnknown_0832B6C0 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_81973FC - mov r1, sp - ldr r0, =gUnknown_0832B6E0 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - strb r4, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =c3_080469FC - movs r1, 0x3 - 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 r5, [r1, 0x8] - strh r4, [r1, 0xA] - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80712C0 - - thumb_func_start sub_8071330 -sub_8071330: @ 8071330 - push {lr} - bl sub_81B9328 - ldr r1, =gMain - ldr r0, =c2_exit_to_overworld_2_switch - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8071330 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s index 40df2d6a0..7d9d67902 100644 --- a/asm/dewford_trend.s +++ b/asm/dewford_trend.s @@ -79,8 +79,8 @@ _08122522: .pool thumb_func_end InitDewfordTrend - thumb_func_start sub_8122580 -sub_8122580: @ 8122580 + thumb_func_start UpdateDewfordTrendPerDay +UpdateDewfordTrendPerDay: @ 8122580 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -253,7 +253,7 @@ _081226BE: pop {r0} bx r0 .pool - thumb_func_end sub_8122580 + thumb_func_end UpdateDewfordTrendPerDay thumb_func_start sub_81226D8 sub_81226D8: @ 81226D8 @@ -667,7 +667,7 @@ sub_81229C8: @ 81229C8 negs r0, r0 lsrs r4, r0, 31 _08122A0C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] pop {r4} pop {r0} @@ -677,7 +677,7 @@ _08122A0C: thumb_func_start sub_8122A30 sub_8122A30: @ 8122A30 - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r3, =0x00002e6c diff --git a/asm/easy_chat.s b/asm/easy_chat.s index e9565dfa9..db2ffac14 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -652,7 +652,7 @@ sub_811A7E4: @ 811A7E4 _0811A804: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen b _0811A840 _0811A80E: ldr r0, =gPaletteFade @@ -1635,7 +1635,7 @@ _0811AF86: thumb_func_start sub_811AF8C sub_811AF8C: @ 811AF8C push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1659,7 +1659,7 @@ _0811AFAC: b _0811AFE6 .pool _0811AFC0: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] ldr r0, =gUnknown_0203A118 ldr r0, [r0] @@ -1684,7 +1684,7 @@ _0811AFE6: thumb_func_start sub_811AFEC sub_811AFEC: @ 811AFEC push {r4,lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1709,7 +1709,7 @@ _0811B00C: .pool _0811B020: bl sub_811BE9C - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_811B4EC strh r0, [r4] bl sub_811B3E4 @@ -1727,7 +1727,7 @@ _0811B03A: thumb_func_start sub_811B040 sub_811B040: @ 811B040 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1832,7 +1832,7 @@ sub_811B0E8: @ 811B0E8 thumb_func_start sub_811B0F8 sub_811B0F8: @ 811B0F8 push {r4,lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1860,7 +1860,7 @@ _0811B118: b _0811B14A .pool _0811B134: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_811B4EC strh r0, [r4] bl sub_811B3E4 @@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0 adds r6, r0, 0 ldr r0, =gSaveBlock1Ptr ldr r4, [r0] - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r0, =0x00003b70 adds r5, r4, r0 adds r0, r5, 0 @@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0 bl TVShowConvertInternationalString movs r0, 0 mov r1, sp - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI b _0811BE3C .pool _0811BE34: ldr r1, =gText_Lady movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI _0811BE3C: ldr r1, =gText_F700sQuiz adds r0, r6, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders add sp, 0x20 pop {r4-r6} pop {r0} @@ -3966,14 +3966,14 @@ _0811BFE0: b _0811C124 .pool _0811C044: - ldr r1, =gUnknown_08DCBDD0 + ldr r1, =gEasyChatWindow_Gfx movs r0, 0 str r0, [sp] movs r0, 0x3 movs r2, 0 movs r3, 0 bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08DCBF10 + ldr r1, =gEasyChatWindow_Tilemap movs r0, 0x3 movs r2, 0 movs r3, 0 @@ -5810,7 +5810,7 @@ sub_811CF04: @ 811CF04 sub_811CF64: @ 811CF64 push {r4,lr} bl ResetPaletteFade - ldr r0, =gUnknown_08DCBDB0 + ldr r0, =gEasyChatMode_Pal movs r1, 0 movs r2, 0x20 bl LoadPalette @@ -6075,7 +6075,7 @@ _0811D19C: b _0811D1BC .pool _0811D1A8: - ldr r0, =gText_CombineTwoWordsOrPhrases + ldr r0, =gText_CombineTwoWordsOrPhrases3 str r0, [sp, 0xC] b _0811D1BC .pool diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index fa923d94b..89e6efa6a 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -62,7 +62,7 @@ _0809BF3C: cmp r6, 0 bne _0809BFA2 _0809BF40: - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x4 @@ -184,7 +184,7 @@ sub_809C014: @ 809C014 push {r4-r6,lr} sub sp, 0x8 adds r5, r0, 0 - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked movs r1, 0 strh r1, [r0] ldr r0, =gSelectedMapObject @@ -443,13 +443,13 @@ _0809C214: ldr r0, =gUnknown_0823B589 cmp r4, r0 beq _0809C244 - ldr r0, =gUnknown_082766A2 + ldr r0, =EventScript_2766A2 cmp r4, r0 beq _0809C244 - ldr r0, =gUnknown_082766A6 + ldr r0, =EventScript_2766A6 cmp r4, r0 beq _0809C244 - ldr r0, =gUnknown_08271D92 + ldr r0, =EventScript_271D92 cmp r4, r0 beq _0809C244 movs r0, 0x5 @@ -582,13 +582,13 @@ _0809C34C: ble _0809C340 ldr r0, =gSelectedMapObject strb r3, [r0] - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked adds r0, r2, r3 lsls r0, 2 adds r0, r5 ldrb r0, [r0, 0x8] strh r0, [r1] - ldr r0, =gScriptFacing + ldr r0, =gSpecialVar_Facing strh r6, [r0] adds r0, r3, 0 bl GetFieldObjectScriptPointerByFieldObjectId @@ -668,13 +668,13 @@ _0809C400: _0809C40C: ldr r0, =gSelectedMapObject strb r4, [r0] - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked adds r0, r2, r4 lsls r0, 2 adds r0, r3 ldrb r0, [r0, 0x8] strh r0, [r1] - ldr r0, =gScriptFacing + ldr r0, =gSpecialVar_Facing strh r7, [r0] bl InTrainerHill cmp r0, 0x1 @@ -687,7 +687,7 @@ _0809C43C: bl GetFieldObjectScriptPointerByFieldObjectId _0809C442: adds r1, r0, 0 - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrb r0, [r0] bl GetRamScript adds r1, r0, 0 @@ -721,7 +721,7 @@ TryGetInvisibleMapObjectScript: @ 809C458 ldr r2, [r0, 0x8] cmp r2, 0 bne _0809C490 - ldr r0, =gUnknown_082C8436 + ldr r0, =EventScript_TestSignpostMsg b _0809C532 .pool _0809C490: @@ -778,7 +778,7 @@ _0809C4E2: lsrs r0, 24 cmp r0, 0x1 beq _0809C4CC - ldr r0, =gUnknown_08271CB7 + ldr r0, =EventScript_271CB7 b _0809C532 .pool _0809C510: @@ -790,7 +790,7 @@ _0809C510: lsls r0, 24 cmp r0, 0 beq _0809C4CC - ldr r0, =gUnknown_082759F1 + ldr r0, =EventScript_2759F1 b _0809C532 .pool _0809C530: @@ -816,7 +816,7 @@ TryGetMetatileBehaviorScript: @ 809C538 lsrs r0, 24 cmp r0, 0x1 bne _0809C55C - ldr r0, =gUnknown_0827EE0B + ldr r0, =EventScript_27EE0B b _0809C7E4 .pool _0809C55C: @@ -826,7 +826,7 @@ _0809C55C: lsrs r0, 24 cmp r0, 0x1 bne _0809C574 - ldr r0, =gUnknown_08271D92 + ldr r0, =EventScript_271D92 b _0809C7E4 .pool _0809C574: @@ -836,7 +836,7 @@ _0809C574: lsrs r0, 24 cmp r0, 0x1 bne _0809C58C - ldr r0, =gUnknown_081E615D + ldr r0, =SootopolisCity_EventScript_1E615D b _0809C7E4 .pool _0809C58C: @@ -846,7 +846,7 @@ _0809C58C: lsrs r0, 24 cmp r0, 0x1 bne _0809C5A4 - ldr r0, =gUnknown_082393F9 + ldr r0, =SkyPillar_Outside_EventScript_2393F9 b _0809C7E4 .pool _0809C5A4: @@ -864,7 +864,7 @@ _0809C5B4: lsrs r0, 24 cmp r0, 0x1 bne _0809C5CC - ldr r0, =gUnknown_082A4BAC + ldr r0, =EventScript_2A4BAC b _0809C7E4 .pool _0809C5CC: @@ -874,7 +874,7 @@ _0809C5CC: lsrs r0, 24 cmp r0, 0x1 bne _0809C5E4 - ldr r0, =gUnknown_0826A22A + ldr r0, =Route110_TrickHouseEntrance_EventScript_26A22A b _0809C7E4 .pool _0809C5E4: @@ -884,7 +884,7 @@ _0809C5E4: lsrs r0, 24 cmp r0, 0x1 bne _0809C5FC - ldr r0, =gUnknown_0827208F + ldr r0, =EventScript_27208F b _0809C7E4 .pool _0809C5FC: @@ -894,7 +894,7 @@ _0809C5FC: lsrs r0, 24 cmp r0, 0x1 bne _0809C614 - ldr r0, =gUnknown_08292DE5 + ldr r0, =EventScript_292DE5 b _0809C7E4 .pool _0809C614: @@ -904,7 +904,7 @@ _0809C614: lsrs r0, 24 cmp r0, 0x1 bne _0809C62C - ldr r0, =gUnknown_082725CE + ldr r0, =EventScript_2725CE b _0809C7E4 .pool _0809C62C: @@ -914,7 +914,7 @@ _0809C62C: lsrs r0, 24 cmp r0, 0x1 bne _0809C644 - ldr r0, =gUnknown_082725D7 + ldr r0, =EventScript_2725D7 b _0809C7E4 .pool _0809C644: @@ -924,7 +924,7 @@ _0809C644: lsrs r0, 24 cmp r0, 0x1 bne _0809C65C - ldr r0, =gUnknown_082725E0 + ldr r0, =EventScript_2725E0 b _0809C7E4 .pool _0809C65C: @@ -934,7 +934,7 @@ _0809C65C: lsrs r0, 24 cmp r0, 0x1 bne _0809C674 - ldr r0, =gUnknown_082725E9 + ldr r0, =EventScript_2725E9 b _0809C7E4 .pool _0809C674: @@ -944,7 +944,7 @@ _0809C674: lsrs r0, 24 cmp r0, 0x1 bne _0809C68C - ldr r0, =gUnknown_082725F2 + ldr r0, =EventScript_2725F2 b _0809C7E4 .pool _0809C68C: @@ -954,7 +954,7 @@ _0809C68C: lsrs r0, 24 cmp r0, 0x1 bne _0809C6A4 - ldr r0, =gUnknown_082725FB + ldr r0, =EventScript_2725FB b _0809C7E4 .pool _0809C6A4: @@ -964,7 +964,7 @@ _0809C6A4: lsrs r0, 24 cmp r0, 0x1 bne _0809C6BC - ldr r0, =gUnknown_08272604 + ldr r0, =EventScript_272604 b _0809C7E4 .pool _0809C6BC: @@ -975,7 +975,7 @@ _0809C6BC: lsrs r0, 24 cmp r0, 0x1 bne _0809C6D4 - ldr r0, =gUnknown_08277B8A + ldr r0, =OldaleTown_PokemonCenter_2F_EventScript_277B8A b _0809C7E4 .pool _0809C6D4: @@ -997,7 +997,7 @@ _0809C6EC: lsrs r0, 24 cmp r0, 0x1 bne _0809C704 - ldr r0, =gUnknown_0827381B + ldr r0, =EventScript_27381B b _0809C7E4 .pool _0809C704: @@ -1007,7 +1007,7 @@ _0809C704: lsrs r0, 24 cmp r0, 0x1 bne _0809C71C - ldr r0, =gUnknown_082C8393 + ldr r0, =TrainerHill_1F_EventScript_2C8393 b _0809C7E4 .pool _0809C71C: @@ -1125,7 +1125,7 @@ TryGetFieldMoveScript: @ 809C7EC lsrs r0, 24 cmp r0, 0x1 bne _0809C824 - ldr r0, =gUnknown_08271EA0 + ldr r0, =EventScript_271EA0 b _0809C862 .pool _0809C824: @@ -1146,11 +1146,11 @@ _0809C824: lsrs r0, 24 cmp r0, 0x1 bne _0809C858 - ldr r0, =gUnknown_08290A49 + ldr r0, =EventScript_290A49 b _0809C862 .pool _0809C858: - ldr r0, =gUnknown_08290A83 + ldr r0, =EventScript_290A83 b _0809C862 .pool _0809C860: @@ -1174,7 +1174,7 @@ sub_809C868: @ 809C868 lsrs r0, 24 cmp r0, 0x2 bne _0809C894 - ldr r0, =gUnknown_08290B0F + ldr r0, =EventScript_290B0F bl ScriptContext1_SetupScript movs r0, 0x1 b _0809C896 @@ -1203,7 +1203,7 @@ sub_809C89C: @ 809C89C lsrs r0, 24 cmp r0, 0x1 bne _0809C8D4 - ldr r0, =gUnknown_08290B5A + ldr r0, =EventScript_290B5A bl ScriptContext1_SetupScript movs r0, 0x1 b _0809C8D6 @@ -1246,7 +1246,7 @@ sub_809C8DC: @ 809C8DC lsrs r0, 24 cmp r0, 0x1 beq _0809C92E - bl sub_80B5870 + bl UpdateRepelCounter lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1310,7 +1310,7 @@ _0809C988: lsls r0, 24 cmp r0, 0 beq _0809C9A4 - ldr r0, =gUnknown_08252BE8 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8 _0809C996: bl ScriptContext1_SetupScript movs r0, 0x1 @@ -1365,7 +1365,7 @@ per_step_scripts: @ 809C9F4 bne _0809CA04 b _0809CB24 _0809CA04: - bl sub_80B215C + bl IncrementRematchStepCounter bl AdjustFriendship_step bl sub_81D4998 ldr r0, =gPlayerAvatar @@ -1385,18 +1385,18 @@ _0809CA04: lsrs r0, 24 cmp r0, 0x1 bne _0809CA48 - ldr r0, =gUnknown_082736BC + ldr r0, =EventScript_2736BC bl ScriptContext1_SetupScript b _0809CB28 .pool _0809CA48: - bl sub_8070BD0 + bl DoEggActions_CheckHatch lsls r0, 24 cmp r0, 0 beq _0809CA64 movs r0, 0xD bl IncrementGameStat - ldr r0, =gUnknown_08291FC0 + ldr r0, =Route117_PokemonDayCare_EventScript_291FC0 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1416,7 +1416,7 @@ _0809CA7C: lsrs r0, 24 cmp r0, 0x1 bne _0809CA94 - ldr r0, =gUnknown_08238EAF + ldr r0, =IslandCave_EventScript_238EAF bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1424,7 +1424,7 @@ _0809CA94: bl is_tile_that_overrides_player_control cmp r0, 0x1 bne _0809CAA8 - ldr r0, =gUnknown_081DF7BA + ldr r0, =MauvilleCity_EventScript_1DF7BA bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1432,7 +1432,7 @@ _0809CAA8: bl sub_8138120 cmp r0, 0x1 bne _0809CABC - ldr r0, =gUnknown_081F49EC + ldr r0, =Route119_EventScript_1F49EC bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1440,7 +1440,7 @@ _0809CABC: bl sub_8138168 cmp r0, 0x1 bne _0809CAD0 - ldr r0, =gUnknown_081FA4D6 + ldr r0, =LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1448,7 +1448,7 @@ _0809CAD0: bl sub_81381B0 cmp r0, 0x1 bne _0809CAE4 - ldr r0, =gUnknown_0821307B + ldr r0, =RustboroCity_Gym_EventScript_21307B bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1456,7 +1456,7 @@ _0809CAE4: bl sub_81381F8 cmp r0, 0x1 bne _0809CAF8 - ldr r0, =gUnknown_08224175 + ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224175 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1470,7 +1470,7 @@ _0809CAF8: bl CountSSTidalStep cmp r0, 0x1 bne _0809CB1C - ldr r0, =gUnknown_0823C050 + ldr r0, =SSTidalCorridor_EventScript_23C050 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1531,8 +1531,8 @@ _0809CB72: .pool thumb_func_end AdjustFriendship_step - thumb_func_start overworld_poison_timer_set -overworld_poison_timer_set: @ 809CB80 + thumb_func_start ResetPoisonStepCounter +ResetPoisonStepCounter: @ 809CB80 push {lr} ldr r0, =0x0000402b movs r1, 0 @@ -1540,7 +1540,7 @@ overworld_poison_timer_set: @ 809CB80 pop {r0} bx r0 .pool - thumb_func_end overworld_poison_timer_set + thumb_func_end ResetPoisonStepCounter thumb_func_start overworld_poison_step overworld_poison_step: @ 809CB94 @@ -1607,7 +1607,7 @@ _0809CC0C: ldr r5, =gUnknown_020375D6 ldrh r1, [r5] adds r0, r4, 0 - bl is_it_battle_time_2 + bl StandardWildEncounter lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2155,7 +2155,7 @@ trigger_activate: @ 809D04C cmp r1, 0 bne _0809D062 ldrb r0, [r4, 0x6] - bl trigger_activate_weather + bl DoCoordEventWeather b _0809D082 _0809D062: ldrh r0, [r4, 0x6] diff --git a/asm/field_door.s b/asm/field_door.s deleted file mode 100644 index 037c76566..000000000 --- a/asm/field_door.s +++ /dev/null @@ -1,754 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_808A400 -sub_808A400: @ 808A400 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - bne _0808A420 - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007e00 - movs r2, 0x80 - bl CpuFastSet - b _0808A42E - .pool -_0808A420: - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007f00 - movs r2, 0x40 - bl CpuFastSet -_0808A42E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A400 - - thumb_func_start door_build_blockdef -door_build_blockdef: @ 808A438 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r1, r6, 0 -_0808A444: - ldrb r0, [r2] - lsls r0, 28 - lsrs r3, r0, 16 - adds r2, 0x1 - adds r0, r5, r4 - orrs r3, r0 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0808A444 - cmp r4, 0x7 - bgt _0808A472 - lsls r0, r4, 1 - adds r1, r0, r6 -_0808A462: - ldrb r0, [r2] - lsls r3, r0, 12 - adds r2, 0x1 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x7 - ble _0808A462 -_0808A472: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end door_build_blockdef - - thumb_func_start door_patch_tilemap -door_patch_tilemap: @ 808A478 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - adds r7, r1, 0 - mov r9, r2 - adds r5, r3, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0x2 - bne _0808A4F4 - add r4, sp, 0x10 - movs r1, 0xFC - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - mov r6, r9 - subs r6, 0x1 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFD - lsls r1, 2 - adds r0, r5, 0x4 - mov r8, r0 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFE - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - adds r5, r7, 0x1 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r5, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - b _0808A522 -_0808A4F4: - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r5, 0 - bl door_build_blockdef - mov r1, r9 - subs r1, 0x1 - adds r0, r7, 0 - mov r2, sp - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r2, r5, 0x4 - mov r0, sp - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - mov r2, sp - bl DrawDoorMetatileAt -_0808A522: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end door_patch_tilemap - - thumb_func_start sub_808A530 -sub_808A530: @ 808A530 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - subs r7, r6, 0x1 - adds r0, r5, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt - ldrb r0, [r4, 0x3] - cmp r0, 0x2 - bne _0808A562 - adds r4, r5, 0x1 - adds r0, r4, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r4, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt -_0808A562: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808A530 - - thumb_func_start sub_808A568 -sub_808A568: @ 808A568 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldrh r1, [r5, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _0808A5B0 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_808A530 - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - adds r0, r4, 0 - bl sub_808A530 - b _0808A5E2 - .pool -_0808A5B0: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808A400 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl door_patch_tilemap - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - bl door_patch_tilemap -_0808A5E2: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A568 - - thumb_func_start sub_808A5F0 -sub_808A5F0: @ 808A5F0 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808A616 - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r5, r1 - movs r0, 0xC - ldrsh r2, [r4, r0] - movs r0, 0xE - ldrsh r3, [r4, r0] - adds r0, r6, 0 - bl sub_808A568 -_0808A616: - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r1, r0 - bne _0808A644 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _0808A64A - movs r0, 0 - b _0808A64C -_0808A644: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_0808A64A: - movs r0, 0x1 -_0808A64C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A5F0 - - thumb_func_start task50_overworld_door -task50_overworld_door: @ 808A654 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - ldr r0, =gTasks + 0x8 - adds r2, r0 - ldrh r1, [r2] - lsls r1, 16 - ldrh r0, [r2, 0x2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 16 - ldrh r3, [r2, 0x6] - orrs r0, r3 - bl sub_808A5F0 - cmp r0, 0 - bne _0808A682 - adds r0, r4, 0 - bl DestroyTask -_0808A682: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task50_overworld_door - - thumb_func_start door_frame_last -door_frame_last: @ 808A68C - push {lr} - adds r1, r0, 0 - b _0808A694 -_0808A692: - adds r1, 0x4 -_0808A694: - ldrb r0, [r1] - cmp r0, 0 - bne _0808A692 - subs r0, r1, 0x4 - pop {r1} - bx r1 - thumb_func_end door_frame_last - - thumb_func_start door_find -door_find: @ 808A6A0 - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - b _0808A6B6 -_0808A6AA: - ldrh r0, [r2] - cmp r0, r1 - bne _0808A6B4 - adds r0, r2, 0 - b _0808A6BE -_0808A6B4: - adds r2, 0xC -_0808A6B6: - ldr r0, [r2, 0x4] - cmp r0, 0 - bne _0808A6AA - movs r0, 0 -_0808A6BE: - pop {r1} - bx r1 - thumb_func_end door_find - - thumb_func_start task_overworld_door_add_if_inactive -task_overworld_door_add_if_inactive: @ 808A6C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r8, r3 - ldr r4, =task50_overworld_door - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0808A718 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, =gTasks + 0x8 - adds r1, r2 - strh r7, [r1, 0xC] - mov r2, r8 - strh r2, [r1, 0xE] - strh r5, [r1, 0x2] - lsrs r2, r5, 16 - strh r2, [r1] - strh r6, [r1, 0x6] - lsrs r2, r6, 16 - strh r2, [r1, 0x4] - lsls r0, 24 - asrs r0, 24 - b _0808A71C - .pool -_0808A718: - movs r0, 0x1 - negs r0, r0 -_0808A71C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end task_overworld_door_add_if_inactive - - thumb_func_start sub_808A728 -sub_808A728: @ 808A728 - push {lr} - bl sub_808A530 - pop {r0} - bx r0 - thumb_func_end sub_808A728 - - thumb_func_start sub_808A734 -sub_808A734: @ 808A734 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r4, r0, 0 - cmp r4, 0 - beq _0808A76A - ldr r1, =gUnknown_08496F8C - adds r0, r1, 0 - bl door_frame_last - adds r1, r0, 0 - adds r0, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_808A568 -_0808A76A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A734 - - thumb_func_start task_overworld_door_add_for_opening_door_at -@ s32 task_overworld_door_add_for_opening_door_at(void *a1, s32 x, s32 y) -task_overworld_door_add_for_opening_door_at: @ 808A774 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r2, r0, 0 - adds r4, r2, 0 - cmp r2, 0 - bne _0808A79E - movs r0, 0x1 - negs r0, r0 - b _0808A7C0 -_0808A79E: - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - beq _0808A7B0 - ldr r1, =gUnknown_08496F8C - adds r0, r2, 0 - b _0808A7B4 - .pool -_0808A7B0: - ldr r1, =gUnknown_08496FB4 - adds r0, r4, 0 -_0808A7B4: - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 -_0808A7C0: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end task_overworld_door_add_for_opening_door_at - - thumb_func_start sub_808A7CC -sub_808A7CC: @ 808A7CC - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _0808A800 - ldr r1, =gUnknown_08496FA0 - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 - b _0808A804 - .pool -_0808A800: - movs r0, 0x1 - negs r0, r0 -_0808A804: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A7CC - - thumb_func_start cur_mapdata_get_door_x2_at -cur_mapdata_get_door_x2_at: @ 808A80C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _0808A830 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0808A834 -_0808A830: - movs r0, 0x1 - negs r0, r0 -_0808A834: - pop {r4} - pop {r1} - bx r1 - thumb_func_end cur_mapdata_get_door_x2_at - - thumb_func_start sub_808A83C -sub_808A83C: @ 808A83C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl task_overworld_door_add_for_opening_door_at - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A83C - - thumb_func_start FieldSetDoorOpened -FieldSetDoorOpened: @ 808A854 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A876 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A734 -_0808A876: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorOpened - - thumb_func_start FieldSetDoorClosed -FieldSetDoorClosed: @ 808A880 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8A2 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A728 -_0808A8A2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorClosed - - thumb_func_start FieldAnimateDoorClose -FieldAnimateDoorClose: @ 808A8AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8D8 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A7CC - lsls r0, 24 - asrs r0, 24 - b _0808A8DC - .pool -_0808A8D8: - movs r0, 0x1 - negs r0, r0 -_0808A8DC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorClose - - thumb_func_start FieldAnimateDoorOpen -FieldAnimateDoorOpen: @ 808A8E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A910 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl task_overworld_door_add_for_opening_door_at - lsls r0, 24 - asrs r0, 24 - b _0808A914 - .pool -_0808A910: - movs r0, 0x1 - negs r0, r0 -_0808A914: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorOpen - - thumb_func_start FieldIsDoorAnimationRunning -FieldIsDoorAnimationRunning: @ 808A91C - push {lr} - ldr r0, =task50_overworld_door - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end FieldIsDoorAnimationRunning - - thumb_func_start GetDoorSoundEffect -GetDoorSoundEffect: @ 808A930 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl cur_mapdata_get_door_x2_at - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0808A958 - cmp r0, 0x1 - bne _0808A954 - movs r0, 0x12 - b _0808A95E - .pool -_0808A954: - cmp r0, 0x2 - beq _0808A95C -_0808A958: - movs r0, 0x8 - b _0808A95E -_0808A95C: - movs r0, 0x2F -_0808A95E: - pop {r1} - bx r1 - thumb_func_end GetDoorSoundEffect - - thumb_func_start sub_808A964 -sub_808A964: @ 808A964 - push {lr} - ldr r0, =0x00004002 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808A990 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x0000101a - cmp r1, r0 - bne _0808A990 - movs r0, 0x1 - b _0808A992 - .pool -_0808A990: - movs r0, 0 -_0808A992: - pop {r1} - bx r1 - thumb_func_end sub_808A964 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_effect.s b/asm/field_effect.s index 964bf8079..80f2030aa 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -498,8 +498,8 @@ _080B5E68: bx r1 thumb_func_end FieldEffectActiveListContains - thumb_func_start sub_80B5E6C -sub_80B5E6C: @ 80B5E6C + thumb_func_start CreateTrainerSprite +CreateTrainerSprite: @ 80B5E6C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -566,7 +566,7 @@ sub_80B5E6C: @ 80B5E6C pop {r1} bx r1 .pool - thumb_func_end sub_80B5E6C + thumb_func_end CreateTrainerSprite thumb_func_start sub_80B5F0C sub_80B5F0C: @ 80B5F0C @@ -764,8 +764,8 @@ _080B608E: bx r0 thumb_func_end sub_80B6070 - thumb_func_start sub_80B609C -sub_80B609C: @ 80B609C + thumb_func_start MultiplyInvertedPaletteRGBComponents +MultiplyInvertedPaletteRGBComponents: @ 80B609C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -832,7 +832,7 @@ sub_80B609C: @ 80B609C pop {r0} bx r0 .pool - thumb_func_end sub_80B609C + thumb_func_end MultiplyInvertedPaletteRGBComponents thumb_func_start sub_80B6128 sub_80B6128: @ 80B6128 @@ -1469,7 +1469,7 @@ _080B65D8: mov r9, r3 add r4, r9 ldrb r3, [r4] - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r4, [r7, 0x32] adds r4, 0x2 mov r0, r8 @@ -1488,7 +1488,7 @@ _080B65D8: ldrb r2, [r2] add r4, r9 ldrb r3, [r4] - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r4, [r7, 0x32] adds r4, 0x1 mov r3, r8 @@ -1507,7 +1507,7 @@ _080B65D8: ldrb r2, [r2] add r4, r9 ldrb r3, [r4] - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r4, [r7, 0x32] lsls r4, 24 lsrs r4, 24 @@ -1527,7 +1527,7 @@ _080B65D8: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r10 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1538,7 +1538,7 @@ _080B65D8: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents movs r3, 0x34 ldrsh r0, [r7, r3] cmp r0, 0x2 @@ -1612,7 +1612,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1624,7 +1624,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1636,7 +1636,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1647,7 +1647,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1658,7 +1658,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents pop {r3} mov r8, r3 pop {r4-r6} @@ -1961,7 +1961,7 @@ mapldr_080842E8: @ 80B69FC movs r1, 0 bl CreateTask bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -1988,7 +1988,7 @@ task00_8084310: @ 80B6A24 lsls r0, 24 cmp r0, 0 beq _080B6A8A - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -2027,7 +2027,7 @@ _080B6A8A: thumb_func_start mapldr_08084390 mapldr_08084390: @ 80B6AA4 push {r4,lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =c3_080843F8 movs r1, 0 @@ -2057,7 +2057,7 @@ mapldr_08084390: @ 80B6AA4 bl FieldObjectTurn _080B6AE6: bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -2113,10 +2113,10 @@ _080B6B58: thumb_func_start sub_80B6B68 sub_80B6B68: @ 80B6B68 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r0, =sub_80B6B94 movs r1, 0 bl CreateTask @@ -2534,7 +2534,7 @@ _080B6E9A: sub_80B6EC0: @ 80B6EC0 push {r4,lr} adds r4, r0, 0 - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 ldrb r0, [r4, 0xA] bl sub_80E1558 @@ -2780,7 +2780,7 @@ _080B709C: thumb_func_start sub_80B70B4 sub_80B70B4: @ 80B70B4 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable ldr r0, =sub_80B70DC @@ -3476,7 +3476,7 @@ sub_80B764C: @ 80B764C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 movs r0, 0 bl SetCameraPanningCallback @@ -3747,7 +3747,7 @@ _080B784C: thumb_func_start mapldr_080851BC mapldr_080851BC: @ 80B7868 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable ldr r0, =gFieldCallback @@ -3807,7 +3807,7 @@ sub_80B78EC: @ 80B78EC adds r5, r0, 0 adds r4, r1, 0 bl CameraObjectReset2 - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] @@ -4055,7 +4055,7 @@ sub_80B7AE8: @ 80B7AE8 push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 ldr r1, =gPlayerAvatar movs r0, 0x1 @@ -4287,7 +4287,7 @@ _080B7CC4: sub_80B7CC8: @ 80B7CC8 push {lr} bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r0, =sub_80B7CE4 movs r1, 0x50 bl CreateTask @@ -4458,10 +4458,10 @@ _080B7E40: thumb_func_start mapldr_080859D4 mapldr_080859D4: @ 80B7E48 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -4672,7 +4672,7 @@ sub_80B800C: @ 80B800C push {r4,lr} adds r4, r0, 0 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 bl player_get_direction_lower_nybble lsls r0, 24 @@ -4903,10 +4903,10 @@ _080B81E6: thumb_func_start mapldr_08085D88 mapldr_08085D88: @ 80B8200 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -6295,7 +6295,7 @@ sub_80B8D44: @ 80B8D44 ldr r0, =gFieldEffectArguments ldr r0, [r0] strh r0, [r1, 0x26] - bl sav1_reset_battle_music_maybe + bl Overworld_ClearSavedMusic ldr r0, =0x0000016d bl Overworld_ChangeMusicTo movs r0, 0 @@ -6334,7 +6334,7 @@ sub_80B8DB4: @ 80B8DB4 push {r6} adds r4, r0, 0 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r5, =gPlayerAvatar movs r0, 0x1 strb r0, [r5, 0x6] diff --git a/asm/field_message_box.s b/asm/field_message_box.s deleted file mode 100644 index 0c1fae6de..000000000 --- a/asm/field_message_box.s +++ /dev/null @@ -1,337 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8098128 -sub_8098128: @ 8098128 - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - subs r1, 0x2 - ands r0, r1 - subs r1, 0x4 - ands r0, r1 - strb r0, [r2] - bx lr - .pool - thumb_func_end sub_8098128 - - thumb_func_start sub_8098154 -sub_8098154: @ 8098154 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08098188 - cmp r0, 0x1 - bgt _0809817C - cmp r0, 0 - beq _08098182 - b _080981B0 - .pool -_0809817C: - cmp r0, 0x2 - beq _08098198 - b _080981B0 -_08098182: - bl sub_81973A4 - b _08098190 -_08098188: - movs r0, 0 - movs r1, 0x1 - bl sub_81973C4 -_08098190: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080981B0 -_08098198: - bl sub_8197224 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _080981B0 - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_080981B0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098154 - - thumb_func_start task_add_textbox -task_add_textbox: @ 80981BC - push {lr} - ldr r0, =sub_8098154 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end task_add_textbox - - thumb_func_start task_del_textbox -task_del_textbox: @ 80981D0 - push {lr} - ldr r0, =sub_8098154 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080981E4 - bl DestroyTask -_080981E4: - pop {r0} - bx r0 - .pool - thumb_func_end task_del_textbox - - thumb_func_start ShowFieldMessage -ShowFieldMessage: @ 80981EC - push {r4,lr} - adds r1, r0, 0 - ldr r4, =gUnknown_020375BC - ldrb r0, [r4] - cmp r0, 0 - bne _0809820C - adds r0, r1, 0 - movs r1, 0x1 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x2 - strb r0, [r4] - movs r0, 0x1 - b _0809820E - .pool -_0809820C: - movs r0, 0 -_0809820E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ShowFieldMessage - - thumb_func_start sub_8098214 -sub_8098214: @ 8098214 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8196094 - adds r1, r0, 0 - cmp r1, 0 - bne _0809822E - ldr r0, =gUnknown_020375BC - strb r1, [r0] - adds r0, r4, 0 - bl DestroyTask -_0809822E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098214 - - thumb_func_start sub_8098238 -sub_8098238: @ 8098238 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_020375BC - ldrb r0, [r5] - cmp r0, 0 - bne _08098270 - ldr r0, =gStringVar4 - adds r1, r4, 0 - bl StringExpandPlaceholders - ldr r0, =sub_8098214 - movs r1, 0 - bl CreateTask - adds r0, r4, 0 - bl sub_8196080 - movs r0, 0x2 - strb r0, [r5] - movs r0, 0x1 - b _08098272 - .pool -_08098270: - movs r0, 0 -_08098272: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8098238 - - thumb_func_start ShowFieldAutoScrollMessage -ShowFieldAutoScrollMessage: @ 8098278 - push {lr} - adds r1, r0, 0 - ldr r2, =gUnknown_020375BC - ldrb r0, [r2] - cmp r0, 0 - bne _08098298 - movs r0, 0x3 - strb r0, [r2] - adds r0, r1, 0 - movs r1, 0 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - b _0809829A - .pool -_08098298: - movs r0, 0 -_0809829A: - pop {r1} - bx r1 - thumb_func_end ShowFieldAutoScrollMessage - - thumb_func_start sub_80982A0 -sub_80982A0: @ 80982A0 - push {lr} - ldr r2, =gUnknown_020375BC - movs r1, 0x3 - strb r1, [r2] - movs r1, 0x1 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80982A0 - - thumb_func_start sub_80982B8 -sub_80982B8: @ 80982B8 - push {lr} - ldr r1, =gUnknown_020375BC - ldrb r0, [r1] - cmp r0, 0 - bne _080982D4 - movs r0, 0x2 - strb r0, [r1] - bl textbox_auto_and_task_add - movs r0, 0x1 - b _080982D6 - .pool -_080982D4: - movs r0, 0 -_080982D6: - pop {r1} - bx r1 - thumb_func_end sub_80982B8 - - thumb_func_start textbox_fdecode_auto_and_task_add -textbox_fdecode_auto_and_task_add: @ 80982DC - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldr r0, =gStringVar4 - adds r1, r2, 0 - bl StringExpandPlaceholders - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl AddTextPrinterForMessage - bl task_add_textbox - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end textbox_fdecode_auto_and_task_add - - thumb_func_start textbox_auto_and_task_add -textbox_auto_and_task_add: @ 8098304 - push {lr} - movs r0, 0x1 - bl AddTextPrinterForMessage - bl task_add_textbox - pop {r0} - bx r0 - thumb_func_end textbox_auto_and_task_add - - thumb_func_start HideFieldMessageBox -HideFieldMessageBox: @ 8098314 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end HideFieldMessageBox - - thumb_func_start textbox_any_visible -textbox_any_visible: @ 8098330 - ldr r0, =gUnknown_020375BC - ldrb r0, [r0] - bx lr - .pool - thumb_func_end textbox_any_visible - - thumb_func_start IsFieldMessageBoxHidden -IsFieldMessageBoxHidden: @ 809833C - push {lr} - ldr r0, =gUnknown_020375BC - ldrb r0, [r0] - cmp r0, 0 - beq _08098350 - movs r0, 0 - b _08098352 - .pool -_08098350: - movs r0, 0x1 -_08098352: - pop {r1} - bx r1 - thumb_func_end IsFieldMessageBoxHidden - - thumb_func_start sub_8098358 -sub_8098358: @ 8098358 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl sub_81973FC - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098358 - - thumb_func_start sub_8098374 -sub_8098374: @ 8098374 - push {lr} - bl task_del_textbox - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098374 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 34ff54f61..cd4f83681 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -57,7 +57,7 @@ player_step: @ 808A9C0 bne _0808AA26 adds r0, r7, 0 adds r1, r6, 0 - bl sub_8119C3C + bl Bike_TryAcroBikeHistoryUpdate adds r0, r5, 0 mov r1, r8 bl TryInterruptFieldObjectSpecialAnim @@ -405,7 +405,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58 thumb_func_start ForcedMovement_Slip ForcedMovement_Slip: @ 808AC8C push {lr} - ldr r0, =PlayerGoSpeed1 + ldr r0, =PlayerGoSpeed2 bl DoForcedMovementInCurrentDirection lsls r0, 24 lsrs r0, 24 @@ -417,7 +417,7 @@ ForcedMovement_Slip: @ 808AC8C thumb_func_start ForcedMovement_WalkSouth ForcedMovement_WalkSouth: @ 808ACA0 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -430,7 +430,7 @@ ForcedMovement_WalkSouth: @ 808ACA0 thumb_func_start ForcedMovement_WalkNorth ForcedMovement_WalkNorth: @ 808ACB8 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x2 bl DoForcedMovement lsls r0, 24 @@ -443,7 +443,7 @@ ForcedMovement_WalkNorth: @ 808ACB8 thumb_func_start ForcedMovement_WalkWest ForcedMovement_WalkWest: @ 808ACD0 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x3 bl DoForcedMovement lsls r0, 24 @@ -456,7 +456,7 @@ ForcedMovement_WalkWest: @ 808ACD0 thumb_func_start ForcedMovement_WalkEast ForcedMovement_WalkEast: @ 808ACE8 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x4 bl DoForcedMovement lsls r0, 24 @@ -469,7 +469,7 @@ ForcedMovement_WalkEast: @ 808ACE8 thumb_func_start ForcedMovement_PushedSouthByCurrent ForcedMovement_PushedSouthByCurrent: @ 808AD00 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -482,7 +482,7 @@ ForcedMovement_PushedSouthByCurrent: @ 808AD00 thumb_func_start ForcedMovement_PushedNorthByCurrent ForcedMovement_PushedNorthByCurrent: @ 808AD18 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x2 bl DoForcedMovement lsls r0, 24 @@ -495,7 +495,7 @@ ForcedMovement_PushedNorthByCurrent: @ 808AD18 thumb_func_start ForcedMovement_PushedWestByCurrent ForcedMovement_PushedWestByCurrent: @ 808AD30 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x3 bl DoForcedMovement lsls r0, 24 @@ -508,7 +508,7 @@ ForcedMovement_PushedWestByCurrent: @ 808AD30 thumb_func_start ForcedMovement_PushedEastByCurrent ForcedMovement_PushedEastByCurrent: @ 808AD48 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x4 bl DoForcedMovement lsls r0, 24 @@ -548,7 +548,7 @@ ForcedMovement_Slide: @ 808AD60 thumb_func_start ForcedMovement_SlideSouth ForcedMovement_SlideSouth: @ 808AD98 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x1 bl ForcedMovement_Slide lsls r0, 24 @@ -561,7 +561,7 @@ ForcedMovement_SlideSouth: @ 808AD98 thumb_func_start ForcedMovement_SlideNorth ForcedMovement_SlideNorth: @ 808ADB0 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x2 bl ForcedMovement_Slide lsls r0, 24 @@ -574,7 +574,7 @@ ForcedMovement_SlideNorth: @ 808ADB0 thumb_func_start ForcedMovement_SlideWest ForcedMovement_SlideWest: @ 808ADC8 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x3 bl ForcedMovement_Slide lsls r0, 24 @@ -587,7 +587,7 @@ ForcedMovement_SlideWest: @ 808ADC8 thumb_func_start ForcedMovement_SlideEast ForcedMovement_SlideEast: @ 808ADE0 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x4 bl ForcedMovement_Slide lsls r0, 24 @@ -630,19 +630,19 @@ ForcedMovement_MuddySlope: @ 808AE10 ands r0, r1 cmp r0, 0x20 bne _0808AE36 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x3 bgt _0808AE60 _0808AE36: movs r0, 0 - bl sub_811A114 + bl Bike_UpdateBikeCounterSpeed ldrb r0, [r4, 0x1] movs r1, 0x2 orrs r0, r1 strb r0, [r4, 0x1] - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -791,7 +791,7 @@ _0808AF4E: cmp r0, 0 beq _0808AF68 adds r0, r5, 0 - bl PlayerGoSpeed1 + bl PlayerGoSpeed2 b _0808AFB6 .pool _0808AF68: @@ -829,7 +829,7 @@ _0808AF68: .pool _0808AFB0: adds r0, r5, 0 - bl PlayerGoSpeed0 + bl PlayerGoSpeed1 _0808AFB6: pop {r4-r6} pop {r0} @@ -1471,7 +1471,7 @@ PlayerAvatarTransition_MachBike: @ 808B46C bl SetPlayerAvatarStateMask movs r0, 0 movs r1, 0 - bl sub_811A0D0 + bl BikeClearState pop {r4} pop {r0} bx r0 @@ -1497,8 +1497,8 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0 bl SetPlayerAvatarStateMask movs r0, 0 movs r1, 0 - bl sub_811A0D0 - bl sub_811A188 + bl BikeClearState + bl Bike_HandleBumpySlopeJump pop {r4} pop {r0} bx r0 @@ -1774,9 +1774,9 @@ sub_808B6BC: @ 808B6BC .pool thumb_func_end sub_808B6BC - thumb_func_start player_npc_set_state_and_x22_etc -@ void player_npc_set_state_and_x22_etc(u8 animState, u8 a2) -player_npc_set_state_and_x22_etc: @ 808B6E4 + thumb_func_start PlayerSetAnimId +@ void PlayerSetAnimId(u8 animState, u8 a2) +PlayerSetAnimId: @ 808B6E4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 @@ -1802,11 +1802,11 @@ _0808B712: pop {r0} bx r0 .pool - thumb_func_end player_npc_set_state_and_x22_etc + thumb_func_end PlayerSetAnimId - thumb_func_start PlayerGoSpeed0 -@ void PlayerGoSpeed0(u8 direction) -PlayerGoSpeed0: @ 808B720 + thumb_func_start PlayerGoSpeed1 +@ void PlayerGoSpeed1(u8 direction) +PlayerGoSpeed1: @ 808B720 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1814,14 +1814,14 @@ PlayerGoSpeed0: @ 808B720 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed0 + thumb_func_end PlayerGoSpeed1 - thumb_func_start PlayerGoSpeed1 -@ void PlayerGoSpeed1(u8 direction) -PlayerGoSpeed1: @ 808B738 + thumb_func_start PlayerGoSpeed2 +@ void PlayerGoSpeed2(u8 direction) +PlayerGoSpeed2: @ 808B738 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1829,14 +1829,14 @@ PlayerGoSpeed1: @ 808B738 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed1 + thumb_func_end PlayerGoSpeed2 - thumb_func_start PlayerGoSpeed2 -@ void PlayerGoSpeed2(u8 direction) -PlayerGoSpeed2: @ 808B750 + thumb_func_start PlayerGoSpeed3 +@ void PlayerGoSpeed3(u8 direction) +PlayerGoSpeed3: @ 808B750 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1844,14 +1844,14 @@ PlayerGoSpeed2: @ 808B750 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed2 + thumb_func_end PlayerGoSpeed3 - thumb_func_start PlayerGoSpeed3 -@ void PlayerGoSpeed3(u8 direction) -PlayerGoSpeed3: @ 808B768 + thumb_func_start PlayerGoSpeed4 +@ void PlayerGoSpeed4(u8 direction) +PlayerGoSpeed4: @ 808B768 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1859,10 +1859,10 @@ PlayerGoSpeed3: @ 808B768 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed3 + thumb_func_end PlayerGoSpeed4 thumb_func_start PlayerRun @ void PlayerRun(u8 direction) @@ -1874,7 +1874,7 @@ PlayerRun: @ 808B780 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerRun @@ -1893,7 +1893,7 @@ PlayerOnBikeCollide: @ 808B798 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -1909,7 +1909,7 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerOnBikeCollideWithFarawayIslandMew @@ -1928,7 +1928,7 @@ PlayerNotOnBikeCollide: @ 808B7D4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -1944,7 +1944,7 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerNotOnBikeCollideWithFarawayIslandMew @@ -1959,7 +1959,7 @@ PlayerFaceDirection: @ 808B810 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerFaceDirection @@ -1974,7 +1974,7 @@ PlayerTurnInPlace: @ 808B828 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerTurnInPlace @@ -1993,7 +1993,7 @@ PlayerJumpLedge: @ 808B840 lsls r0, 24 lsrs r0, 24 movs r1, 0x8 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -2033,8 +2033,8 @@ _0808B89A: .pool thumb_func_end sub_808B864 - thumb_func_start sub_808B8A8 -sub_808B8A8: @ 808B8A8 + thumb_func_start PlayerIdleWheelie +PlayerIdleWheelie: @ 808B8A8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2042,13 +2042,13 @@ sub_808B8A8: @ 808B8A8 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8A8 + thumb_func_end PlayerIdleWheelie - thumb_func_start sub_808B8C0 -sub_808B8C0: @ 808B8C0 + thumb_func_start PlayerStartWheelie +PlayerStartWheelie: @ 808B8C0 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2056,13 +2056,13 @@ sub_808B8C0: @ 808B8C0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8C0 + thumb_func_end PlayerStartWheelie - thumb_func_start sub_808B8D8 -sub_808B8D8: @ 808B8D8 + thumb_func_start PlayerEndWheelie +PlayerEndWheelie: @ 808B8D8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2070,13 +2070,13 @@ sub_808B8D8: @ 808B8D8 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8D8 + thumb_func_end PlayerEndWheelie - thumb_func_start sub_808B8F0 -sub_808B8F0: @ 808B8F0 + thumb_func_start PlayerStandingHoppingWheelie +PlayerStandingHoppingWheelie: @ 808B8F0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2088,14 +2088,14 @@ sub_808B8F0: @ 808B8F0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B8F0 + thumb_func_end PlayerStandingHoppingWheelie - thumb_func_start sub_808B914 -sub_808B914: @ 808B914 + thumb_func_start PlayerMovingHoppingWheelie +PlayerMovingHoppingWheelie: @ 808B914 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2107,14 +2107,14 @@ sub_808B914: @ 808B914 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B914 + thumb_func_end PlayerMovingHoppingWheelie - thumb_func_start sub_808B938 -sub_808B938: @ 808B938 + thumb_func_start PlayerLedgeHoppingWheelie +PlayerLedgeHoppingWheelie: @ 808B938 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2126,14 +2126,14 @@ sub_808B938: @ 808B938 lsls r0, 24 lsrs r0, 24 movs r1, 0x8 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B938 + thumb_func_end PlayerLedgeHoppingWheelie - thumb_func_start sub_808B95C -sub_808B95C: @ 808B95C + thumb_func_start PlayerAcroTurnJump +PlayerAcroTurnJump: @ 808B95C push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2145,11 +2145,11 @@ sub_808B95C: @ 808B95C lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B95C + thumb_func_end PlayerAcroTurnJump thumb_func_start sub_808B980 sub_808B980: @ 808B980 @@ -2164,7 +2164,7 @@ sub_808B980: @ 808B980 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -2179,7 +2179,7 @@ sub_808B9A4: @ 808B9A4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end sub_808B9A4 @@ -2193,7 +2193,7 @@ sub_808B9BC: @ 808B9BC lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end sub_808B9BC @@ -2207,7 +2207,7 @@ npc_use_some_d2s: @ 808B9D4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end npc_use_some_d2s @@ -2592,9 +2592,9 @@ sub_808BCF4: @ 808BCF4 lsls r0, 24 cmp r0, 0 beq _0808BD2C - bl sub_811A188 + bl Bike_HandleBumpySlopeJump movs r0, 0 - bl sub_811A114 + bl Bike_UpdateBikeCounterSpeed _0808BD2C: pop {r4} pop {r0} @@ -2602,8 +2602,8 @@ _0808BD2C: .pool thumb_func_end sub_808BCF4 - thumb_func_start sub_808BD3C -sub_808BD3C: @ 808BD3C + thumb_func_start GetRivalAvatarGraphicsIdByStateIdAndGender +GetRivalAvatarGraphicsIdByStateIdAndGender: @ 808BD3C lsls r0, 24 lsls r1, 24 lsrs r1, 24 @@ -2614,7 +2614,7 @@ sub_808BD3C: @ 808BD3C ldrb r0, [r1] bx lr .pool - thumb_func_end sub_808BD3C + thumb_func_end GetRivalAvatarGraphicsIdByStateIdAndGender thumb_func_start GetPlayerAvatarGraphicsIdByStateIdAndGender @ u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 stateId, u8 gender) @@ -3896,7 +3896,7 @@ sub_808C750: @ 808C750 lsls r4, 24 lsrs r4, 24 bl ScriptContext2_Enable - bl sav1_reset_battle_music_maybe + bl Overworld_ClearSavedMusic bl Overworld_ChangeMusicToDefault ldr r2, =gPlayerAvatar ldrb r1, [r2] @@ -4316,7 +4316,7 @@ fish5: @ 808CABC adds r0, 0x1 strh r0, [r5, 0x8] movs r6, 0 - bl GetFishingWildMonListHeader + bl DoesCurrentMapHaveFishingMons lsls r0, 24 cmp r0, 0 bne _0808CADC @@ -4538,7 +4538,7 @@ fish9: @ 808CC64 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -4640,7 +4640,7 @@ _0808CD58: ldrh r0, [r5, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_80B5734 + bl FishingWildEncounter movs r0, 0x1 bl sub_80ED950 ldr r0, =Task_Fish @@ -4695,7 +4695,7 @@ fishB: @ 808CD94 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0xD strh r0, [r5, 0x8] movs r0, 0x1 @@ -4743,7 +4743,7 @@ fishC: @ 808CE04 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized ldrh r0, [r5, 0x8] adds r0, 0x1 strh r0, [r5, 0x8] diff --git a/asm/field_poison.s b/asm/field_poison.s deleted file mode 100644 index 652026523..000000000 --- a/asm/field_poison.s +++ /dev/null @@ -1,323 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F9568 -sub_80F9568: @ 80F9568 - push {lr} - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080F9580 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _080F9584 -_080F9580: - movs r0, 0 - b _080F9586 -_080F9584: - movs r0, 0x1 -_080F9586: - pop {r1} - bx r1 - thumb_func_end sub_80F9568 - - thumb_func_start sub_80F958C -sub_80F958C: @ 80F958C - push {r4,r5,lr} - ldr r4, =gPlayerParty - movs r5, 0 -_080F9592: - adds r0, r4, 0 - bl sub_80F9568 - cmp r0, 0 - beq _080F95B0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080F95B0 - movs r0, 0 - b _080F95BA - .pool -_080F95B0: - adds r5, 0x1 - adds r4, 0x64 - cmp r5, 0x5 - ble _080F9592 - movs r0, 0x1 -_080F95BA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F958C - - thumb_func_start sub_80F95C0 -sub_80F95C0: @ 80F95C0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r0, =gPlayerParty - adds r4, r0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x7 - bl AdjustFriendship - adds r0, r4, 0 - movs r1, 0x37 - mov r2, sp - bl SetMonData - ldr r5, =gStringVar1 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl GetMonData - adds r0, r5, 0 - bl StringGetEnd10 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F95C0 - - thumb_func_start sub_80F960C -sub_80F960C: @ 80F960C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - bl sub_80F9568 - cmp r0, 0 - beq _080F964C - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080F964C - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F964C - movs r0, 0x1 - b _080F964E - .pool -_080F964C: - movs r0, 0 -_080F964E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80F960C - - thumb_func_start sub_80F9654 -sub_80F9654: @ 80F9654 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080F96AE - cmp r5, 0x1 - bgt _080F967C - cmp r5, 0 - beq _080F9682 - b _080F9722 - .pool -_080F967C: - cmp r5, 0x2 - beq _080F96C0 - b _080F9722 -_080F9682: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x5 - bgt _080F96A8 -_080F968C: - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80F960C - cmp r0, 0 - bne _080F96FC - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - adds r1, r0, 0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080F968C -_080F96A8: - movs r0, 0x2 - strh r0, [r4] - b _080F9722 -_080F96AE: - bl IsFieldMessageBoxHidden - lsls r0, 24 - cmp r0, 0 - beq _080F9722 - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - b _080F9722 -_080F96C0: - bl sub_80F958C - adds r1, r0, 0 - cmp r1, 0 - beq _080F9714 - bl InBattlePyramid - adds r4, r0, 0 - bl InBattlePike - orrs r4, r0 - lsls r4, 24 - cmp r4, 0 - bne _080F96E6 - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080F96F0 -_080F96E6: - ldr r0, =gScriptResult - strh r5, [r0] - b _080F9718 - .pool -_080F96F0: - ldr r1, =gScriptResult - movs r0, 0x1 - strh r0, [r1] - b _080F9718 - .pool -_080F96FC: - ldrb r0, [r4, 0x2] - bl sub_80F95C0 - ldr r0, =gText_PkmnFainted3 - bl ShowFieldMessage - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080F9722 - .pool -_080F9714: - ldr r0, =gScriptResult - strh r1, [r0] -_080F9718: - bl EnableBothScriptContexts - adds r0, r6, 0 - bl DestroyTask -_080F9722: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9654 - - thumb_func_start sub_80F972C -sub_80F972C: @ 80F972C - push {lr} - ldr r0, =sub_80F9654 - movs r1, 0x50 - bl CreateTask - bl ScriptContext1_Stop - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F972C - - thumb_func_start overworld_poison -overworld_poison: @ 80F9744 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, =gPlayerParty - movs r7, 0 - movs r6, 0 - movs r5, 0x5 -_080F9750: - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _080F9794 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F9794 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - str r0, [sp] - cmp r0, 0 - beq _080F9786 - subs r0, 0x1 - str r0, [sp] - cmp r0, 0 - bne _080F9788 -_080F9786: - adds r6, 0x1 -_080F9788: - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl SetMonData - adds r7, 0x1 -_080F9794: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _080F9750 - cmp r6, 0 - bne _080F97A4 - cmp r7, 0 - beq _080F97A8 -_080F97A4: - bl overworld_posion_effect -_080F97A8: - cmp r6, 0 - beq _080F97B4 - movs r0, 0x2 - b _080F97BE - .pool -_080F97B4: - cmp r7, 0 - bne _080F97BC - movs r0, 0 - b _080F97BE -_080F97BC: - movs r0, 0x1 -_080F97BE: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end overworld_poison - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_region_map.s b/asm/field_region_map.s deleted file mode 100644 index 512dfb151..000000000 --- a/asm/field_region_map.s +++ /dev/null @@ -1,325 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_817018C -sub_817018C: @ 817018C - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0 - bl SetVBlankCallback - ldr r4, =gUnknown_0203BCD0 - movs r0, 0x89 - lsls r0, 4 - bl Alloc - str r0, [r4] - ldr r1, =0x0000088c - adds r2, r0, r1 - movs r1, 0 - strh r1, [r2] - str r5, [r0] - ldr r0, =sub_81701C4 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817018C - - thumb_func_start sub_81701C4 -sub_81701C4: @ 81701C4 - push {lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085E5068 - movs r0, 0x1 - movs r2, 0x2 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085E5070 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x27 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - ldr r0, =sub_8170274 - bl SetMainCallback2 - ldr r0, =sub_8170260 - bl SetVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_81701C4 - - thumb_func_start sub_8170260 -sub_8170260: @ 8170260 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8170260 - - thumb_func_start sub_8170274 -sub_8170274: @ 8170274 - push {lr} - bl sub_8170290 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl do_scheduled_bg_tilemap_copies_to_vram - pop {r0} - bx r0 - thumb_func_end sub_8170274 - - thumb_func_start sub_8170290 -sub_8170290: @ 8170290 - push {r4,r5,lr} - sub sp, 0xC - ldr r1, =gUnknown_0203BCD0 - ldr r0, [r1] - ldr r2, =0x0000088c - adds r0, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _081702A6 - b _08170416 -_081702A6: - lsls r0, 2 - ldr r1, =_081702BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081702BC: - .4byte _081702D8 - .4byte _08170300 - .4byte _08170358 - .4byte _08170380 - .4byte _08170394 - .4byte _081703C0 - .4byte _081703E8 -_081702D8: - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - bl sub_8122CDC - movs r0, 0 - movs r1, 0 - bl sub_8124288 - movs r0, 0x1 - movs r1, 0x1 - bl sub_81240D4 - ldr r1, [r4] - ldr r0, =0x0000088c - adds r1, r0 - b _081703D8 - .pool -_08170300: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x27 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r5, =gText_Hoenn - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - movs r1, 0 - movs r2, 0x27 - movs r3, 0xD - bl SetWindowBorderStyle - bl sub_8170428 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - b _081703CC - .pool -_08170358: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =gUnknown_0203BCD0 - ldr r1, [r0] - ldr r0, =0x0000088c - adds r1, r0 - b _081703D8 - .pool -_08170380: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08170416 - ldr r1, [r4] - b _081703D4 - .pool -_08170394: - bl sub_81230AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _081703A6 - bl sub_8170428 - b _08170416 -_081703A6: - cmp r0, 0x3 - blt _08170416 - cmp r0, 0x5 - bgt _08170416 - ldr r0, =gUnknown_0203BCD0 - ldr r1, [r0] - ldr r0, =0x0000088c - adds r1, r0 - b _081703D8 - .pool -_081703C0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_081703CC: - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203BCD0 - ldr r1, [r0] -_081703D4: - ldr r2, =0x0000088c - adds r1, r2 -_081703D8: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08170416 - .pool -_081703E8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08170416 - bl sub_812305C - ldr r4, =gUnknown_0203BCD0 - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r4] - cmp r0, 0 - beq _08170412 - bl Free - str r5, [r4] -_08170412: - bl FreeAllWindowBuffers -_08170416: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170290 - - thumb_func_start sub_8170428 -sub_8170428: @ 8170428 - push {r4,lr} - sub sp, 0xC - ldr r4, =gUnknown_0203BCD0 - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _08170460 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, [r4] - adds r2, 0xC - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - b _08170470 - .pool -_08170460: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08170470: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8170428 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_screen.s b/asm/field_screen.s index 4ab8a5a53..d05028cc6 100644 --- a/asm/field_screen.s +++ b/asm/field_screen.s @@ -1625,8 +1625,8 @@ _080ABCBC: .pool thumb_func_end sub_80ABC7C - thumb_func_start fade_screen -fade_screen: @ 80ABCD0 + thumb_func_start FadeScreen +FadeScreen: @ 80ABCD0 push {r4,r5,lr} sub sp, 0x4 lsls r0, 24 @@ -1762,7 +1762,7 @@ _080ABDE4: pop {r0} bx r0 .pool - thumb_func_end fade_screen + thumb_func_end FadeScreen thumb_func_start sub_80ABDFC sub_80ABDFC: @ 80ABDFC @@ -2339,43 +2339,43 @@ _080AC290: .4byte _080AC300 _080AC2B8: movs r0, 0x1 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2C0: movs r0, 0x2 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2C8: movs r0, 0x3 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2D0: movs r0, 0x4 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2D8: movs r0, 0x5 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2E0: movs r0, 0x6 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2E8: movs r0, 0x9 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2F0: movs r0, 0x7 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2F8: movs r0, 0x8 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC300: movs r0, 0xB - bl sub_80AEDF0 + bl SetWeather _080AC306: pop {r0} bx r0 @@ -2472,15 +2472,15 @@ _080AC3B6: bx r0 thumb_func_end play_some_sound - thumb_func_start sub_80AC3BC -sub_80AC3BC: @ 80AC3BC + thumb_func_start IsWeatherChangeComplete +IsWeatherChangeComplete: @ 80AC3BC ldr r0, =gUnknown_02038454 ldr r1, =0x000006d3 adds r0, r1 ldrb r0, [r0] bx lr .pool - thumb_func_end sub_80AC3BC + thumb_func_end IsWeatherChangeComplete thumb_func_start sub_80AC3D0 sub_80AC3D0: @ 80AC3D0 @@ -2725,13 +2725,13 @@ sub_80AC594: @ 80AC594 ldrb r0, [r0] cmp r0, 0x1 beq _080AC650 - ldr r0, =gUnknown_0854FB5C + ldr r0, =sCloudSpriteSheet bl LoadSpriteSheet ldr r0, =gUnknown_0854C290 bl sub_80ABF4C movs r5, 0 _080AC5B2: - ldr r0, =gUnknown_0854FB78 + ldr r0, =sCloudSpriteTemplate movs r1, 0 movs r2, 0 movs r3, 0xFF @@ -3676,7 +3676,7 @@ sub_80ACD78: @ 80ACD78 b _080ACE98 _080ACD92: ldrb r7, [r2] - ldr r0, =gUnknown_0854FC2C + ldr r0, =gSpriteTemplate_854FC2C ldr r2, =gUnknown_0854FB90 lsls r6, r7, 2 adds r2, r6, r2 @@ -5461,7 +5461,7 @@ sub_80ADCAC: @ 80ADCAC bl LoadSpriteSheet movs r5, 0 _080ADCD0: - ldr r0, =gUnknown_0854FD18 + ldr r0, =gSpriteTemplate_854FD18 movs r1, 0 movs r2, 0 movs r3, 0xFF @@ -5792,7 +5792,7 @@ sub_80ADF6C: @ 80ADF6C bne _080AE008 movs r5, 0 _080ADF80: - ldr r0, =gUnknown_0854FD58 + ldr r0, =gSpriteTemplate_854FD58 movs r1, 0 movs r2, 0 movs r3, 0x4E @@ -6240,7 +6240,7 @@ _080AE314: adds r5, r0, 0 lsls r2, r5, 22 asrs r2, 16 - ldr r0, =gUnknown_0854FD8C + ldr r0, =gSpriteTemplate_854FD8C movs r1, 0 movs r3, 0xFF bl CreateSpriteAtEnd @@ -6753,7 +6753,7 @@ _080AE758: adds r6, r0, 0 lsls r2, r6, 22 asrs r2, 16 - ldr r0, =gUnknown_0854FDC4 + ldr r0, =gSpriteTemplate_854FDC4 movs r1, 0 movs r3, 0x1 bl CreateSpriteAtEnd @@ -6840,7 +6840,7 @@ _080AE818: adds r1, 0x18 lsls r1, 16 asrs r1, 16 - ldr r0, =gUnknown_0854FDC4 + ldr r0, =gSpriteTemplate_854FDC4 movs r2, 0xD0 movs r3, 0x1 bl CreateSpriteAtEnd @@ -7239,7 +7239,7 @@ sub_80AEB48: @ 80AEB48 ldrh r2, [r0] ldrh r0, [r1] subs r2, r0 - ldr r0, =gUnknown_0854FE44 + ldr r0, =gSpriteTemplate_854FE44 movs r4, 0 ldrsh r1, [r3, r4] lsls r2, 16 @@ -7306,7 +7306,7 @@ _080AEBE4: adds r0, 0x14 adds r0, r2, r0 ldr r1, [r0] - ldr r0, =gUnknown_0854FE44 + ldr r0, =gSpriteTemplate_854FE44 cmp r1, r0 bne _080AEBFE adds r0, r2, r5 @@ -7332,8 +7332,8 @@ _080AEC1A: .pool thumb_func_end sub_80AEBD0 - thumb_func_start unc_0807DAB4 -unc_0807DAB4: @ 80AEC34 + thumb_func_start sub_80AEC34 +sub_80AEC34: @ 80AEC34 push {lr} adds r1, r0, 0 ldrh r0, [r1, 0x2E] @@ -7383,7 +7383,7 @@ _080AEC74: _080AEC8E: pop {r0} bx r0 - thumb_func_end unc_0807DAB4 + thumb_func_end sub_80AEC34 thumb_func_start sub_80AEC94 sub_80AEC94: @ 80AEC94 @@ -7527,18 +7527,18 @@ SetSav1Weather: @ 80AED7C .pool thumb_func_end SetSav1Weather - thumb_func_start sav1_get_weather_probably -sav1_get_weather_probably: @ 80AEDAC + thumb_func_start GetSav1Weather +GetSav1Weather: @ 80AEDAC ldr r0, =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x2E ldrb r0, [r0] bx lr .pool - thumb_func_end sav1_get_weather_probably + thumb_func_end GetSav1Weather - thumb_func_start sub_80AEDBC -sub_80AEDBC: @ 80AEDBC + thumb_func_start SetSav1WeatherFromCurrMapHeader +SetSav1WeatherFromCurrMapHeader: @ 80AEDBC push {r4,r5,lr} ldr r4, =gSaveBlock1Ptr ldr r0, [r4] @@ -7559,25 +7559,25 @@ sub_80AEDBC: @ 80AEDBC pop {r0} bx r0 .pool - thumb_func_end sub_80AEDBC + thumb_func_end SetSav1WeatherFromCurrMapHeader - thumb_func_start sub_80AEDF0 -sub_80AEDF0: @ 80AEDF0 + thumb_func_start SetWeather +SetWeather: @ 80AEDF0 push {lr} bl SetSav1Weather - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r0, 24 bl weather_set pop {r0} bx r0 - thumb_func_end sub_80AEDF0 + thumb_func_end SetWeather thumb_func_start sub_80AEE08 sub_80AEE08: @ 80AEE08 push {lr} bl SetSav1Weather - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r0, 24 bl sub_80AB104 @@ -7588,7 +7588,7 @@ sub_80AEE08: @ 80AEE08 thumb_func_start DoCurrentWeather DoCurrentWeather: @ 80AEE20 push {r4,r5,lr} - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xF @@ -7632,7 +7632,7 @@ _080AEE6E: thumb_func_start sub_80AEE84 sub_80AEE84: @ 80AEE84 push {r4,r5,lr} - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xF @@ -7777,8 +7777,8 @@ _080AEFB6: bx r1 thumb_func_end sub_80AEEE8 - thumb_func_start sub_80AEFBC -sub_80AEFBC: @ 80AEFBC + thumb_func_start UpdateWeatherPerDay +UpdateWeatherPerDay: @ 80AEFBC lsls r0, 16 ldr r1, =gSaveBlock1Ptr ldr r2, [r1] @@ -7794,7 +7794,7 @@ sub_80AEFBC: @ 80AEFBC strb r1, [r2] bx lr .pool - thumb_func_end sub_80AEFBC + thumb_func_end UpdateWeatherPerDay thumb_func_start sub_80AEFDC sub_80AEFDC: @ 80AEFDC @@ -7872,13 +7872,13 @@ _080AF06A: bl palette_bg_faded_fill_black movs r0, 0 movs r1, 0 - bl fade_screen + bl FadeScreen b _080AF084 _080AF078: bl palette_bg_faded_fill_white movs r0, 0x2 movs r1, 0 - bl fade_screen + bl FadeScreen _080AF084: pop {r4} pop {r0} @@ -7891,7 +7891,7 @@ sub_80AF08C: @ 80AF08C bl palette_bg_faded_fill_white movs r0, 0x2 movs r1, 0x8 - bl fade_screen + bl FadeScreen pop {r0} bx r0 thumb_func_end sub_80AF08C @@ -7902,7 +7902,7 @@ pal_fill_black: @ 80AF0A0 bl palette_bg_faded_fill_black movs r0, 0 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r0} bx r0 thumb_func_end pal_fill_black @@ -7928,12 +7928,12 @@ sub_80AF0B4: @ 80AF0B4 _080AF0DA: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen b _080AF0EC _080AF0E4: movs r0, 0x3 movs r1, 0 - bl fade_screen + bl FadeScreen _080AF0EC: pop {r4} pop {r0} @@ -7975,7 +7975,7 @@ _080AF120: sub_80AF128: @ 80AF128 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task0A_nop_for_a_while movs r1, 0xA @@ -8006,7 +8006,7 @@ _080AF160: sub_80AF168: @ 80AF168 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running movs r1, 0xA @@ -8092,7 +8092,7 @@ _080AF20E: sub_80AF214: @ 80AF214 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, =task_mpl_807DD60 movs r1, 0xA @@ -8220,7 +8220,7 @@ _080AF30C: sub_80AF314: @ 80AF314 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, =sub_80AF234 movs r1, 0xA @@ -8279,7 +8279,7 @@ _080AF37E: thumb_func_start mapldr_default mapldr_default: @ 80AF398 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_80AF334 bl ScriptContext2_Enable @@ -8290,7 +8290,7 @@ mapldr_default: @ 80AF398 thumb_func_start sub_80AF3B0 sub_80AF3B0: @ 80AF3B0 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl sub_80AF08C bl sub_80AF334 bl ScriptContext2_Enable @@ -8304,7 +8304,7 @@ sub_80AF3C8: @ 80AF3C8 bl sub_81D6534 cmp r0, 0 bne _080AF3D6 - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic _080AF3D6: bl pal_fill_black bl sub_80AF334 @@ -8316,7 +8316,7 @@ _080AF3D6: thumb_func_start sub_80AF3E8 sub_80AF3E8: @ 80AF3E8 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE @@ -8332,7 +8332,7 @@ sub_80AF3E8: @ 80AF3E8 thumb_func_start sub_80AF40C sub_80AF40C: @ 80AF40C push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE @@ -8382,7 +8382,7 @@ _080AF46C: _080AF480: movs r0, 0 bl sub_80AF0F4 - bl player_bitmagic + bl FreezeMapObjects adds r0, r6, 0 adds r1, r7, 0 bl PlayerGetDestCoords @@ -8508,7 +8508,7 @@ _080AF580: _080AF58A: movs r0, 0 bl sub_80AF0F4 - bl player_bitmagic + bl FreezeMapObjects adds r0, r6, 0 adds r1, r7, 0 bl PlayerGetDestCoords @@ -8583,7 +8583,7 @@ task_map_chg_seq_0807E2CC: @ 80AF610 b _080AF65A .pool _080AF634: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -8680,7 +8680,7 @@ sub_80AF6D4: @ 80AF6D4 sub_80AF6F0: @ 80AF6F0 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task_mpl_807E3C8 movs r1, 0xA @@ -8761,7 +8761,7 @@ sub_80AF79C: @ 80AF79C bl music_something movs r0, 0x3 movs r1, 0x8 - bl fade_screen + bl FadeScreen bl play_some_sound ldr r0, =gFieldCallback ldr r1, =sub_80AF3B0 @@ -8990,7 +8990,7 @@ _080AF99A: bl sub_8009FAC movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl music_something movs r0, 0x9 bl PlaySE @@ -9062,7 +9062,7 @@ _080AFA34: beq _080AFA6C b _080AFA7C _080AFA3A: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable b _080AFA64 _080AFA44: @@ -9133,7 +9133,7 @@ _080AFAC0: .4byte _080AFBB8 .4byte _080AFBD4 _080AFAD4: - bl player_bitmagic + bl FreezeMapObjects adds r0, r4, 0 adds r1, r6, 0 bl PlayerGetDestCoords @@ -9290,7 +9290,7 @@ _080AFC1C: beq _080AFC46 b _080AFC56 _080AFC22: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable b _080AFC3E _080AFC2C: @@ -9572,12 +9572,12 @@ _080AFE30: beq _080AFEBC b _080AFEC6 _080AFE36: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r2, 0x2 ldrsh r1, [r4, r2] @@ -9591,12 +9591,12 @@ _080AFE36: b _080AFEC6 .pool _080AFE64: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r6, 0x2 ldrsh r1, [r4, r6] @@ -9621,7 +9621,7 @@ _080AFE64: ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080AFEB4 - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0x2 strh r0, [r4] b _080AFEC6 @@ -9631,7 +9631,7 @@ _080AFEB4: bl DestroyTask b _080AFEC6 _080AFEBC: - bl dp12_8087EA4 + bl ScanlineEffect_Clear adds r0, r5, 0 bl DestroyTask _080AFEC6: @@ -9665,12 +9665,12 @@ _080AFEF4: beq _080AFF80 b _080AFF8A _080AFEFA: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r2, 0x2 ldrsh r1, [r4, r2] @@ -9684,12 +9684,12 @@ _080AFEFA: b _080AFF8A .pool _080AFF28: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r6, 0x2 ldrsh r1, [r4, r6] @@ -9714,7 +9714,7 @@ _080AFF28: ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080AFF78 - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0x2 strh r0, [r4] b _080AFF8A @@ -9724,7 +9724,7 @@ _080AFF78: bl DestroyTask b _080AFF8A _080AFF80: - bl dp12_8087EA4 + bl ScanlineEffect_Clear adds r0, r5, 0 bl DestroyTask _080AFF8A: @@ -9877,7 +9877,7 @@ sub_80B009C: @ 80B009C lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 - bl sav1_get_flash_used_on_map + bl Overworld_GetFlashLevel lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -9914,7 +9914,7 @@ sub_80B00E8: @ 80B00E8 lsrs r0, 24 cmp r0, 0 beq _080B0116 - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers ldr r1, =gUnknown_0854FE64 lsls r0, 1 adds r0, r1 @@ -9940,7 +9940,7 @@ _080B0116: thumb_func_start door_upload_tiles door_upload_tiles: @ 80B0124 push {r4,lr} - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0x00000e68 @@ -9982,7 +9982,7 @@ task0A_mpl_807E31C: @ 80B0160 b _080B01B6 .pool _080B0184: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable bl sub_808D194 ldrh r0, [r4, 0x8] @@ -10033,7 +10033,7 @@ _080B01E4: beq _080B022A b _080B023A _080B01EE: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable movs r0, 0x2D bl PlaySE @@ -10261,7 +10261,7 @@ _080B0368: bl sub_8199C30 movs r0, 0 bl schedule_bg_copy_tilemap_to_vram - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r2, 0x4 ldrsh r1, [r5, r2] movs r0, 0x6 @@ -10280,7 +10280,7 @@ _080B0368: ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams movs r0, 0x1 strh r0, [r5] b _080B052C @@ -10424,7 +10424,7 @@ sub_80B0534: @ 80B0534 lsls r1, 3 ldr r0, =gTasks + 0x8 adds r1, r0 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 bne _080B0568 diff --git a/asm/field_specials.s b/asm/field_specials.s new file mode 100644 index 000000000..29aca304f --- /dev/null +++ b/asm/field_specials.s @@ -0,0 +1,8075 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start Special_ShowDiploma +Special_ShowDiploma: @ 8137CB4 + push {lr} + ldr r0, =CB2_ShowDiploma + bl SetMainCallback2 + bl ScriptContext2_Enable + pop {r0} + bx r0 + .pool + thumb_func_end Special_ShowDiploma + + thumb_func_start Special_ViewWallClock +Special_ViewWallClock: @ 8137CC8 + push {lr} + ldr r0, =gMain + ldr r1, =c2_exit_to_overworld_2_switch + str r1, [r0, 0x8] + ldr r0, =Cb2_ViewWallClock + bl SetMainCallback2 + bl ScriptContext2_Enable + pop {r0} + bx r0 + .pool + thumb_func_end Special_ViewWallClock + + thumb_func_start ResetCyclingRoadChallengeData +ResetCyclingRoadChallengeData: @ 8137CEC + ldr r0, =gBikeCyclingChallenge + movs r1, 0 + strb r1, [r0] + ldr r0, =0x0203ab55 + strb r1, [r0] + ldr r1, =gUnknown_0203AB58 + movs r0, 0 + str r0, [r1] + bx lr + .pool + thumb_func_end ResetCyclingRoadChallengeData + + thumb_func_start Special_BeginCyclingRoadChallenge +Special_BeginCyclingRoadChallenge: @ 8137D0C + ldr r1, =gBikeCyclingChallenge + movs r0, 0x1 + strb r0, [r1] + ldr r1, =0x0203ab55 + movs r0, 0 + strb r0, [r1] + ldr r1, =gUnknown_0203AB58 + ldr r0, =gMain + ldr r0, [r0, 0x20] + str r0, [r1] + bx lr + .pool + thumb_func_end Special_BeginCyclingRoadChallenge + + thumb_func_start GetPlayerAvatarBike +GetPlayerAvatarBike: @ 8137D34 + push {lr} + movs r0, 0x4 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _08137D46 + movs r0, 0x1 + b _08137D58 +_08137D46: + movs r0, 0x2 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + bne _08137D56 + movs r0, 0 + b _08137D58 +_08137D56: + movs r0, 0x2 +_08137D58: + pop {r1} + bx r1 + thumb_func_end GetPlayerAvatarBike + + thumb_func_start DetermineCyclingRoadResults +DetermineCyclingRoadResults: @ 8137D5C + push {r4-r7,lr} + adds r7, r0, 0 + lsls r1, 24 + lsrs r6, r1, 24 + cmp r6, 0x63 + bhi _08137D88 + ldr r4, =gStringVar1 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + ldr r1, =gText_SpaceTimes + adds r0, r4, 0 + bl StringAppend + b _08137D90 + .pool +_08137D88: + ldr r0, =gStringVar1 + ldr r1, =gText_99TimesPlus + bl StringCopy +_08137D90: + ldr r0, =0x00000e0f + cmp r7, r0 + bhi _08137DF0 + ldr r4, =gStringVar2 + adds r0, r7, 0 + movs r1, 0x3C + bl __udivsi3 + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x1 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + movs r0, 0xAD + strb r0, [r4, 0x2] + adds r5, r4, 0x3 + adds r0, r7, 0 + movs r1, 0x3C + bl __umodsi3 + movs r1, 0x64 + muls r0, r1 + movs r1, 0x3C + bl __udivsi3 + adds r1, r0, 0 + adds r0, r5, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + ldr r1, =gText_SpaceSeconds + adds r0, r4, 0 + bl StringAppend + b _08137DF8 + .pool +_08137DF0: + ldr r0, =gStringVar2 + ldr r1, =gText_1MinutePlus + bl StringCopy +_08137DF8: + movs r4, 0 + cmp r6, 0 + bne _08137E0C + movs r4, 0x5 + b _08137E2A + .pool +_08137E0C: + cmp r6, 0x3 + bhi _08137E14 + movs r4, 0x4 + b _08137E2A +_08137E14: + cmp r6, 0x9 + bhi _08137E1C + movs r4, 0x3 + b _08137E2A +_08137E1C: + cmp r6, 0x13 + bhi _08137E24 + movs r4, 0x2 + b _08137E2A +_08137E24: + cmp r6, 0x63 + bhi _08137E2A + movs r4, 0x1 +_08137E2A: + adds r0, r7, 0 + movs r1, 0x3C + bl __udivsi3 + cmp r0, 0xA + bhi _08137E3A + adds r0, r4, 0x5 + b _08137E58 +_08137E3A: + cmp r0, 0xF + bhi _08137E42 + adds r0, r4, 0x4 + b _08137E58 +_08137E42: + cmp r0, 0x14 + bhi _08137E4A + adds r0, r4, 0x3 + b _08137E58 +_08137E4A: + cmp r0, 0x28 + bhi _08137E52 + adds r0, r4, 0x2 + b _08137E58 +_08137E52: + cmp r0, 0x3B + bhi _08137E5C + adds r0, r4, 0x1 +_08137E58: + lsls r0, 24 + lsrs r4, r0, 24 +_08137E5C: + ldr r0, =gSpecialVar_Result + strh r4, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end DetermineCyclingRoadResults + + thumb_func_start FinishCyclingRoadChallenge +FinishCyclingRoadChallenge: @ 8137E6C + push {r4,r5,lr} + ldr r0, =gMain + ldr r1, =gUnknown_0203AB58 + ldr r4, [r0, 0x20] + ldr r0, [r1] + subs r4, r0 + ldr r5, =0x0203ab55 + ldrb r1, [r5] + adds r0, r4, 0 + bl DetermineCyclingRoadResults + ldrb r1, [r5] + adds r0, r4, 0 + bl RecordCyclingRoadResults + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end FinishCyclingRoadChallenge + + thumb_func_start RecordCyclingRoadResults +RecordCyclingRoadResults: @ 8137E9C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + ldr r6, =0x00004028 + adds r0, r6, 0 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r7, =0x00004029 + adds r0, r7, 0 + bl VarGet + lsls r0, 16 + adds r4, r0 + cmp r4, r5 + bhi _08137ECC + cmp r4, 0 + bne _08137EE6 +_08137ECC: + lsls r1, r5, 16 + lsrs r1, 16 + adds r0, r6, 0 + bl VarSet + lsrs r1, r5, 16 + adds r0, r7, 0 + bl VarSet + ldr r0, =0x00004027 + mov r1, r8 + bl VarSet +_08137EE6: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end RecordCyclingRoadResults + + thumb_func_start GetRecordedCyclingRoadResults +GetRecordedCyclingRoadResults: @ 8137EFC + push {r4,lr} + ldr r0, =0x00004028 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x00004029 + bl VarGet + lsls r0, 16 + adds r4, r0 + cmp r4, 0 + beq _08137F3C + ldr r0, =0x00004027 + bl VarGet + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl DetermineCyclingRoadResults + movs r0, 0x1 + b _08137F3E + .pool +_08137F3C: + movs r0, 0 +_08137F3E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetRecordedCyclingRoadResults + + thumb_func_start UpdateCyclingRoadState +UpdateCyclingRoadState: @ 8137F44 + push {r4,lr} + ldr r0, =gUnknown_020322DC + ldrh r1, [r0] + ldr r0, =0x00000c1d + cmp r1, r0 + beq _08137F7C + ldr r4, =0x000040a9 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + beq _08137F6E + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x3 + bne _08137F7C +_08137F6E: + adds r0, r4, 0 + movs r1, 0 + bl VarSet + movs r0, 0 + bl Overworld_SetSavedMusic +_08137F7C: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end UpdateCyclingRoadState + + thumb_func_start SetSSTidalFlag +SetSSTidalFlag: @ 8137F90 + push {lr} + ldr r0, =0x0000088d + bl FlagSet + ldr r0, =0x0000404a + bl GetVarPointer + movs r1, 0 + strh r1, [r0] + pop {r0} + bx r0 + .pool + thumb_func_end SetSSTidalFlag + + thumb_func_start ResetSSTidalFlag +ResetSSTidalFlag: @ 8137FB0 + push {lr} + ldr r0, =0x0000088d + bl FlagClear + pop {r0} + bx r0 + .pool + thumb_func_end ResetSSTidalFlag + + thumb_func_start CountSSTidalStep +CountSSTidalStep: @ 8137FC0 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x0000088d + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08137FE6 + ldr r0, =0x0000404a + bl GetVarPointer + ldrh r1, [r0] + adds r1, r4, r1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xCC + bhi _08137FF4 +_08137FE6: + movs r0, 0 + b _08137FF6 + .pool +_08137FF4: + movs r0, 0x1 +_08137FF6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end CountSSTidalStep + + thumb_func_start GetSSTidalLocation +GetSSTidalLocation: @ 8137FFC + push {r4-r7,lr} + mov r7, r8 + push {r7} + mov r8, r0 + adds r5, r1, 0 + adds r6, r2, 0 + adds r7, r3, 0 + ldr r0, =0x0000404a + bl GetVarPointer + adds r4, r0, 0 + ldr r0, =0x000040b4 + bl GetVarPointer + ldrh r0, [r0] + subs r0, 0x1 + cmp r0, 0x9 + bhi _081380C2 + lsls r0, 2 + ldr r1, =_08138038 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08138038: + .4byte _08138060 + .4byte _08138070 + .4byte _08138064 + .4byte _08138068 + .4byte _08138068 + .4byte _0813806C + .4byte _08138098 + .4byte _08138060 + .4byte _08138064 + .4byte _0813806C +_08138060: + movs r0, 0x1 + b _081380CE +_08138064: + movs r0, 0x4 + b _081380CE +_08138068: + movs r0, 0x2 + b _081380CE +_0813806C: + movs r0, 0x3 + b _081380CE +_08138070: + ldrh r0, [r4] + cmp r0, 0x3B + bhi _08138080 + movs r0, 0x31 + strb r0, [r5] + ldrh r0, [r4] + adds r0, 0x13 + b _081380C0 +_08138080: + cmp r0, 0x8B + bhi _0813808E + movs r0, 0x30 + strb r0, [r5] + ldrh r0, [r4] + subs r0, 0x3C + b _081380C0 +_0813808E: + movs r0, 0x2F + strb r0, [r5] + ldrh r0, [r4] + subs r0, 0x8C + b _081380C0 +_08138098: + ldrh r0, [r4] + cmp r0, 0x41 + bhi _081380A8 + movs r0, 0x2F + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0x41 + b _081380BE +_081380A8: + cmp r0, 0x91 + bhi _081380B6 + movs r0, 0x30 + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0x91 + b _081380BE +_081380B6: + movs r0, 0x31 + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0xE0 +_081380BE: + subs r0, r1 +_081380C0: + strh r0, [r6] +_081380C2: + movs r0, 0 + mov r1, r8 + strb r0, [r1] + movs r0, 0x14 + strh r0, [r7] + movs r0, 0 +_081380CE: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end GetSSTidalLocation + + thumb_func_start is_tile_that_overrides_player_control +is_tile_that_overrides_player_control: @ 81380D8 + push {lr} + movs r0, 0x88 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0813810A + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _0813810A + cmp r0, 0x3 + ble _081380F6 + cmp r0, 0x6 + bne _0813810A +_081380F6: + ldr r0, =0x000040f2 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xF9 + bhi _08138118 +_0813810A: + movs r0, 0 + b _0813811A + .pool +_08138118: + movs r0, 0x1 +_0813811A: + pop {r1} + bx r1 + thumb_func_end is_tile_that_overrides_player_control + + thumb_func_start sub_8138120 +sub_8138120: @ 8138120 + push {lr} + movs r0, 0x8A + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08138152 + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _08138152 + cmp r0, 0x3 + ble _0813813E + cmp r0, 0x6 + bne _08138152 +_0813813E: + ldr r0, =0x000040f3 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0x9 + bhi _08138160 +_08138152: + movs r0, 0 + b _08138162 + .pool +_08138160: + movs r0, 0x1 +_08138162: + pop {r1} + bx r1 + thumb_func_end sub_8138120 + + thumb_func_start sub_8138168 +sub_8138168: @ 8138168 + push {lr} + movs r0, 0x72 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0813819A + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _0813819A + cmp r0, 0x3 + ble _08138186 + cmp r0, 0x6 + bne _0813819A +_08138186: + ldr r0, =0x000040f5 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0x9 + bhi _081381A8 +_0813819A: + movs r0, 0 + b _081381AA + .pool +_081381A8: + movs r0, 0x1 +_081381AA: + pop {r1} + bx r1 + thumb_func_end sub_8138168 + + thumb_func_start sub_81381B0 +sub_81381B0: @ 81381B0 + push {lr} + movs r0, 0x80 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081381E2 + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _081381E2 + cmp r0, 0x3 + ble _081381CE + cmp r0, 0x6 + bne _081381E2 +_081381CE: + ldr r0, =0x000040f4 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xF9 + bhi _081381F0 +_081381E2: + movs r0, 0 + b _081381F2 + .pool +_081381F0: + movs r0, 0x1 +_081381F2: + pop {r1} + bx r1 + thumb_func_end sub_81381B0 + + thumb_func_start sub_81381F8 +sub_81381F8: @ 81381F8 + push {lr} + movs r0, 0x75 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0813822A + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _0813822A + cmp r0, 0x3 + ble _08138216 + cmp r0, 0x6 + bne _0813822A +_08138216: + ldr r0, =0x000040f6 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xF9 + bhi _08138238 +_0813822A: + movs r0, 0 + b _0813823A + .pool +_08138238: + movs r0, 0x1 +_0813823A: + pop {r1} + bx r1 + thumb_func_end sub_81381F8 + + thumb_func_start GetLinkPartnerNames +GetLinkPartnerNames: @ 8138240 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r6, 0 + bl GetMultiplayerId + lsls r0, 24 + lsrs r7, r0, 24 + bl GetLinkPlayerCount + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _0813828A + ldr r0, =gTVStringVarPtrs + mov r8, r0 +_08138262: + cmp r7, r4 + beq _08138280 + lsls r0, r6, 2 + add r0, r8 + ldr r0, [r0] + lsls r1, r4, 3 + subs r1, r4 + lsls r1, 2 + ldr r2, =gLinkPlayers + 8 + adds r1, r2 + bl StringCopy + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_08138280: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _08138262 +_0813828A: + adds r0, r5, 0 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end GetLinkPartnerNames + + thumb_func_start SpawnLinkPartnerFieldObject +SpawnLinkPartnerFieldObject: @ 81382A0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + movs r7, 0 + movs r0, 0 + mov r9, r0 + mov r8, r0 + ldr r1, =gUnknown_085B2B5C + add r0, sp, 0x8 + movs r2, 0x4 + bl memcpy + add r4, sp, 0xC + ldr r1, =gUnknown_085B2B60 + adds r0, r4, 0 + movs r2, 0x8 + bl memcpy + bl GetMultiplayerId + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x2 + beq _08138310 + cmp r0, 0x2 + bgt _081382F4 + cmp r0, 0x1 + beq _0813833C + b _08138350 + .pool +_081382F4: + cmp r1, 0x3 + beq _081382FE + cmp r1, 0x4 + beq _08138324 + b _08138350 +_081382FE: + movs r7, 0x2 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldrh r0, [r1] + subs r0, 0x1 + b _0813832C + .pool +_08138310: + movs r7, 0x1 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0] + mov r9, r1 + ldrh r0, [r0, 0x2] + subs r0, 0x1 + b _0813834A + .pool +_08138324: + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldrh r0, [r1] + adds r0, 0x1 +_0813832C: + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + ldrh r1, [r1, 0x2] + mov r8, r1 + b _08138350 + .pool +_0813833C: + movs r7, 0x3 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r3, [r0] + mov r9, r3 + ldrh r0, [r0, 0x2] + adds r0, 0x1 +_0813834A: + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 +_08138350: + movs r6, 0 + b _08138410 + .pool +_08138358: + cmp r10, r6 + beq _0813840A + ldr r0, =gLinkPlayers + lsls r2, r6, 3 + subs r1, r2, r6 + lsls r1, 2 + adds r1, r0 + ldrb r3, [r1] + adds r4, r0, 0 + cmp r3, 0x1 + blt _0813838C + cmp r3, 0x2 + ble _0813837C + cmp r3, 0x3 + beq _08138388 + b _0813838C + .pool +_0813837C: + ldrb r0, [r1, 0x13] + movs r5, 0xEC + cmp r0, 0 + bne _0813839C + movs r5, 0xEB + b _0813839C +_08138388: + ldrb r0, [r1, 0x13] + b _08138394 +_0813838C: + subs r0, r2, r6 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x13] +_08138394: + movs r5, 0x69 + cmp r0, 0 + bne _0813839C + movs r5, 0x64 +_0813839C: + mov r0, sp + adds r0, r7 + adds r0, 0x8 + ldrb r1, [r0] + movs r4, 0xF0 + subs r4, r6 + lsls r4, 24 + lsrs r4, 24 + lsls r2, r7, 1 + mov r0, sp + adds r0, r2 + adds r0, 0xC + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + mov r3, r9 + lsls r3, 16 + asrs r3, 16 + mov r12, r3 + add r0, r12 + adds r3, r0, 0x7 + lsls r3, 16 + asrs r3, 16 + mov r12, r3 + mov r0, sp + adds r0, 0xD + adds r0, r2 + movs r2, 0 + ldrsb r2, [r0, r2] + mov r3, r8 + lsls r0, r3, 16 + asrs r0, 16 + adds r0, r2 + adds r0, 0x7 + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + adds r0, r5, 0 + adds r2, r4, 0 + mov r3, r12 + bl SpawnSpecialFieldObjectParametrized + adds r0, r5, 0 + adds r1, r4, 0 + adds r2, r6, 0 + bl sub_813842C + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x4 + bne _0813840A + movs r7, 0 +_0813840A: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_08138410: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r6, r0 + bcc _08138358 + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end SpawnLinkPartnerFieldObject + + thumb_func_start sub_813842C +sub_813842C: @ 813842C + push {r4,r5,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + lsls r2, 24 + movs r1, 0xC0 + lsls r1, 19 + adds r2, r1 + lsrs r5, r2, 24 + lsrs r4, r0, 24 + movs r2, 0xA8 + lsls r2, 21 + adds r0, r2 + lsrs r0, 24 + cmp r0, 0x1 + bls _08138454 + cmp r4, 0x64 + beq _08138454 + cmp r4, 0x69 + bne _081384E6 +_08138454: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r1, [r0, 0x5] + ldrb r2, [r0, 0x4] + adds r0, r3, 0 + bl GetFieldObjectIdByLocalIdAndMap + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x10 + beq _081384E6 + ldr r1, =gMapObjects + lsls r0, r2, 3 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x4] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + lsls r3, r5, 4 + ldrb r2, [r1, 0x5] + movs r0, 0xF + ands r0, r2 + orrs r0, r3 + strb r0, [r1, 0x5] + cmp r4, 0x69 + beq _081384D8 + cmp r4, 0x69 + bgt _081384A8 + cmp r4, 0x64 + beq _081384C4 + b _081384E6 + .pool +_081384A8: + cmp r4, 0xEB + beq _081384B2 + cmp r4, 0xEC + beq _081384BC + b _081384E6 +_081384B2: + ldr r0, =gFieldObjectPalette33 + b _081384C6 + .pool +_081384BC: + ldr r0, =gFieldObjectPalette34 + b _081384C6 + .pool +_081384C4: + ldr r0, =gFieldObjectPalette8 +_081384C6: + movs r2, 0x80 + lsls r2, 1 + adds r1, r3, r2 + movs r2, 0x20 + bl LoadPalette + b _081384E6 + .pool +_081384D8: + ldr r0, =gFieldObjectPalette17 + movs r2, 0x80 + lsls r2, 1 + adds r1, r3, r2 + movs r2, 0x20 + bl LoadPalette +_081384E6: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813842C + + thumb_func_start MauvilleGymSpecial1 +MauvilleGymSpecial1: @ 81384F0 + push {r4,r5,lr} + movs r4, 0 + ldr r5, =gUnknown_085B2B68 +_081384F6: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r4, r0 + bne _0813851C + lsls r1, r4, 2 + adds r1, r5 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + ldr r2, =0x00000206 + bl MapGridSetMetatileIdAt + b _0813852A + .pool +_0813851C: + lsls r1, r4, 2 + adds r1, r5 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + ldr r2, =0x00000205 + bl MapGridSetMetatileIdAt +_0813852A: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _081384F6 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end MauvilleGymSpecial1 + + thumb_func_start MauvilleGymSpecial2 +MauvilleGymSpecial2: @ 8138540 + push {r4-r6,lr} + movs r5, 0xC +_08138544: + movs r4, 0x7 + adds r6, r5, 0x1 +_08138548: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + ldr r1, =0xfffffde6 + adds r0, r1 + cmp r0, 0x37 + bls _0813855A + b _08138734 +_0813855A: + lsls r0, 2 + ldr r1, =_0813856C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813856C: + .4byte _081386F2 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813864C + .4byte _08138652 + .4byte _0813868C + .4byte _08138694 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813865C + .4byte _08138662 + .4byte _0813869C + .4byte _081386A4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813866C + .4byte _08138672 + .4byte _081386AC + .4byte _081386B4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813867C + .4byte _08138684 + .4byte _081386BC + .4byte _081386C4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _081386CC + .4byte _081386DC + .4byte _081386EC + .4byte _08138714 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _081386D4 + .4byte _081386E4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813872A + .4byte _0813871C +_0813864C: + movs r2, 0x8C + lsls r2, 2 + b _08138720 +_08138652: + ldr r2, =0x00000231 + b _08138720 + .pool +_0813865C: + movs r2, 0x8E + lsls r2, 2 + b _08138720 +_08138662: + ldr r2, =0x00000239 + b _08138720 + .pool +_0813866C: + movs r2, 0x88 + lsls r2, 2 + b _08138720 +_08138672: + ldr r2, =0x00000221 + b _08138720 + .pool +_0813867C: + ldr r2, =0x00000e28 + b _08138720 + .pool +_08138684: + ldr r2, =0x00000e29 + b _08138720 + .pool +_0813868C: + ldr r2, =0x00000232 + b _08138720 + .pool +_08138694: + ldr r2, =0x00000233 + b _08138720 + .pool +_0813869C: + ldr r2, =0x0000023a + b _08138720 + .pool +_081386A4: + ldr r2, =0x0000023b + b _08138720 + .pool +_081386AC: + ldr r2, =0x00000222 + b _08138720 + .pool +_081386B4: + ldr r2, =0x00000223 + b _08138720 + .pool +_081386BC: + ldr r2, =0x00000e2a + b _08138720 + .pool +_081386C4: + ldr r2, =0x00000e2b + b _08138720 + .pool +_081386CC: + ldr r2, =0x00000e42 + b _08138720 + .pool +_081386D4: + ldr r2, =0x0000021a + b _08138720 + .pool +_081386DC: + ldr r2, =0x00000e43 + b _08138720 + .pool +_081386E4: + ldr r2, =0x0000021a + b _08138720 + .pool +_081386EC: + movs r2, 0xE4 + lsls r2, 4 + b _08138720 +_081386F2: + subs r1, r5, 0x1 + adds r0, r4, 0 + bl MapGridGetMetatileIdAt + movs r1, 0x90 + lsls r1, 2 + cmp r0, r1 + bne _0813870C + ldr r2, =0x00000e48 + b _08138720 + .pool +_0813870C: + ldr r2, =0x00000e49 + b _08138720 + .pool +_08138714: + ldr r2, =0x00000e41 + b _08138720 + .pool +_0813871C: + movs r2, 0xE5 + lsls r2, 4 +_08138720: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _08138734 +_0813872A: + ldr r2, =0x00000251 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_08138734: + adds r4, 0x1 + cmp r4, 0xF + bgt _0813873C + b _08138548 +_0813873C: + adds r5, r6, 0 + cmp r5, 0x17 + bgt _08138744 + b _08138544 +_08138744: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end MauvilleGymSpecial2 + + thumb_func_start MauvilleGymSpecial3 +MauvilleGymSpecial3: @ 8138750 + push {r4-r6,lr} + ldr r4, =gUnknown_085B2B68 + movs r5, 0x3 +_08138756: + ldrb r0, [r4] + ldrb r1, [r4, 0x1] + ldr r2, =0x00000206 + bl MapGridSetMetatileIdAt + adds r4, 0x4 + subs r5, 0x1 + cmp r5, 0 + bge _08138756 + movs r5, 0xC +_0813876A: + movs r4, 0x7 + adds r6, r5, 0x1 +_0813876E: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + ldr r1, =0xfffffde0 + adds r0, r1 + cmp r0, 0x30 + bls _08138780 + b _081388CA +_08138780: + lsls r0, 2 + ldr r1, =_0813879C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813879C: + .4byte _08138860 + .4byte _08138866 + .4byte _08138880 + .4byte _08138888 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _08138870 + .4byte _08138876 + .4byte _08138890 + .4byte _08138898 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388A0 + .4byte _081388A8 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388B0 + .4byte _081388B0 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388C0 +_08138860: + movs r2, 0x8C + lsls r2, 2 + b _081388B2 +_08138866: + ldr r2, =0x00000231 + b _081388B2 + .pool +_08138870: + movs r2, 0x8E + lsls r2, 2 + b _081388B2 +_08138876: + ldr r2, =0x00000239 + b _081388B2 + .pool +_08138880: + ldr r2, =0x00000232 + b _081388B2 + .pool +_08138888: + ldr r2, =0x00000233 + b _081388B2 + .pool +_08138890: + ldr r2, =0x0000023a + b _081388B2 + .pool +_08138898: + ldr r2, =0x0000023b + b _081388B2 + .pool +_081388A0: + ldr r2, =0x00000e42 + b _081388B2 + .pool +_081388A8: + ldr r2, =0x00000e43 + b _081388B2 + .pool +_081388B0: + ldr r2, =0x0000021a +_081388B2: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _081388CA + .pool +_081388C0: + ldr r2, =0x00000251 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_081388CA: + adds r4, 0x1 + cmp r4, 0xF + bgt _081388D2 + b _0813876E +_081388D2: + adds r5, r6, 0 + cmp r5, 0x17 + bgt _081388DA + b _0813876A +_081388DA: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end MauvilleGymSpecial3 + + thumb_func_start PetalburgGymSpecial1 +PetalburgGymSpecial1: @ 81388E4 + push {lr} + ldr r0, =gUnknown_0203AB5C + movs r1, 0 + strb r1, [r0] + ldr r0, =gUnknown_0203AB5D + strb r1, [r0] + movs r0, 0x2C + bl PlaySE + ldr r0, =Task_PetalburgGym + movs r1, 0x8 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end PetalburgGymSpecial1 + + thumb_func_start Task_PetalburgGym +Task_PetalburgGym: @ 8138910 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, =gUnknown_085B2B78 + ldr r5, =gUnknown_0203AB5D + ldrb r1, [r5] + adds r0, r1, r0 + ldr r4, =gUnknown_0203AB5C + ldrb r2, [r4] + ldrb r0, [r0] + cmp r0, r2 + bne _0813896C + ldr r0, =gSpecialVar_0x8004 + ldrb r0, [r0] + ldr r2, =gUnknown_085B2B7E + lsls r1, 1 + adds r1, r2 + ldrh r1, [r1] + bl PetalburgGymFunc + movs r0, 0 + strb r0, [r4] + ldrb r0, [r5] + adds r0, 0x1 + strb r0, [r5] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x5 + bne _08138970 + adds r0, r6, 0 + bl DestroyTask + bl EnableBothScriptContexts + b _08138970 + .pool +_0813896C: + adds r0, r2, 0x1 + strb r0, [r4] +_08138970: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end Task_PetalburgGym + + thumb_func_start PetalburgGymFunc +PetalburgGymFunc: @ 8138978 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r2, r1, 16 + movs r7, 0 + subs r0, 0x1 + cmp r0, 0x7 + bhi _08138A40 + lsls r0, 2 + ldr r1, =_081389A0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081389A0: + .4byte _081389C0 + .4byte _081389D2 + .4byte _081389E4 + .4byte _081389F6 + .4byte _08138A04 + .4byte _08138A1A + .4byte _08138A26 + .4byte _08138A34 +_081389C0: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x68 + b _08138A14 +_081389D2: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x4E + b _08138A14 +_081389E4: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x5B + b _08138A14 +_081389F6: + movs r7, 0x1 + mov r1, sp + movs r0, 0x7 + strh r0, [r1] + add r1, sp, 0x8 + movs r0, 0x27 + b _08138A3E +_08138A04: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x34 +_08138A14: + strh r0, [r1] + strh r0, [r1, 0x2] + b _08138A40 +_08138A1A: + movs r7, 0x1 + mov r0, sp + strh r7, [r0] + add r1, sp, 0x8 + movs r0, 0x41 + b _08138A3E +_08138A26: + movs r7, 0x1 + mov r1, sp + movs r0, 0x7 + strh r0, [r1] + add r1, sp, 0x8 + movs r0, 0xD + b _08138A3E +_08138A34: + movs r7, 0x1 + mov r0, sp + strh r7, [r0] + add r1, sp, 0x8 + movs r0, 0x1A +_08138A3E: + strh r0, [r1] +_08138A40: + movs r6, 0 + cmp r6, r7 + bcs _08138A92 + movs r1, 0xC0 + lsls r1, 4 + adds r0, r1, 0 + adds r1, r2, 0 + orrs r1, r0 + lsls r1, 16 + mov r9, r1 + adds r1, r2, 0 + adds r1, 0x8 + orrs r1, r0 + lsls r1, 16 + mov r8, r1 +_08138A5E: + lsls r1, r6, 1 + mov r3, sp + adds r5, r3, r1 + ldrh r0, [r5] + adds r0, 0x7 + add r4, sp, 0x8 + adds r4, r1 + ldrh r1, [r4] + adds r1, 0x7 + mov r3, r9 + lsrs r2, r3, 16 + bl MapGridSetMetatileIdAt + ldrh r0, [r5] + adds r0, 0x7 + ldrh r1, [r4] + adds r1, 0x8 + mov r3, r8 + lsrs r2, r3, 16 + bl MapGridSetMetatileIdAt + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, r7 + bcc _08138A5E +_08138A92: + bl DrawWholeMapView + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end PetalburgGymFunc + + thumb_func_start PetalburgGymSpecial2 +PetalburgGymSpecial2: @ 8138AA4 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrb r0, [r0] + ldr r1, =gUnknown_085B2B7E + ldrh r1, [r1, 0x8] + bl PetalburgGymFunc + pop {r0} + bx r0 + .pool + thumb_func_end PetalburgGymSpecial2 + + thumb_func_start ShowFieldMessageStringVar4 +ShowFieldMessageStringVar4: @ 8138AC0 + push {lr} + ldr r0, =gStringVar4 + bl ShowFieldMessage + pop {r0} + bx r0 + .pool + thumb_func_end ShowFieldMessageStringVar4 + + thumb_func_start StorePlayerCoordsInVars +StorePlayerCoordsInVars: @ 8138AD0 + ldr r1, =gSpecialVar_0x8004 + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldrh r0, [r2] + strh r0, [r1] + ldr r1, =gSpecialVar_0x8005 + ldrh r0, [r2, 0x2] + strh r0, [r1] + bx lr + .pool + thumb_func_end StorePlayerCoordsInVars + + thumb_func_start GetPlayerTrainerIdOnesDigit +GetPlayerTrainerIdOnesDigit: @ 8138AF0 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r1, [r0, 0xB] + lsls r1, 8 + ldrb r0, [r0, 0xA] + orrs r0, r1 + movs r1, 0xA + bl __umodsi3 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end GetPlayerTrainerIdOnesDigit + + thumb_func_start GetPlayerBigGuyGirlString +GetPlayerBigGuyGirlString: @ 8138B10 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08138B34 + ldr r0, =gStringVar1 + ldr r1, =gText_BigGuy + bl StringCopy + b _08138B3C + .pool +_08138B34: + ldr r0, =gStringVar1 + ldr r1, =gText_BigGirl + bl StringCopy +_08138B3C: + pop {r0} + bx r0 + .pool + thumb_func_end GetPlayerBigGuyGirlString + + thumb_func_start GetRivalSonDaughterString +GetRivalSonDaughterString: @ 8138B48 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08138B6C + ldr r0, =gStringVar1 + ldr r1, =gText_Daughter + bl StringCopy + b _08138B74 + .pool +_08138B6C: + ldr r0, =gStringVar1 + ldr r1, =gText_Son + bl StringCopy +_08138B74: + pop {r0} + bx r0 + .pool + thumb_func_end GetRivalSonDaughterString + + thumb_func_start sub_8138B80 +sub_8138B80: @ 8138B80 + ldr r0, =gBattleOutcome + ldrb r0, [r0] + bx lr + .pool + thumb_func_end sub_8138B80 + + thumb_func_start CableCarWarp +CableCarWarp: @ 8138B8C + push {lr} + sub sp, 0x4 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + beq _08138BB0 + movs r2, 0x1 + negs r2, r2 + movs r0, 0x4 + str r0, [sp] + movs r0, 0x13 + movs r1, 0 + movs r3, 0x6 + bl Overworld_SetWarpDestination + b _08138BC2 + .pool +_08138BB0: + movs r2, 0x1 + negs r2, r2 + movs r0, 0x4 + str r0, [sp] + movs r0, 0x13 + movs r1, 0x1 + movs r3, 0x6 + bl Overworld_SetWarpDestination +_08138BC2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end CableCarWarp + + thumb_func_start SetFlagInVar +SetFlagInVar: @ 8138BC8 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + bl FlagSet + pop {r0} + bx r0 + .pool + thumb_func_end SetFlagInVar + + thumb_func_start GetWeekCount +GetWeekCount: @ 8138BDC + push {lr} + ldr r0, =gLocalTime + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x7 + bl __divsi3 + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x0000270f + cmp r0, r1 + bls _08138BF6 + adds r0, r1, 0 +_08138BF6: + pop {r1} + bx r1 + .pool + thumb_func_end GetWeekCount + + thumb_func_start GetLeadMonFriendshipScore +GetLeadMonFriendshipScore: @ 8138C04 + push {r4,lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0xFF + bne _08138C2C + movs r0, 0x6 + b _08138C7E + .pool +_08138C2C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0xC7 + bls _08138C3C + movs r0, 0x5 + b _08138C7E +_08138C3C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x95 + bls _08138C4C + movs r0, 0x4 + b _08138C7E +_08138C4C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x63 + bls _08138C5C + movs r0, 0x3 + b _08138C7E +_08138C5C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x31 + bls _08138C6C + movs r0, 0x2 + b _08138C7E +_08138C6C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0 + bne _08138C7C + movs r0, 0 + b _08138C7E +_08138C7C: + movs r0, 0x1 +_08138C7E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetLeadMonFriendshipScore + + thumb_func_start CB2_FieldShowRegionMap +CB2_FieldShowRegionMap: @ 8138C84 + push {lr} + ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music + bl sub_817018C + pop {r0} + bx r0 + .pool + thumb_func_end CB2_FieldShowRegionMap + + thumb_func_start FieldShowRegionMap +FieldShowRegionMap: @ 8138C94 + push {lr} + ldr r0, =CB2_FieldShowRegionMap + bl SetMainCallback2 + pop {r0} + bx r0 + .pool + thumb_func_end FieldShowRegionMap + + thumb_func_start DoPCTurnOnEffect +DoPCTurnOnEffect: @ 8138CA4 + push {r4,lr} + ldr r4, =Task_PCTurnOnEffect + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08138CD8 + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r2, [r1, 0xC] + strh r2, [r1, 0xE] + strh r2, [r1, 0x10] +_08138CD8: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end DoPCTurnOnEffect + + thumb_func_start Task_PCTurnOnEffect +Task_PCTurnOnEffect: @ 8138CE8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _08138D06 + adds r0, r1, 0 + bl PCTurnOnEffect_0 +_08138D06: + pop {r0} + bx r0 + .pool + thumb_func_end Task_PCTurnOnEffect + + thumb_func_start PCTurnOnEffect_0 +PCTurnOnEffect_0: @ 8138D10 + push {r4-r6,lr} + adds r4, r0, 0 + movs r6, 0 + movs r5, 0 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bne _08138D7C + strh r5, [r4, 0xE] + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x3 + beq _08138D44 + cmp r0, 0x3 + bgt _08138D3A + cmp r0, 0x2 + beq _08138D40 + b _08138D4C +_08138D3A: + cmp r1, 0x4 + beq _08138D48 + b _08138D4C +_08138D40: + movs r6, 0 + b _08138D4A +_08138D44: + movs r6, 0xFF + b _08138D4A +_08138D48: + movs r6, 0x1 +_08138D4A: + movs r5, 0xFF +_08138D4C: + movs r1, 0x10 + ldrsh r0, [r4, r1] + lsls r1, r6, 24 + asrs r1, 24 + lsls r2, r5, 24 + asrs r2, 24 + bl PCTurnOnEffect_1 + bl DrawWholeMapView + ldrh r0, [r4, 0x10] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _08138D7C + ldrb r0, [r4, 0xA] + bl DestroyTask +_08138D7C: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end PCTurnOnEffect_0 + + thumb_func_start PCTurnOnEffect_1 +PCTurnOnEffect_1: @ 8138D88 + push {r4,r5,lr} + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + movs r3, 0 + lsls r0, 16 + cmp r0, 0 + beq _08138DC4 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08138DAC + movs r3, 0x4 + b _08138DE6 + .pool +_08138DAC: + cmp r0, 0x1 + bne _08138DB8 + ldr r3, =0x0000025a + b _08138DE6 + .pool +_08138DB8: + cmp r0, 0x2 + bne _08138DE6 + ldr r3, =0x00000259 + b _08138DE6 + .pool +_08138DC4: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08138DD4 + movs r3, 0x5 + b _08138DE6 + .pool +_08138DD4: + cmp r0, 0x1 + bne _08138DE0 + ldr r3, =0x0000027f + b _08138DE6 + .pool +_08138DE0: + cmp r0, 0x2 + bne _08138DE6 + ldr r3, =0x0000027e +_08138DE6: + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + movs r5, 0 + ldrsh r0, [r2, r5] + lsls r1, 24 + asrs r1, 24 + adds r0, r1 + adds r0, 0x7 + movs r5, 0x2 + ldrsh r1, [r2, r5] + lsls r2, r4, 24 + asrs r2, 24 + adds r1, r2 + adds r1, 0x7 + movs r4, 0xC0 + lsls r4, 4 + adds r2, r4, 0 + orrs r3, r2 + adds r2, r3, 0 + bl MapGridSetMetatileIdAt + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end PCTurnOnEffect_1 + + thumb_func_start DoPCTurnOffEffect +DoPCTurnOffEffect: @ 8138E20 + push {lr} + bl PCTurnOffEffect + pop {r0} + bx r0 + thumb_func_end DoPCTurnOffEffect + + thumb_func_start PCTurnOffEffect +PCTurnOffEffect: @ 8138E2C + push {r4-r6,lr} + movs r6, 0 + movs r5, 0 + movs r4, 0 + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x3 + beq _08138E56 + cmp r0, 0x3 + bgt _08138E4C + cmp r0, 0x2 + beq _08138E52 + b _08138E5E +_08138E4C: + cmp r1, 0x4 + beq _08138E5A + b _08138E5E +_08138E52: + movs r6, 0 + b _08138E5C +_08138E56: + movs r6, 0xFF + b _08138E5C +_08138E5A: + movs r6, 0x1 +_08138E5C: + movs r5, 0xFF +_08138E5E: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08138E70 + movs r4, 0x4 + b _08138E82 + .pool +_08138E70: + cmp r0, 0x1 + bne _08138E7C + ldr r4, =0x0000025a + b _08138E82 + .pool +_08138E7C: + cmp r0, 0x2 + bne _08138E82 + ldr r4, =0x00000259 +_08138E82: + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + movs r1, 0 + ldrsh r0, [r2, r1] + lsls r1, r6, 24 + asrs r1, 24 + adds r0, r1 + adds r0, 0x7 + movs r3, 0x2 + ldrsh r1, [r2, r3] + lsls r2, r5, 24 + asrs r2, 24 + adds r1, r2 + adds r1, 0x7 + movs r3, 0xC0 + lsls r3, 4 + adds r2, r3, 0 + orrs r4, r2 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + bl DrawWholeMapView + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end PCTurnOffEffect + + thumb_func_start DoLotteryCornerComputerEffect +DoLotteryCornerComputerEffect: @ 8138EC0 + push {r4,lr} + ldr r4, =Task_LotteryCornerComputerEffect + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08138EF4 + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r2, [r1, 0xC] + strh r2, [r1, 0xE] + strh r2, [r1, 0x10] +_08138EF4: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end DoLotteryCornerComputerEffect + + thumb_func_start Task_LotteryCornerComputerEffect +Task_LotteryCornerComputerEffect: @ 8138F04 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _08138F22 + adds r0, r1, 0 + bl LotteryCornerComputerEffect +_08138F22: + pop {r0} + bx r0 + .pool + thumb_func_end Task_LotteryCornerComputerEffect + + thumb_func_start LotteryCornerComputerEffect +LotteryCornerComputerEffect: @ 8138F2C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bne _08138F9A + movs r0, 0 + strh r0, [r4, 0xE] + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08138F64 + ldr r2, =0x00000e9d + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, =0x00000ea5 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + b _08138F7A + .pool +_08138F64: + ldr r2, =0x00000e58 + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + movs r2, 0xE6 + lsls r2, 4 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt +_08138F7A: + bl DrawWholeMapView + ldrh r0, [r4, 0x10] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _08138F9A + ldrb r0, [r4, 0xA] + bl DestroyTask +_08138F9A: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end LotteryCornerComputerEffect + + thumb_func_start EndLotteryCornerComputerEffect +EndLotteryCornerComputerEffect: @ 8138FAC + push {lr} + ldr r2, =0x00000e9d + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, =0x00000ea5 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + bl DrawWholeMapView + pop {r0} + bx r0 + .pool + thumb_func_end EndLotteryCornerComputerEffect + + thumb_func_start SetTrickHouseEndRoomFlag +SetTrickHouseEndRoomFlag: @ 8138FD4 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x000001f5 + strh r0, [r1] + bl FlagSet + pop {r0} + bx r0 + .pool + thumb_func_end SetTrickHouseEndRoomFlag + + thumb_func_start ResetTrickHouseEndRoomFlag +ResetTrickHouseEndRoomFlag: @ 8138FEC + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x000001f5 + strh r0, [r1] + bl FlagClear + pop {r0} + bx r0 + .pool + thumb_func_end ResetTrickHouseEndRoomFlag + + thumb_func_start CheckLeadMonCool +CheckLeadMonCool: @ 8139004 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x16 + bl GetMonData + cmp r0, 0xC7 + bls _08139028 + movs r0, 0x1 + b _0813902A + .pool +_08139028: + movs r0, 0 +_0813902A: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonCool + + thumb_func_start CheckLeadMonBeauty +CheckLeadMonBeauty: @ 8139030 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x17 + bl GetMonData + cmp r0, 0xC7 + bls _08139054 + movs r0, 0x1 + b _08139056 + .pool +_08139054: + movs r0, 0 +_08139056: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonBeauty + + thumb_func_start CheckLeadMonCute +CheckLeadMonCute: @ 813905C + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x18 + bl GetMonData + cmp r0, 0xC7 + bls _08139080 + movs r0, 0x1 + b _08139082 + .pool +_08139080: + movs r0, 0 +_08139082: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonCute + + thumb_func_start CheckLeadMonSmart +CheckLeadMonSmart: @ 8139088 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x21 + bl GetMonData + cmp r0, 0xC7 + bls _081390AC + movs r0, 0x1 + b _081390AE + .pool +_081390AC: + movs r0, 0 +_081390AE: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonSmart + + thumb_func_start CheckLeadMonTough +CheckLeadMonTough: @ 81390B4 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x2F + bl GetMonData + cmp r0, 0xC7 + bls _081390D8 + movs r0, 0x1 + b _081390DA + .pool +_081390D8: + movs r0, 0 +_081390DA: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonTough + + thumb_func_start IsGrassTypeInParty +IsGrassTypeInParty: @ 81390E0 + push {r4-r6,lr} + movs r5, 0 + ldr r6, =gBaseStats +_081390E6: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _0813913C + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0813913C + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r6 + ldrb r0, [r1, 0x6] + cmp r0, 0xC + beq _08139128 + ldrb r0, [r1, 0x7] + cmp r0, 0xC + bne _0813913C +_08139128: + ldr r1, =gSpecialVar_Result + movs r0, 0x1 + b _0813914A + .pool +_0813913C: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _081390E6 + ldr r1, =gSpecialVar_Result + movs r0, 0 +_0813914A: + strh r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end IsGrassTypeInParty + + thumb_func_start SpawnScriptFieldObject +SpawnScriptFieldObject: @ 8139158 + push {lr} + sub sp, 0x8 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r3, [r0] + adds r3, 0x7 + lsls r3, 16 + asrs r3, 16 + ldrh r0, [r0, 0x2] + adds r0, 0x7 + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + movs r0, 0x3 + str r0, [sp, 0x4] + movs r0, 0x7 + movs r1, 0x8 + movs r2, 0x7F + bl SpawnSpecialFieldObjectParametrized + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gMapObjects + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x1] + movs r2, 0x20 + orrs r0, r2 + strb r0, [r1, 0x1] + ldrb r0, [r1, 0x4] + bl CameraObjectSetFollowedObjectId + add sp, 0x8 + pop {r0} + bx r0 + .pool + thumb_func_end SpawnScriptFieldObject + + thumb_func_start RemoveScriptFieldObject +RemoveScriptFieldObject: @ 81391AC + push {lr} + bl GetPlayerAvatarObjectId + lsls r0, 24 + lsrs r0, 24 + bl CameraObjectSetFollowedObjectId + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r1, [r0, 0x5] + ldrb r2, [r0, 0x4] + movs r0, 0x7F + bl RemoveFieldObjectByLocalIdAndMap + pop {r0} + bx r0 + .pool + thumb_func_end RemoveScriptFieldObject + + thumb_func_start GetPokeblockNameByMonNature +GetPokeblockNameByMonNature: @ 81391D0 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + bl GetNature + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gStringVar1 + bl CopyMonFavoritePokeblockName + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end GetPokeblockNameByMonNature + + thumb_func_start GetSecretBaseNearbyMapName +GetSecretBaseNearbyMapName: @ 8139200 + push {r4,lr} + ldr r4, =gStringVar1 + ldr r0, =0x00004026 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + movs r2, 0 + bl GetMapName + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end GetSecretBaseNearbyMapName + + thumb_func_start sub_8139228 +sub_8139228: @ 8139228 + push {lr} + movs r0, 0x20 + bl GetGameStat + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_8139228 + + thumb_func_start sub_8139238 +sub_8139238: @ 8139238 + push {lr} + ldr r0, =gStringVar1 + bl GetEreaderTrainerName + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139238 + + thumb_func_start sub_8139248 +sub_8139248: @ 8139248 + push {r4,r5,lr} + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r1, =0x00002e68 + adds r0, r2, r1 + ldrb r1, [r0] + lsls r1, 25 + ldr r0, =0x00002e6a + adds r2, r0 + lsrs r1, 25 + ldrh r2, [r2] + adds r1, r2 + ldr r2, =gUnknown_085B2B88 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + adds r0, r2 + ldrb r0, [r0] + adds r5, r1, r0 + movs r0, 0x2 + bl GetPriceReduction + lsls r0, 24 + cmp r0, 0 + bne _08139294 + ldr r4, =gUnknown_085B2B94 + b _08139296 + .pool +_08139294: + ldr r4, =gUnknown_085B2BA0 +_08139296: + adds r0, r5, 0 + movs r1, 0xC + bl __umodsi3 + adds r0, r4 + ldrb r0, [r0] + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_8139248 + + thumb_func_start sub_81392AC +sub_81392AC: @ 81392AC + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x00000213 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081392CC + movs r0, 0x1 + b _081392CE + .pool +_081392CC: + movs r0, 0 +_081392CE: + pop {r1} + bx r1 + thumb_func_end sub_81392AC + + thumb_func_start sub_81392D4 +sub_81392D4: @ 81392D4 + push {lr} + ldr r1, =gSpecialVar_0x8004 + movs r0, 0x85 + lsls r0, 2 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081392F0 + movs r0, 0x1 + b _081392F2 + .pool +_081392F0: + movs r0, 0 +_081392F2: + pop {r1} + bx r1 + thumb_func_end sub_81392D4 + + thumb_func_start sub_81392F8 +sub_81392F8: @ 81392F8 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x00000215 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139318 + movs r0, 0x1 + b _0813931A + .pool +_08139318: + movs r0, 0 +_0813931A: + pop {r1} + bx r1 + thumb_func_end sub_81392F8 + + thumb_func_start sub_8139320 +sub_8139320: @ 8139320 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x00000216 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139340 + movs r0, 0x1 + b _08139342 + .pool +_08139340: + movs r0, 0 +_08139342: + pop {r1} + bx r1 + thumb_func_end sub_8139320 + + thumb_func_start LeadMonHasEffortRibbon +LeadMonHasEffortRibbon: @ 8139348 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x47 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end LeadMonHasEffortRibbon + + thumb_func_start GiveLeadMonEffortRibbon +GiveLeadMonEffortRibbon: @ 8139370 + push {r4,lr} + sub sp, 0x4 + movs r0, 0x2A + bl IncrementGameStat + ldr r0, =0x0000089b + bl FlagSet + movs r1, 0x1 + mov r0, sp + strb r1, [r0] + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x47 + mov r2, sp + bl SetMonData + adds r0, r4, 0 + bl GetRibbonCount + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x4 + bls _081393B6 + adds r0, r4, 0 + movs r1, 0x47 + bl sub_80EE4DC +_081393B6: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end GiveLeadMonEffortRibbon + + thumb_func_start Special_AreLeadMonEVsMaxedOut +Special_AreLeadMonEVsMaxedOut: @ 81393C8 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + bl GetMonEVCount + lsls r0, 16 + ldr r1, =0x01fd0000 + cmp r0, r1 + bhi _081393F4 + movs r0, 0 + b _081393F6 + .pool +_081393F4: + movs r0, 0x1 +_081393F6: + pop {r1} + bx r1 + thumb_func_end Special_AreLeadMonEVsMaxedOut + + thumb_func_start sub_81393FC +sub_81393FC: @ 81393FC + push {lr} + movs r0, 0xC7 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _08139454 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + movs r0, 0x83 + lsls r0, 3 + cmp r1, r0 + bne _08139454 + subs r0, 0x75 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139434 + ldr r0, =0x0000409a + movs r1, 0x4 + b _08139446 + .pool +_08139434: + movs r0, 0xE9 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139454 + ldr r0, =0x0000409a + movs r1, 0x5 +_08139446: + bl VarSet + movs r0, 0x1 + b _08139456 + .pool +_08139454: + movs r0, 0 +_08139456: + pop {r1} + bx r1 + thumb_func_end sub_81393FC + + thumb_func_start SetShoalItemFlag +SetShoalItemFlag: @ 813945C + push {lr} + ldr r0, =0x000008bf + bl FlagSet + pop {r0} + bx r0 + .pool + thumb_func_end SetShoalItemFlag + + thumb_func_start PutZigzagoonInPlayerParty +PutZigzagoonInPlayerParty: @ 813946C + push {r4,r5,lr} + sub sp, 0x14 + ldr r5, =gPlayerParty + movs r1, 0x90 + lsls r1, 1 + movs r4, 0 + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + adds r0, r5, 0 + movs r2, 0x7 + movs r3, 0x20 + bl CreateMon + movs r1, 0x1 + add r0, sp, 0x10 + strh r1, [r0] + adds r0, r5, 0 + movs r1, 0x2E + add r2, sp, 0x10 + bl SetMonData + add r1, sp, 0x10 + movs r0, 0x21 + strh r0, [r1] + adds r0, r5, 0 + movs r1, 0xD + add r2, sp, 0x10 + bl SetMonData + add r0, sp, 0x10 + strh r4, [r0] + adds r0, r5, 0 + movs r1, 0xE + add r2, sp, 0x10 + bl SetMonData + adds r0, r5, 0 + movs r1, 0xF + add r2, sp, 0x10 + bl SetMonData + adds r0, r5, 0 + movs r1, 0x10 + add r2, sp, 0x10 + bl SetMonData + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end PutZigzagoonInPlayerParty + + thumb_func_start IsStarterInParty +IsStarterInParty: @ 81394D8 + push {r4-r6,lr} + ldr r0, =0x00004023 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl GetStarterPokemon + lsls r0, 16 + lsrs r6, r0, 16 + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _08139526 +_081394FA: + movs r0, 0x64 + muls r0, r4 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + cmp r0, r6 + bne _0813951C + movs r0, 0x1 + b _08139528 + .pool +_0813951C: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _081394FA +_08139526: + movs r0, 0 +_08139528: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end IsStarterInParty + + thumb_func_start ScriptCheckFreePokemonStorageSpace +ScriptCheckFreePokemonStorageSpace: @ 8139530 + push {lr} + bl CheckFreePokemonStorageSpace + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end ScriptCheckFreePokemonStorageSpace + + thumb_func_start IsPokerusInParty +IsPokerusInParty: @ 8139540 + push {lr} + ldr r0, =gPlayerParty + movs r1, 0x3F + bl CheckPartyPokerus + lsls r0, 24 + cmp r0, 0 + beq _08139558 + movs r0, 0x1 + b _0813955A + .pool +_08139558: + movs r0, 0 +_0813955A: + pop {r1} + bx r1 + thumb_func_end IsPokerusInParty + + thumb_func_start sub_8139560 +sub_8139560: @ 8139560 + push {lr} + ldr r0, =sub_81395BC + movs r1, 0x9 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + movs r2, 0 + strh r0, [r1, 0x8] + strh r2, [r1, 0xA] + ldr r0, =gSpecialVar_0x8006 + ldrh r0, [r0] + strh r0, [r1, 0xC] + ldr r0, =gSpecialVar_0x8007 + ldrh r0, [r0] + strh r0, [r1, 0xE] + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + strh r0, [r1, 0x10] + movs r0, 0 + bl SetCameraPanningCallback + movs r0, 0xD6 + bl PlaySE + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139560 + + thumb_func_start sub_81395BC +sub_81395BC: @ 81395BC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + movs r1, 0x2 + ldrsh r0, [r4, r1] + movs r2, 0x6 + ldrsh r1, [r4, r2] + bl __modsi3 + cmp r0, 0 + bne _08139614 + strh r0, [r4, 0x2] + ldrh r0, [r4, 0x4] + subs r0, 0x1 + strh r0, [r4, 0x4] + ldrh r0, [r4] + negs r0, r0 + strh r0, [r4] + ldrh r0, [r4, 0x8] + negs r0, r0 + strh r0, [r4, 0x8] + movs r1, 0 + ldrsh r0, [r4, r1] + movs r2, 0x8 + ldrsh r1, [r4, r2] + bl SetCameraPanning + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _08139614 + adds r0, r5, 0 + bl sub_8139620 + bl InstallCameraPanAheadCallback +_08139614: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81395BC + + thumb_func_start sub_8139620 +sub_8139620: @ 8139620 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + bl EnableBothScriptContexts + pop {r0} + bx r0 + thumb_func_end sub_8139620 + + thumb_func_start sub_8139634 +sub_8139634: @ 8139634 + push {lr} + movs r0, 0x95 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8139634 + + thumb_func_start SetRoute119Weather +SetRoute119Weather: @ 8139648 + push {lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r0, 24 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08139664 + movs r0, 0x14 + bl SetSav1Weather +_08139664: + pop {r0} + bx r0 + thumb_func_end SetRoute119Weather + + thumb_func_start SetRoute123Weather +SetRoute123Weather: @ 8139668 + push {lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r0, 24 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08139684 + movs r0, 0x15 + bl SetSav1Weather +_08139684: + pop {r0} + bx r0 + thumb_func_end SetRoute123Weather + + thumb_func_start GetLeadMonIndex +GetLeadMonIndex: @ 8139688 + push {r4-r6,lr} + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r6, r0, 24 + movs r5, 0 + cmp r5, r6 + bcs _081396D6 +_08139698: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _081396CC + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _081396CC + adds r0, r5, 0 + b _081396D8 + .pool +_081396CC: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, r6 + bcc _08139698 +_081396D6: + movs r0, 0 +_081396D8: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end GetLeadMonIndex + + thumb_func_start ScriptGetPartyMonSpecies +ScriptGetPartyMonSpecies: @ 81396E0 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .pool + thumb_func_end ScriptGetPartyMonSpecies + + thumb_func_start nullsub_54 +nullsub_54: @ 8139708 + bx lr + thumb_func_end nullsub_54 + + thumb_func_start sub_813970C +sub_813970C: @ 813970C + push {r4,lr} + ldr r0, =0x000040c2 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + adds r3, r0, 0 + ldr r2, =gLocalTime + movs r1, 0 + ldrsh r0, [r2, r1] + subs r0, r3 + cmp r0, 0x6 + ble _08139734 + movs r0, 0 + b _0813974C + .pool +_08139734: + ldrh r1, [r2] + movs r4, 0 + ldrsh r0, [r2, r4] + cmp r0, 0 + blt _0813974A + subs r1, r3 + movs r0, 0x7 + subs r0, r1 + lsls r0, 16 + lsrs r0, 16 + b _0813974C +_0813974A: + movs r0, 0x8 +_0813974C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_813970C + + thumb_func_start sub_8139754 +sub_8139754: @ 8139754 + push {r4,lr} + ldr r0, =0x000040c2 + ldr r4, =gLocalTime + ldrh r1, [r4] + bl VarSet + ldrh r0, [r4] + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_8139754 + + thumb_func_start sub_8139770 +sub_8139770: @ 8139770 + push {r4-r6,lr} + ldr r6, =gSpecialVar_0x8004 + ldrh r0, [r6] + movs r5, 0x64 + muls r0, r5 + ldr r4, =gPlayerParty + adds r0, r4 + movs r1, 0x3 + bl GetMonData + cmp r0, 0x2 + bne _081397A6 + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + ldr r4, =gStringVar1 + movs r1, 0x7 + adds r2, r4, 0 + bl GetMonData + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + adds r1, r4, 0 + bl StringCompare + cmp r0, 0 + beq _081397BC +_081397A6: + movs r0, 0x1 + b _081397BE + .pool +_081397BC: + movs r0, 0 +_081397BE: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8139770 + + thumb_func_start sub_81397C4 +sub_81397C4: @ 81397C4 + push {r4,r5,lr} + ldr r2, =gSpecialVar_Result + ldrh r1, [r2] + ldr r0, =0x0000270f + cmp r1, r0 + bls _081397E0 + movs r0, 0 + bl TV_PrintIntToStringVar + b _08139862 + .pool +_081397E0: + ldr r0, =0x000003e7 + cmp r1, r0 + bls _081397F8 + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + adds r4, 0x1 + b _0813981C + .pool +_081397F8: + cmp r1, 0x63 + bls _0813980C + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + adds r4, 0x2 + b _0813981C + .pool +_0813980C: + cmp r1, 0x9 + bls _0813983C + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] + adds r4, 0x3 +_0813981C: + ldrh r5, [r2] + adds r0, r5, 0 + bl sub_80EF370 + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl ConvertIntToDecimalStringN + b _08139862 + .pool +_0813983C: + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] + strb r0, [r4, 0x3] + adds r4, 0x4 + ldrh r5, [r2] + adds r0, r5, 0 + bl sub_80EF370 + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl ConvertIntToDecimalStringN +_08139862: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81397C4 + + thumb_func_start sub_813986C +sub_813986C: @ 813986C + push {lr} + ldr r0, =gSpecialVar_Result + ldrh r0, [r0] + cmp r0, 0x4 + bhi _081398B8 + lsls r0, 2 + ldr r1, =_08139888 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08139888: + .4byte _0813989C + .4byte _081398A0 + .4byte _081398A4 + .4byte _081398A8 + .4byte _081398AC +_0813989C: + movs r0, 0x3 + b _081398AE +_081398A0: + movs r0, 0x4 + b _081398AE +_081398A4: + movs r0, 0 + b _081398AE +_081398A8: + movs r0, 0x1 + b _081398AE +_081398AC: + movs r0, 0x2 +_081398AE: + bl mevent_081445C0 + lsls r0, 16 + lsrs r0, 16 + b _081398BA +_081398B8: + movs r0, 0 +_081398BA: + pop {r1} + bx r1 + thumb_func_end sub_813986C + + thumb_func_start sub_81398C0 +sub_81398C0: @ 81398C0 + push {r4,lr} + ldr r1, =gSpecialVar_0x8004 + ldr r2, =0xfffffedf + adds r0, r2, 0 + ldrh r2, [r1] + adds r0, r2 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x39 + bls _081398E0 + movs r0, 0 + b _081398FC + .pool +_081398E0: + ldr r4, =gStringVar2 + ldrh r0, [r1] + bl ItemIdToBattleMoveId + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xD + muls r1, r0 + ldr r0, =gMoveNames + adds r1, r0 + adds r0, r4, 0 + bl StringCopy + movs r0, 0x1 +_081398FC: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81398C0 + + thumb_func_start sub_813990C +sub_813990C: @ 813990C + push {r4,r5,lr} + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _08139942 +_0813991C: + movs r0, 0x64 + muls r0, r4 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x4 + bl GetMonData + cmp r0, 0x1 + bne _08139938 + movs r0, 0x1 + b _08139944 + .pool +_08139938: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _0813991C +_08139942: + movs r0, 0 +_08139944: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_813990C + + thumb_func_start InMultiBattleRoom +InMultiBattleRoom: @ 813994C + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + ldr r0, =0x00000f1a + cmp r1, r0 + bne _08139978 + ldr r0, =0x000040ce + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _08139978 + movs r0, 0x1 + b _0813997A + .pool +_08139978: + movs r0, 0 +_0813997A: + pop {r1} + bx r1 + thumb_func_end InMultiBattleRoom + + thumb_func_start sub_8139980 +sub_8139980: @ 8139980 + push {lr} + movs r0, 0 + bl SetCameraPanningCallback + movs r0, 0x8 + movs r1, 0 + bl SetCameraPanning + pop {r0} + bx r0 + thumb_func_end sub_8139980 + + thumb_func_start sub_8139994 +sub_8139994: @ 8139994 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x15] + subs r0, 0x10 + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x5 + bhi _081399E4 + lsls r0, 2 + ldr r1, =_081399B8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081399B8: + .4byte _081399E4 + .4byte _081399D0 + .4byte _081399D4 + .4byte _081399D8 + .4byte _081399DC + .4byte _081399E0 +_081399D0: + movs r1, 0x5 + b _081399E6 +_081399D4: + movs r1, 0x6 + b _081399E6 +_081399D8: + movs r1, 0x7 + b _081399E6 +_081399DC: + movs r1, 0x8 + b _081399E6 +_081399E0: + movs r1, 0xF + b _081399E6 +_081399E4: + movs r1, 0x4 +_081399E6: + ldr r0, =0x00004043 + bl VarSet + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139994 + + thumb_func_start sub_81399F4 +sub_81399F4: @ 81399F4 + push {r4,lr} + ldr r2, =gUnknown_0203AB60 + movs r0, 0 + strh r0, [r2] + ldr r1, =gUnknown_0203AB62 + strh r0, [r1] + ldr r0, =gSaveBlock1Ptr + ldr r3, [r0] + movs r0, 0x14 + ldrsb r0, [r3, r0] + adds r4, r1, 0 + cmp r0, 0xD + bne _08139A6E + ldrb r0, [r3, 0x15] + subs r0, 0x10 + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x4 + bhi _08139A6E + lsls r0, 2 + ldr r1, =_08139A34 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08139A34: + .4byte _08139A66 + .4byte _08139A5E + .4byte _08139A56 + .4byte _08139A4E + .4byte _08139A48 +_08139A48: + movs r0, 0 + strh r0, [r2] + b _08139A6C +_08139A4E: + movs r0, 0 + strh r0, [r2] + movs r0, 0x1 + b _08139A6C +_08139A56: + movs r0, 0 + strh r0, [r2] + movs r0, 0x2 + b _08139A6C +_08139A5E: + movs r0, 0 + strh r0, [r2] + movs r0, 0x3 + b _08139A6C +_08139A66: + movs r0, 0 + strh r0, [r2] + movs r0, 0x4 +_08139A6C: + strh r0, [r4] +_08139A6E: + ldrh r0, [r4] + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81399F4 + + thumb_func_start sub_8139A78 +sub_8139A78: @ 8139A78 + push {r4-r6,lr} + ldr r0, =sub_8139AF4 + movs r1, 0x9 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + 0x8 + adds r4, r1, r0 + movs r3, 0 + strh r3, [r4, 0x2] + strh r3, [r4, 0x4] + movs r6, 0x1 + strh r6, [r4, 0x8] + ldr r0, =gSpecialVar_0x8005 + ldr r1, =gSpecialVar_0x8006 + ldrh r2, [r0] + ldrh r0, [r1] + cmp r2, r0 + bls _08139AC0 + subs r0, r2, r0 + lsls r0, 16 + lsrs r5, r0, 16 + strh r6, [r4, 0xC] + b _08139AC8 + .pool +_08139AC0: + subs r0, r2 + lsls r0, 16 + lsrs r5, r0, 16 + strh r3, [r4, 0xC] +_08139AC8: + cmp r5, 0x8 + bls _08139ACE + movs r5, 0x8 +_08139ACE: + ldr r0, =gUnknown_085B2C18 + adds r0, r5, r0 + ldrb r0, [r0] + strh r0, [r4, 0xA] + movs r0, 0 + bl SetCameraPanningCallback + ldrb r1, [r4, 0xC] + adds r0, r5, 0 + bl sub_8139C2C + movs r0, 0x59 + bl PlaySE + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139A78 + + thumb_func_start sub_8139AF4 +sub_8139AF4: @ 8139AF4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + movs r1, 0x2 + ldrsh r0, [r4, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bne _08139B54 + strh r0, [r4, 0x2] + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x8] + negs r0, r0 + strh r0, [r4, 0x8] + movs r2, 0x8 + ldrsh r1, [r4, r2] + movs r0, 0 + bl SetCameraPanning + movs r0, 0x4 + ldrsh r1, [r4, r0] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _08139B54 + movs r0, 0x49 + bl PlaySE + adds r0, r5, 0 + bl DestroyTask + bl EnableBothScriptContexts + bl InstallCameraPanAheadCallback +_08139B54: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139AF4 + + thumb_func_start sub_8139B60 +sub_8139B60: @ 8139B60 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0xC + ldr r5, =gUnknown_0203AB5E + ldr r0, =gUnknown_085B2BAC + bl AddWindow + strb r0, [r5] + ldrb r0, [r5] + movs r1, 0 + bl SetStandardWindowBorderStyle + ldr r4, =gText_ElevatorNowOn + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x40 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + ldrb r0, [r5] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x1 + str r1, [sp] + movs r1, 0xFF + mov r9, r1 + str r1, [sp, 0x4] + movs r1, 0 + mov r8, r1 + str r1, [sp, 0x8] + movs r1, 0x1 + adds r2, r4, 0 + bl PrintTextOnWindow + ldr r6, =gElevatorFloorsTable + ldr r4, =gSpecialVar_0x8005 + ldrh r0, [r4] + lsls r0, 2 + adds r0, r6 + ldr r1, [r0] + movs r0, 0x1 + movs r2, 0x40 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + ldrb r0, [r5] + ldrh r1, [r4] + lsls r1, 2 + adds r1, r6 + ldr r2, [r1] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x11 + str r1, [sp] + mov r1, r9 + str r1, [sp, 0x4] + mov r1, r8 + str r1, [sp, 0x8] + movs r1, 0x1 + bl PrintTextOnWindow + ldrb r0, [r5] + bl PutWindowTilemap + ldrb r0, [r5] + movs r1, 0x3 + bl CopyWindowToVram + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139B60 + + thumb_func_start sub_8139C10 +sub_8139C10: @ 8139C10 + push {r4,lr} + ldr r4, =gUnknown_0203AB5E + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139C10 + + thumb_func_start sub_8139C2C +sub_8139C2C: @ 8139C2C + push {r4-r6,lr} + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r4, =sub_8139C80 + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08139C6C + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0 + strh r0, [r1, 0x8] + strh r0, [r1, 0xA] + strh r5, [r1, 0xC] + ldr r0, =gUnknown_085B2C21 + adds r0, r6, r0 + ldrb r0, [r0] + strh r0, [r1, 0xE] +_08139C6C: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139C2C + + thumb_func_start sub_8139C80 +sub_8139C80: @ 8139C80 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + lsls r0, 2 + ldr r1, [sp] + adds r0, r1 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r6, r0, r1 + movs r2, 0x2 + ldrsh r0, [r6, r2] + cmp r0, 0x6 + bne _08139D7C + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _08139D10 + movs r1, 0 + ldr r2, =gUnknown_085B2BF4 + mov r10, r2 +_08139CBA: + movs r5, 0 + adds r7, r1, 0x7 + lsls r0, r1, 1 + adds r2, r1, 0x1 + mov r8, r2 + adds r0, r1 + lsls r0, 1 + mov r9, r0 +_08139CCA: + adds r4, r5, 0 + adds r4, 0x8 + movs r1, 0 + ldrsh r0, [r6, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + asrs r0, 15 + add r0, r9 + add r0, r10 + ldrh r0, [r0] + movs r1, 0xC0 + lsls r1, 4 + adds r2, r1, 0 + orrs r2, r0 + adds r0, r4, 0 + adds r1, r7, 0 + bl MapGridSetMetatileIdAt + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bls _08139CCA + mov r2, r8 + lsls r0, r2, 24 + lsrs r1, r0, 24 + cmp r1, 0x2 + bls _08139CBA + b _08139D62 + .pool +_08139D10: + movs r1, 0 + ldr r0, =gUnknown_085B2C06 + mov r10, r0 +_08139D16: + movs r5, 0 + adds r7, r1, 0x7 + lsls r0, r1, 1 + adds r2, r1, 0x1 + mov r8, r2 + adds r0, r1 + lsls r0, 1 + mov r9, r0 +_08139D26: + adds r4, r5, 0 + adds r4, 0x8 + movs r1, 0 + ldrsh r0, [r6, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + asrs r0, 15 + add r0, r9 + add r0, r10 + ldrh r0, [r0] + movs r1, 0xC0 + lsls r1, 4 + adds r2, r1, 0 + orrs r2, r0 + adds r0, r4, 0 + adds r1, r7, 0 + bl MapGridSetMetatileIdAt + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bls _08139D26 + mov r2, r8 + lsls r0, r2, 24 + lsrs r1, r0, 24 + cmp r1, 0x2 + bls _08139D16 +_08139D62: + bl DrawWholeMapView + movs r0, 0 + strh r0, [r6, 0x2] + movs r0, 0 + ldrsh r1, [r6, r0] + movs r2, 0x6 + ldrsh r0, [r6, r2] + cmp r1, r0 + bne _08139D7C + ldr r0, [sp] + bl DestroyTask +_08139D7C: + ldrh r0, [r6, 0x2] + adds r0, 0x1 + strh r0, [r6, 0x2] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139C80 + + thumb_func_start sub_8139D98 +sub_8139D98: @ 8139D98 + push {r4-r7,lr} + sub sp, 0x18 + ldr r6, =gSpecialVar_0x8004 + ldrh r0, [r6] + movs r5, 0x64 + muls r0, r5 + ldr r4, =gPlayerParty + adds r0, r4 + movs r1, 0x27 + bl GetMonData + str r0, [sp] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x28 + bl GetMonData + str r0, [sp, 0x4] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x29 + bl GetMonData + str r0, [sp, 0x8] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x2A + bl GetMonData + str r0, [sp, 0xC] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x2B + bl GetMonData + str r0, [sp, 0x10] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x2C + bl GetMonData + str r0, [sp, 0x14] + ldr r1, =gSpecialVar_0x8005 + movs r0, 0 + strh r0, [r1] + movs r4, 0 + adds r2, r1, 0 +_08139E00: + lsls r0, r4, 2 + add r0, sp + ldr r1, [r0] + ldrh r0, [r2] + adds r0, r1 + strh r0, [r2] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _08139E00 + ldr r2, =gSpecialVar_0x8006 + movs r0, 0 + strh r0, [r2] + ldr r1, =gSpecialVar_0x8007 + ldr r0, [sp] + strh r0, [r1] + movs r4, 0x1 + adds r6, r2, 0 + adds r7, r1, 0 +_08139E28: + ldrh r0, [r6] + lsls r0, 2 + mov r2, sp + adds r1, r2, r0 + lsls r0, r4, 2 + adds r5, r2, r0 + ldr r1, [r1] + ldr r0, [r5] + cmp r1, r0 + bcs _08139E54 + strh r4, [r6] + b _08139E6C + .pool +_08139E54: + cmp r1, r0 + bne _08139E6E + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08139E6E + strh r4, [r6] + ldr r0, [r5] +_08139E6C: + strh r0, [r7] +_08139E6E: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _08139E28 + add sp, 0x18 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8139D98 + + thumb_func_start warp0_in_pokecenter +warp0_in_pokecenter: @ 8139E80 + push {r4,lr} + ldr r0, =gUnknown_020322DC + movs r1, 0 + ldrsb r1, [r0, r1] + lsls r1, 8 + ldrb r0, [r0, 0x1] + lsls r0, 24 + asrs r0, 24 + adds r0, r1 + lsls r0, 16 + lsrs r3, r0, 16 + ldr r2, =gUnknown_085B2C2A + ldrh r0, [r2] + ldr r1, =0x0000ffff + cmp r0, r1 + beq _08139EC6 + adds r4, r1, 0 + adds r1, r2, 0 +_08139EA4: + ldrh r0, [r2] + cmp r0, r3 + bne _08139EBC + movs r0, 0x1 + b _08139EC8 + .pool +_08139EBC: + adds r1, 0x2 + adds r2, 0x2 + ldrh r0, [r1] + cmp r0, r4 + bne _08139EA4 +_08139EC6: + movs r0, 0 +_08139EC8: + pop {r4} + pop {r1} + bx r1 + thumb_func_end warp0_in_pokecenter + + thumb_func_start sub_8139ED0 +sub_8139ED0: @ 8139ED0 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + ldr r0, =0x00003c1a + cmp r1, r0 + beq _08139EEC + movs r0, 0x1 + b _08139EEE + .pool +_08139EEC: + movs r0, 0 +_08139EEE: + pop {r1} + bx r1 + thumb_func_end sub_8139ED0 + + thumb_func_start UpdateFrontierManiac +UpdateFrontierManiac: @ 8139EF4 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x0000402f + bl GetVarPointer + adds r5, r0, 0 + ldrh r0, [r5] + adds r4, r0 + strh r4, [r5] + ldrh r0, [r5] + movs r1, 0xA + bl __umodsi3 + strh r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end UpdateFrontierManiac + + thumb_func_start sub_8139F20 +sub_8139F20: @ 8139F20 + push {r4-r7,lr} + movs r4, 0 + ldr r0, =0x0000402f + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x9 + bls _08139F34 + b _0813A03A +_08139F34: + lsls r0, r6, 2 + ldr r1, =_08139F48 + adds r1, r0, r1 + ldr r1, [r1] + adds r2, r0, 0 + mov pc, r1 + .pool + .align 2, 0 +_08139F48: + .4byte _08139F70 + .4byte _08139F70 + .4byte _08139F70 + .4byte _08139F70 + .4byte _08139F94 + .4byte _08139FB4 + .4byte _08139FCC + .4byte _08139FE4 + .4byte _08139FFC + .4byte _0813A014 +_08139F70: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + movs r3, 0xCE + lsls r3, 4 + adds r1, r0, r3 + adds r3, r1, r2 + ldr r1, =0x00000ce2 + adds r0, r1 + adds r1, r0, r2 + ldrh r0, [r3] + ldrh r2, [r1] + cmp r0, r2 + bcs _0813A028 + b _0813A038 + .pool +_08139F94: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r3, =0x00000d0c + adds r2, r0, r3 + adds r3, 0x2 +_08139F9E: + adds r1, r0, r3 + ldrh r0, [r2] + ldrh r3, [r1] + cmp r0, r3 + bcs _0813A028 + b _0813A038 + .pool +_08139FB4: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000de2 + adds r2, r0, r1 + ldr r3, =0x00000de4 + b _08139F9E + .pool +_08139FCC: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000dc8 + adds r2, r0, r1 + ldr r3, =0x00000dca + b _08139F9E + .pool +_08139FE4: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000dda + adds r2, r0, r1 + ldr r3, =0x00000ddc + b _08139F9E + .pool +_08139FFC: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000e04 + adds r2, r0, r1 + ldr r3, =0x00000e06 + b _08139F9E + .pool +_0813A014: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000e1a + adds r2, r0, r1 + ldr r3, =0x00000e1c + adds r1, r0, r3 + ldrh r0, [r2] + ldrh r3, [r1] + cmp r0, r3 + bcc _0813A038 +_0813A028: + adds r4, r0, 0 + b _0813A03A + .pool +_0813A038: + ldrh r4, [r1] +_0813A03A: + movs r2, 0 + ldr r5, =gUnknown_085B2CC8 + lsls r0, r6, 1 + adds r1, r0, r5 + ldrb r1, [r1] + adds r3, r0, 0 + ldr r7, =gUnknown_085B2C50 + cmp r1, r4 + bcs _0813A062 + adds r1, r3, 0 +_0813A04E: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x1 + bhi _0813A062 + adds r0, r2, r1 + adds r0, r5 + ldrb r0, [r0] + cmp r0, r4 + bcc _0813A04E +_0813A062: + adds r0, r3, r6 + adds r0, r2 + lsls r0, 2 + adds r0, r7 + ldr r0, [r0] + bl ShowFieldMessage + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139F20 + + thumb_func_start sub_813A080 +sub_813A080: @ 813A080 + push {r4-r7,lr} + ldr r0, =0x000040ce + bl VarGet + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000ca9 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 30 + lsrs r4, r0, 30 + cmp r5, 0x2 + bne _0813A0D8 + movs r0, 0xA9 + lsls r0, 1 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0813A0D8 + ldr r1, =gSpecialVar_0x8005 + movs r0, 0x5 + strh r0, [r1] + ldr r1, =gSpecialVar_0x8006 + movs r0, 0x4 + strh r0, [r1] + b _0813A110 + .pool +_0813A0D0: + movs r0, 0x4 + strh r0, [r6] + adds r0, r3, 0x5 + b _0813A10E +_0813A0D8: + movs r3, 0 + ldr r6, =gSpecialVar_0x8005 + ldr r7, =gSpecialVar_0x8006 + lsls r1, r4, 1 + lsls r2, r5, 2 + ldr r4, =gUnknown_085B2CDC + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + adds r1, r2 + movs r2, 0xCE + lsls r2, 4 + adds r0, r2 + adds r0, r1 + ldrh r1, [r0] +_0813A0F4: + lsls r0, r3, 1 + adds r0, r4 + ldrh r0, [r0] + cmp r0, r1 + bhi _0813A0D0 + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x8 + bls _0813A0F4 + movs r0, 0x4 + strh r0, [r6] + movs r0, 0xC +_0813A10E: + strh r0, [r7] +_0813A110: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A080 + + thumb_func_start sub_813A128 +sub_813A128: @ 813A128 + push {r4,lr} + ldr r0, =sub_813A2DC + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, =gTasks + adds r3, r0, r1 + ldr r1, =gSpecialVar_0x8004 + ldrh r0, [r1] + strh r0, [r3, 0x1E] + ldrh r0, [r1] + cmp r0, 0xC + bls _0813A14E + b _0813A2C6 +_0813A14E: + lsls r0, 2 + ldr r1, =_0813A168 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813A168: + .4byte _0813A19C + .4byte _0813A1AA + .4byte _0813A1C2 + .4byte _0813A1D6 + .4byte _0813A1F0 + .4byte _0813A208 + .4byte _0813A222 + .4byte _0813A23C + .4byte _0813A25A + .4byte _0813A274 + .4byte _0813A274 + .4byte _0813A28E + .4byte _0813A2A8 +_0813A19C: + movs r1, 0 + movs r0, 0x1 + strh r0, [r3, 0x8] + strh r0, [r3, 0xA] + strh r0, [r3, 0xC] + strh r0, [r3, 0xE] + b _0813A2BC +_0813A1AA: + movs r1, 0 + movs r0, 0x5 + strh r0, [r3, 0x8] + movs r0, 0x8 + strh r0, [r3, 0xA] + movs r0, 0x1 + strh r0, [r3, 0xC] + strh r0, [r3, 0xE] + movs r0, 0x9 + strh r0, [r3, 0x10] + movs r0, 0xA + b _0813A2BE +_0813A1C2: + movs r2, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r1, 0xC + strh r1, [r3, 0xA] + movs r0, 0x1 + strh r0, [r3, 0xC] + strh r0, [r3, 0xE] + movs r0, 0x7 + b _0813A250 +_0813A1D6: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xB + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A1F0: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A208: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0x7 + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A222: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xA + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A23C: + movs r2, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r1, 0xC + strh r1, [r3, 0xA] + movs r0, 0xF + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xE +_0813A250: + strh r0, [r3, 0x10] + strh r1, [r3, 0x12] + strh r2, [r3, 0x14] + strh r4, [r3, 0x26] + b _0813A2D2 +_0813A25A: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xA + strh r0, [r3, 0xA] + movs r0, 0x11 + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xB + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A274: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xB + strh r0, [r3, 0xA] + movs r0, 0xF + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xE + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A28E: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0x7 + strh r0, [r3, 0xA] + movs r0, 0x13 + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xA + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A2A8: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0x7 + strh r0, [r3, 0xA] + movs r0, 0x11 + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xC +_0813A2BC: + strh r0, [r3, 0x10] +_0813A2BE: + strh r0, [r3, 0x12] + strh r1, [r3, 0x14] + strh r4, [r3, 0x26] + b _0813A2D2 +_0813A2C6: + ldr r1, =gSpecialVar_Result + movs r0, 0x7F + strh r0, [r1] + adds r0, r4, 0 + bl DestroyTask +_0813A2D2: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A128 + + thumb_func_start sub_813A2DC +sub_813A2DC: @ 813A2DC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x20 + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, =gTasks + adds r6, r0, r1 + bl ScriptContext2_Enable + ldr r0, =gUnknown_0203AB68 + movs r5, 0 + strh r5, [r0] + ldr r1, =gUnknown_0203AB6C + movs r0, 0x40 + strb r0, [r1] + ldrh r0, [r6, 0x1E] + movs r1, 0 + bl sub_813AA60 + ldrb r0, [r6, 0x1E] + movs r1, 0 + bl sub_813ACE8 + ldr r4, =gUnknown_0203AB64 + movs r1, 0xA + ldrsh r0, [r6, r1] + lsls r0, 3 + bl AllocZeroed + str r0, [r4] + ldr r0, =gUnknown_0203AB6A + strh r5, [r0] + bl sub_813A42C + movs r3, 0 + movs r4, 0 + movs r2, 0xA + ldrsh r0, [r6, r2] + add r1, sp, 0x18 + mov r8, r1 + cmp r3, r0 + bge _0813A36A + ldr r5, =gUnknown_085B2CF0 +_0813A33A: + lsls r1, r4, 2 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + lsls r0, 6 + adds r1, r0 + adds r1, r5 + ldr r0, [r1] + ldr r1, =gUnknown_0203AB64 + ldr r2, [r1] + lsls r1, r4, 3 + adds r1, r2 + str r0, [r1] + str r4, [r1, 0x4] + adds r1, r3, 0 + bl display_text_and_get_width + adds r3, r0, 0 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r2, 0xA + ldrsh r0, [r6, r2] + cmp r4, r0 + blt _0813A33A +_0813A36A: + adds r0, r3, 0 + bl convert_pixel_width_to_tile_width + strh r0, [r6, 0x10] + movs r1, 0xC + ldrsh r0, [r6, r1] + movs r2, 0x10 + ldrsh r1, [r6, r2] + adds r0, r1 + cmp r0, 0x1D + ble _0813A38C + movs r0, 0x1D + subs r0, r1 + cmp r0, 0 + bge _0813A38A + movs r0, 0 +_0813A38A: + strh r0, [r6, 0xC] +_0813A38C: + ldrb r2, [r6, 0xC] + ldrb r3, [r6, 0xE] + ldrb r0, [r6, 0x10] + str r0, [sp] + ldrb r0, [r6, 0x12] + str r0, [sp, 0x4] + movs r0, 0xF + str r0, [sp, 0x8] + movs r0, 0x64 + str r0, [sp, 0xC] + add r0, sp, 0x10 + movs r1, 0 + bl sub_8198A50 + ldr r0, [sp, 0x10] + ldr r1, [sp, 0x14] + str r0, [sp, 0x18] + str r1, [sp, 0x1C] + mov r0, r8 + bl AddWindow + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x22] + movs r1, 0 + bl SetStandardWindowBorderStyle + ldr r4, =gUnknown_030061D0 + ldrh r0, [r6, 0xA] + strh r0, [r4, 0xC] + ldrh r0, [r6, 0x8] + strh r0, [r4, 0xE] + ldrh r0, [r6, 0x22] + strb r0, [r4, 0x10] + adds r0, r7, 0 + bl sub_813A694 + ldrh r1, [r6, 0x16] + ldrh r2, [r6, 0x18] + adds r0, r4, 0 + bl ListMenuInit + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x24] + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + ldr r1, =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_813A4EC + str r1, [r0] + add sp, 0x20 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A2DC + + thumb_func_start sub_813A42C +sub_813A42C: @ 813A42C + ldr r1, =gUnknown_030061D0 + ldr r0, =gUnknown_0203AB64 + ldr r0, [r0] + str r0, [r1] + ldr r0, =sub_813A46C + str r0, [r1, 0x4] + movs r0, 0 + str r0, [r1, 0x8] + movs r2, 0 + movs r0, 0x1 + strh r0, [r1, 0xC] + strh r0, [r1, 0xE] + strb r2, [r1, 0x10] + strb r2, [r1, 0x11] + movs r0, 0x8 + strb r0, [r1, 0x12] + strb r2, [r1, 0x13] + movs r0, 0x21 + strb r0, [r1, 0x14] + movs r0, 0x31 + strb r0, [r1, 0x15] + movs r0, 0 + strb r0, [r1, 0x16] + movs r0, 0x1 + strb r0, [r1, 0x17] + bx lr + .pool + thumb_func_end sub_813A42C + + thumb_func_start sub_813A46C +sub_813A46C: @ 813A46C + push {r4,r5,lr} + sub sp, 0x4 + movs r0, 0x5 + bl PlaySE + ldr r0, =sub_813A4EC + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _0813A4D4 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, =gTasks + adds r4, r0 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + movs r2, 0 + bl sub_81AE860 + ldr r1, =gUnknown_0203AB68 + mov r0, sp + ldrh r0, [r0] + strh r0, [r1] + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + bl sub_81AE838 + ldrh r0, [r4, 0x1E] + ldr r5, =gUnknown_0203AB6A + ldrh r1, [r5] + bl sub_813AC44 + ldrh r0, [r4, 0x1E] + mov r1, sp + ldrh r1, [r1] + bl sub_813AA60 + ldrb r0, [r4, 0x1E] + mov r1, sp + ldrh r1, [r1] + bl sub_813AD34 + mov r0, sp + ldrh r0, [r0] + strh r0, [r5] +_0813A4D4: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A46C + + thumb_func_start sub_813A4EC +sub_813A4EC: @ 813A4EC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + adds r6, r0, r1 + ldrh r0, [r6, 0x24] + lsls r0, 24 + lsrs r0, 24 + bl ListMenuHandleInputGetItemId + adds r4, r0, 0 + movs r0, 0x2 + negs r0, r0 + cmp r4, r0 + beq _0813A51C + adds r0, 0x1 + cmp r4, r0 + bne _0813A530 + b _0813A566 + .pool +_0813A51C: + ldr r1, =gSpecialVar_Result + movs r0, 0x7F + strh r0, [r1] + movs r0, 0x5 + bl PlaySE + b _0813A54C + .pool +_0813A530: + ldr r0, =gSpecialVar_Result + strh r4, [r0] + movs r0, 0x5 + bl PlaySE + movs r1, 0x14 + ldrsh r0, [r6, r1] + cmp r0, 0 + beq _0813A54C + movs r1, 0xA + ldrsh r0, [r6, r1] + subs r0, 0x1 + cmp r4, r0 + bne _0813A558 +_0813A54C: + adds r0, r5, 0 + bl sub_813A570 + b _0813A566 + .pool +_0813A558: + adds r0, r5, 0 + bl sub_813A738 + ldr r0, =sub_813A600 + str r0, [r6] + bl EnableBothScriptContexts +_0813A566: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A4EC + + thumb_func_start sub_813A570 +sub_813A570: @ 813A570 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + ldr r0, =gTasks + adds r4, r0 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + bl sub_81AE838 + ldrh r0, [r4, 0x1E] + mov r1, sp + ldrh r1, [r1] + bl sub_813AC44 + adds r0, r5, 0 + bl sub_813A738 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + movs r2, 0 + bl sub_81AE6C8 + ldr r0, =gUnknown_0203AB64 + ldr r0, [r0] + bl Free + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + bl sub_8198070 + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl FillWindowPixelBuffer + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl CopyWindowToVram + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl RemoveWindow + adds r0, r5, 0 + bl DestroyTask + bl EnableBothScriptContexts + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A570 + + thumb_func_start sub_813A600 +sub_813A600: @ 813A600 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0x14 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + beq _0813A624 + cmp r0, 0x2 + bne _0813A624 + movs r0, 0x1 + strh r0, [r1, 0x14] + ldr r0, =sub_813A664 + str r0, [r1] +_0813A624: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A600 + + thumb_func_start sub_813A630 +sub_813A630: @ 813A630 + push {lr} + ldr r0, =sub_813A600 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + bne _0813A64C + bl EnableBothScriptContexts + b _0813A65C + .pool +_0813A64C: + ldr r0, =gTasks + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x14] + adds r0, 0x1 + strh r0, [r1, 0x14] +_0813A65C: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A630 + + thumb_func_start sub_813A664 +sub_813A664: @ 813A664 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ScriptContext2_Enable + adds r0, r4, 0 + bl sub_813A694 + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_813A4EC + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A664 + + thumb_func_start sub_813A694 +sub_813A694: @ 813A694 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r4, r1, r0 + mov r1, sp + ldr r0, =gUnknown_085B3030 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r0, [r0] + str r0, [r1] + movs r0, 0x8 + ldrsh r1, [r4, r0] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r1, r0 + beq _0813A724 + mov r2, sp + movs r3, 0x10 + ldrsh r1, [r4, r3] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + lsls r1, 3 + adds r1, 0xC + movs r5, 0xC + ldrsh r0, [r4, r5] + subs r0, 0x1 + lsls r0, 3 + adds r1, r0 + movs r3, 0 + strb r1, [r2, 0x1] + mov r1, sp + movs r0, 0x8 + strb r0, [r1, 0x2] + movs r0, 0x10 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + lsls r1, 3 + adds r1, 0xC + movs r5, 0xC + ldrsh r0, [r4, r5] + subs r0, 0x1 + lsls r0, 3 + adds r1, r0 + strb r1, [r2, 0x4] + mov r1, sp + movs r2, 0x12 + ldrsh r0, [r4, r2] + lsls r0, 3 + adds r0, 0xA + strb r0, [r1, 0x5] + mov r0, sp + strh r3, [r0, 0x6] + mov r2, sp + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x8] + subs r0, r1 + strh r0, [r2, 0x8] + ldr r1, =gUnknown_0203AB68 + mov r0, sp + bl AddScrollIndicatorArrowPair + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] +_0813A724: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A694 + + thumb_func_start sub_813A738 +sub_813A738: @ 813A738 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r2, r1, r0 + movs r0, 0x8 + ldrsh r1, [r2, r0] + movs r3, 0xA + ldrsh r0, [r2, r3] + cmp r1, r0 + beq _0813A75E + ldrh r0, [r2, 0x20] + lsls r0, 24 + lsrs r0, 24 + bl RemoveScrollIndicatorArrowPair +_0813A75E: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A738 + + thumb_func_start nullsub_55 +nullsub_55: @ 813A768 + bx lr + thumb_func_end nullsub_55 + + thumb_func_start sub_813A76C +sub_813A76C: @ 813A76C + push {r4-r6,lr} + movs r4, 0 + ldr r6, =gLinkPlayers + ldr r0, =0x0000401f + adds r5, r0, 0 +_0813A776: + lsls r0, r4, 3 + subs r0, r4 + lsls r0, 2 + adds r0, r6 + ldrb r0, [r0, 0x13] + cmp r0, 0 + bne _0813A79C + subs r0, r5, r4 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0 + bl VarSet + b _0813A7A8 + .pool +_0813A79C: + subs r0, r5, r4 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x69 + bl VarSet +_0813A7A8: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x1 + bls _0813A776 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813A76C + + thumb_func_start sub_813A7B8 +sub_813A7B8: @ 813A7B8 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldrh r0, [r1] + cmp r0, 0x5 + bls _0813A7C6 + movs r0, 0 + strh r0, [r1] +_0813A7C6: + ldrh r1, [r1] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + bl GetNature + lsls r0, 24 + ldr r1, =gUnknown_085B3040 + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bl ShowFieldMessage + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A7B8 + + thumb_func_start UpdateFrontierGambler +UpdateFrontierGambler: @ 813A7F4 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x00004030 + bl GetVarPointer + adds r5, r0, 0 + ldrh r0, [r5] + adds r4, r0 + strh r4, [r5] + ldrh r0, [r5] + movs r1, 0xC + bl __umodsi3 + strh r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end UpdateFrontierGambler + + thumb_func_start sub_813A820 +sub_813A820: @ 813A820 + push {r4,lr} + ldr r0, =0x00004030 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r1, =gUnknown_085B30A4 + lsls r0, r4, 2 + adds r0, r1 + ldr r0, [r0] + bl ShowFieldMessage + ldr r0, =0x00004031 + adds r1, r4, 0 + bl VarSet + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A820 + + thumb_func_start sub_813A854 +sub_813A854: @ 813A854 + push {r4,lr} + ldr r4, =gUnknown_085B30D4 + ldr r0, =0x00004031 + bl VarGet + lsls r0, 16 + lsrs r0, 14 + adds r0, r4 + ldr r0, [r0] + bl ShowFieldMessage + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A854 + + thumb_func_start sub_813A878 +sub_813A878: @ 813A878 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, =0x000040ce + bl VarGet + lsls r0, 16 + lsrs r7, r0, 16 + ldr r0, =0x00004031 + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + ldr r0, =0x000040cf + bl VarGet + lsls r0, 16 + lsrs r5, r0, 16 + ldr r4, =0x00004033 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _0813A8F0 + ldr r1, =gUnknown_085B3104 + lsls r0, r6, 1 + adds r0, r1 + ldrh r1, [r0] + lsls r0, r5, 8 + adds r0, r7 + cmp r1, r0 + bne _0813A8F0 + mov r0, r8 + cmp r0, 0 + beq _0813A8E8 + adds r0, r4, 0 + movs r1, 0x2 + bl VarSet + b _0813A8F0 + .pool +_0813A8E8: + adds r0, r4, 0 + movs r1, 0x3 + bl VarSet +_0813A8F0: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_813A878 + + thumb_func_start sub_813A8FC +sub_813A8FC: @ 813A8FC + push {lr} + sub sp, 0x2C + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000eb8 + adds r0, r1 + ldrh r1, [r0] + add r0, sp, 0xC + movs r2, 0x1 + movs r3, 0x4 + bl ConvertIntToDecimalStringN + ldr r1, =gText_BP + bl StringCopy + movs r0, 0x1 + add r1, sp, 0xC + movs r2, 0x30 + bl GetStringRightAlignXOffset + adds r3, r0, 0 + ldr r0, =gUnknown_0203AB6D + ldrb r0, [r0] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x1 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + add r2, sp, 0xC + bl PrintTextOnWindow + add sp, 0x2C + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A8FC + + thumb_func_start sub_813A958 +sub_813A958: @ 813A958 + push {r4,lr} + ldr r4, =gUnknown_0203AB6D + ldr r0, =gUnknown_085B311C + bl AddWindow + strb r0, [r4] + ldrb r0, [r4] + movs r1, 0 + bl SetStandardWindowBorderStyle + bl sub_813A8FC + ldrb r0, [r4] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A958 + + thumb_func_start sub_813A988 +sub_813A988: @ 813A988 + push {r4,lr} + ldr r4, =gUnknown_0203AB6D + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A988 + + thumb_func_start sub_813A9A4 +sub_813A9A4: @ 813A9A4 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r2, =0x00000eb8 + adds r1, r0, r2 + ldr r0, =gSpecialVar_0x8004 + ldrh r2, [r1] + ldrh r0, [r0] + cmp r2, r0 + bcs _0813A9C8 + movs r0, 0 + b _0813A9CA + .pool +_0813A9C8: + subs r0, r2, r0 +_0813A9CA: + strh r0, [r1] + pop {r0} + bx r0 + thumb_func_end sub_813A9A4 + + thumb_func_start sub_813A9D0 +sub_813A9D0: @ 813A9D0 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000eb8 + adds r2, r0, r1 + ldrh r1, [r2] + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + adds r1, r0 + ldr r0, =0x0000270f + cmp r1, r0 + ble _0813A9FC + strh r0, [r2] + b _0813A9FE + .pool +_0813A9FC: + strh r1, [r2] +_0813A9FE: + pop {r0} + bx r0 + thumb_func_end sub_813A9D0 + + thumb_func_start sub_813AA04 +sub_813AA04: @ 813AA04 + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000eb8 + adds r0, r1 + ldrh r0, [r0] + bx lr + .pool + thumb_func_end sub_813AA04 + + thumb_func_start sub_813AA18 +sub_813AA18: @ 813AA18 + push {r4,lr} + ldr r4, =gUnknown_0203AB6E + ldr r0, =gUnknown_085B3124 + bl AddWindow + strb r0, [r4] + ldrb r0, [r4] + movs r1, 0 + bl SetStandardWindowBorderStyle + ldrb r0, [r4] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AA18 + + thumb_func_start sub_813AA44 +sub_813AA44: @ 813AA44 + push {r4,lr} + ldr r4, =gUnknown_0203AB6E + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AA44 + + thumb_func_start sub_813AA60 +sub_813AA60: @ 813AA60 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 16 + lsls r1, 16 + lsrs r5, r1, 16 + lsrs r4, r0, 16 + ldr r1, =0xfffd0000 + adds r0, r1 + lsrs r0, 16 + cmp r0, 0x3 + bls _0813AA78 + b _0813ABC2 +_0813AA78: + movs r0, 0xD8 + str r0, [sp] + movs r0, 0x20 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x11 + movs r2, 0 + movs r3, 0 + bl FillWindowPixelRect + cmp r4, 0x4 + beq _0813AAE8 + cmp r4, 0x4 + bgt _0813AAA0 + cmp r4, 0x3 + beq _0813AAAA + b _0813ABC2 + .pool +_0813AAA0: + cmp r4, 0x5 + beq _0813AB5C + cmp r4, 0x6 + beq _0813AB94 + b _0813ABC2 +_0813AAAA: + ldr r1, =gUnknown_085B3170 + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + str r4, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B312C + lsls r0, r5, 1 + adds r1, r0, r1 + ldrh r5, [r1] + ldr r0, =0x0000ffff + cmp r5, r0 + beq _0813AB18 + b _0813AB2C + .pool +_0813AAE8: + ldr r1, =gUnknown_085B319C + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B3142 + lsls r0, r5, 1 + adds r1, r0, r1 + ldrh r5, [r1] + ldr r0, =0x0000ffff + cmp r5, r0 + bne _0813AB2C +_0813AB18: + ldrh r0, [r1] + bl sub_813ABD4 + b _0813ABC2 + .pool +_0813AB2C: + ldr r4, =0x0000157c + adds r0, r4, 0 + bl FreeSpriteTilesByTag + adds r0, r4, 0 + bl FreeSpritePaletteByTag + lsls r0, r5, 24 + lsrs r0, 24 + str r4, [sp] + str r4, [sp, 0x4] + movs r1, 0x21 + movs r2, 0x58 + movs r3, 0 + bl AddDecorationIconObject + ldr r1, =gUnknown_0203AB6C + strb r0, [r1] + b _0813ABC2 + .pool +_0813AB5C: + ldr r1, =gUnknown_085B31B4 + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B314E + lsls r0, r5, 1 + adds r0, r1 + ldrh r0, [r0] + bl sub_813ABD4 + b _0813ABC2 + .pool +_0813AB94: + ldr r1, =gUnknown_085B31D0 + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B315C + lsls r0, r5, 1 + adds r0, r1 + ldrh r0, [r0] + bl sub_813ABD4 +_0813ABC2: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AA60 + + thumb_func_start sub_813ABD4 +sub_813ABD4: @ 813ABD4 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + ldr r4, =0x0000157c + adds r0, r4, 0 + bl FreeSpriteTilesByTag + adds r0, r4, 0 + bl FreeSpritePaletteByTag + adds r0, r4, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl AddItemIconSprite + ldr r4, =gUnknown_0203AB6C + strb r0, [r4] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _0813AC32 + ldr r3, =gSprites + ldrb r0, [r4] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldrb r2, [r1, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + strb r0, [r1, 0x5] + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x24 + strh r1, [r0, 0x20] + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x5C + strh r1, [r0, 0x22] +_0813AC32: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ABD4 + + thumb_func_start sub_813AC44 +sub_813AC44: @ 813AC44 + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + ldr r2, =gUnknown_0203AB6C + ldrb r0, [r2] + cmp r0, 0x40 + beq _0813AC70 + cmp r1, 0x6 + bgt _0813AC6A + cmp r1, 0x3 + blt _0813AC6A + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + bl DestroySpriteAndFreeResources +_0813AC6A: + ldr r1, =gUnknown_0203AB6C + movs r0, 0x40 + strb r0, [r1] +_0813AC70: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AC44 + + thumb_func_start sub_813AC7C +sub_813AC7C: @ 813AC7C + push {lr} + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r0, 0 + beq _0813ACB8 + ldr r0, =gStringVar1 + ldr r2, =gUnknown_085B320C + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + lsls r1, 1 + adds r1, r2 + ldrh r2, [r1] + movs r1, 0xD + muls r1, r2 + ldr r2, =gMoveNames + adds r1, r2 + bl StringCopy + b _0813ACD2 + .pool +_0813ACB8: + ldr r0, =gStringVar1 + ldr r2, =gUnknown_085B31F8 + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + lsls r1, 1 + adds r1, r2 + ldrh r2, [r1] + movs r1, 0xD + muls r1, r2 + ldr r2, =gMoveNames + adds r1, r2 + bl StringCopy +_0813ACD2: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AC7C + + thumb_func_start sub_813ACE8 +sub_813ACE8: @ 813ACE8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r1, 16 + lsrs r6, r1, 16 + subs r0, 0x9 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0813AD20 + ldr r0, =gSpecialVar_0x8006 + ldrh r0, [r0] + cmp r0, 0 + bne _0813AD18 + ldr r4, =gUnknown_0203AB5E + ldr r0, =gUnknown_085B3220 + bl AddWindow + strb r0, [r4] + ldrb r0, [r4] + movs r1, 0 + bl SetStandardWindowBorderStyle +_0813AD18: + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_813AD34 +_0813AD20: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ACE8 + + thumb_func_start sub_813AD34 +sub_813AD34: @ 813AD34 + push {r4-r7,lr} + sub sp, 0xC + lsls r0, 24 + lsls r1, 16 + lsrs r5, r1, 16 + adds r7, r5, 0 + lsrs r6, r0, 24 + movs r1, 0xF7 + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0813ADAC + ldr r4, =gUnknown_0203AB5E + ldrb r0, [r4] + movs r1, 0x60 + str r1, [sp] + movs r1, 0x30 + str r1, [sp, 0x4] + movs r1, 0x11 + movs r2, 0 + movs r3, 0 + bl FillWindowPixelRect + cmp r6, 0xA + bne _0813AD90 + ldrb r0, [r4] + ldr r2, =gUnknown_085B3254 + lsls r1, r5, 2 + adds r1, r2 + ldr r2, [r1] + movs r1, 0x1 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl PrintTextOnWindow + b _0813ADAC + .pool +_0813AD90: + ldrb r0, [r4] + ldr r2, =gUnknown_085B3228 + lsls r1, r7, 2 + adds r1, r2 + ldr r2, [r1] + movs r1, 0x1 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl PrintTextOnWindow +_0813ADAC: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AD34 + + thumb_func_start sub_813ADB8 +sub_813ADB8: @ 813ADB8 + push {r4,lr} + ldr r4, =gUnknown_0203AB5E + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ADB8 + + thumb_func_start sub_813ADD4 +sub_813ADD4: @ 813ADD4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x18 + ldr r0, =sub_813A600 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0xFF + beq _0813AE90 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, =gTasks + adds r6, r0, r1 + ldrh r0, [r6, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r4, sp + adds r4, 0x16 + add r1, sp, 0x14 + adds r2, r4, 0 + bl sub_81AE860 + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl SetStandardWindowBorderStyle + movs r5, 0 + mov r9, r4 + ldr r0, =gUnknown_085B2CF0 + mov r8, r0 + movs r4, 0 +_0813AE1E: + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + add r1, sp, 0x14 + ldrh r2, [r1] + adds r2, r5 + lsls r2, 2 + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + lsls r1, 6 + adds r2, r1 + add r2, r8 + ldr r2, [r2] + lsls r1, r5, 28 + lsrs r1, 24 + str r1, [sp] + movs r7, 0xFF + str r7, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + str r4, [sp, 0x10] + movs r1, 0x1 + movs r3, 0xA + bl sub_8199F74 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _0813AE1E + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gText_SelectorArrow + mov r3, r9 + ldrh r1, [r3] + lsls r1, 28 + lsrs r1, 24 + str r1, [sp] + str r7, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl PrintTextOnWindow + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + bl CopyWindowToVram +_0813AE90: + add sp, 0x18 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ADD4 + + thumb_func_start sub_813AEB4 +sub_813AEB4: @ 813AEB4 + push {r4,lr} + movs r1, 0 + ldr r0, =gSpecialVar_0x8005 + strh r1, [r0] + ldr r0, =0x0000400e + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x0000400d + bl VarGet + lsls r0, 16 + lsrs r1, r0, 16 + cmp r4, 0 + beq _0813AF18 + movs r2, 0 + lsls r1, 1 + ldr r3, =gUnknown_0861500C + ldr r0, =gUnknown_085B320C + adds r0, r1, r0 + ldrh r1, [r0] +_0813AEE2: + lsls r0, r2, 1 + adds r0, r3 + ldrh r0, [r0] + cmp r0, r1 + beq _0813AF0C + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x1D + bls _0813AEE2 + b _0813AF38 + .pool +_0813AF0C: + ldr r0, =gSpecialVar_0x8005 + strh r2, [r0] + b _0813AF38 + .pool +_0813AF18: + movs r2, 0 + lsls r1, 1 + ldr r3, =gUnknown_0861500C + ldr r0, =gUnknown_085B31F8 + adds r0, r1, r0 + ldrh r1, [r0] +_0813AF24: + lsls r0, r2, 1 + adds r0, r3 + ldrh r0, [r0] + cmp r0, r1 + beq _0813AF0C + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x1D + bls _0813AF24 +_0813AF38: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AEB4 + + thumb_func_start sub_813AF48 +sub_813AF48: @ 813AF48 + push {r4,r5,lr} + ldr r0, =sub_813A600 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0xFF + beq _0813AFB6 + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + ldr r0, =gTasks + adds r4, r0 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + movs r2, 0 + bl sub_81AE6C8 + ldr r0, =gUnknown_0203AB64 + ldr r0, [r0] + bl Free + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + bl sub_8198070 + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl FillWindowPixelBuffer + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl ClearWindowTilemap + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl CopyWindowToVram + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl RemoveWindow + adds r0, r5, 0 + bl DestroyTask +_0813AFB6: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AF48 + + thumb_func_start sub_813AFC8 +sub_813AFC8: @ 813AFC8 + push {lr} + ldr r0, =task_deoxys_sound + movs r1, 0x8 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AFC8 + + thumb_func_start task_deoxys_sound +task_deoxys_sound: @ 813AFDC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, =0x000008d4 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B004 + ldr r1, =gSpecialVar_Result + movs r0, 0x3 + b _0813B06A + .pool +_0813B004: + ldr r0, =0x00004035 + mov r8, r0 + bl VarGet + lsls r0, 16 + lsrs r5, r0, 16 + ldr r4, =0x00004034 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r4, 0 + movs r1, 0 + bl VarSet + cmp r5, 0 + beq _0813B05C + ldr r0, =gUnknown_085B33F6 + subs r1, r5, 0x1 + adds r1, r0 + ldrb r0, [r1] + cmp r0, r6 + bcs _0813B05C + movs r0, 0 + bl sub_813B0B4 + mov r0, r8 + movs r1, 0 + bl VarSet + ldr r1, =gSpecialVar_Result + movs r0, 0 + strh r0, [r1] + b _0813B070 + .pool +_0813B05C: + cmp r5, 0xA + bne _0813B080 + ldr r0, =0x000008d4 + bl FlagSet + ldr r1, =gSpecialVar_Result + movs r0, 0x2 +_0813B06A: + strh r0, [r1] + bl EnableBothScriptContexts +_0813B070: + adds r0, r7, 0 + bl DestroyTask + b _0813B0A2 + .pool +_0813B080: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_813B0B4 + ldr r0, =0x00004035 + adds r1, r5, 0 + bl VarSet + ldr r1, =gSpecialVar_Result + movs r0, 0x1 + strh r0, [r1] + adds r0, r7, 0 + bl DestroyTask +_0813B0A2: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end task_deoxys_sound + + thumb_func_start sub_813B0B4 +sub_813B0B4: @ 813B0B4 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 5 + ldr r1, =gUnknown_085B3280 + adds r0, r1 + movs r1, 0xD0 + lsls r1, 1 + movs r2, 0x8 + bl LoadPalette + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r1, [r0, 0x5] + ldrb r2, [r0, 0x4] + movs r0, 0x1 + mov r3, sp + bl TryGetFieldObjectIdByLocalIdAndMap + cmp r4, 0 + bne _0813B0F0 + movs r0, 0xC4 + bl PlaySE + b _0813B0F8 + .pool +_0813B0F0: + movs r0, 0x82 + lsls r0, 1 + bl PlaySE +_0813B0F8: + ldr r0, =sub_813B160 + movs r1, 0x8 + bl CreateTask + ldr r3, =gFieldEffectArguments + movs r0, 0x1 + str r0, [r3] + movs r0, 0x3A + str r0, [r3, 0x4] + movs r0, 0x1A + str r0, [r3, 0x8] + ldr r0, =gUnknown_085B33E0 + lsls r2, r4, 1 + adds r1, r2, r0 + ldrb r1, [r1] + str r1, [r3, 0xC] + adds r0, 0x1 + adds r0, r2, r0 + ldrb r0, [r0] + str r0, [r3, 0x10] + adds r5, r2, 0 + cmp r4, 0 + bne _0813B138 + movs r0, 0x3C + b _0813B13A + .pool +_0813B138: + movs r0, 0x5 +_0813B13A: + str r0, [r3, 0x14] + movs r0, 0x42 + bl FieldEffectStart + ldr r0, =gUnknown_085B33E0 + adds r1, r5, r0 + ldrb r1, [r1] + adds r0, 0x1 + adds r0, r5, r0 + ldrb r2, [r0] + movs r0, 0x1 + bl Overworld_SetMapObjTemplateCoords + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B0B4 + + thumb_func_start sub_813B160 +sub_813B160: @ 813B160 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x42 + bl FieldEffectActiveListContains + lsls r0, 24 + cmp r0, 0 + bne _0813B17C + bl EnableBothScriptContexts + adds r0, r4, 0 + bl DestroyTask +_0813B17C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813B160 + + thumb_func_start increment_var_x4026_on_birth_island_modulo_100 +increment_var_x4026_on_birth_island_modulo_100: @ 813B184 + push {r4,lr} + ldr r4, =0x00004034 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r2, r0, 16 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + ldr r0, =0x00003a1a + cmp r1, r0 + bne _0813B1C8 + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x63 + bls _0813B1C0 + adds r0, r4, 0 + movs r1, 0 + bl VarSet + b _0813B1C8 + .pool +_0813B1C0: + adds r0, r4, 0 + adds r1, r2, 0 + bl VarSet +_0813B1C8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end increment_var_x4026_on_birth_island_modulo_100 + + thumb_func_start sub_813B1D0 +sub_813B1D0: @ 813B1D0 + push {lr} + ldr r0, =0x00004035 + bl VarGet + lsls r0, 24 + lsrs r0, 19 + ldr r1, =gUnknown_085B3280 + adds r0, r1 + movs r1, 0xD0 + lsls r1, 1 + movs r2, 0x8 + bl LoadPalette + movs r0, 0x80 + lsls r0, 19 + movs r1, 0x10 + movs r2, 0 + bl BlendPalettes + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B1D0 + + thumb_func_start set_unknown_box_id +@ void set_unknown_box_id(char id) +set_unknown_box_id: @ 813B204 + ldr r1, =gUnknown_0203AB6F + strb r0, [r1] + bx lr + .pool + thumb_func_end set_unknown_box_id + + thumb_func_start get_unknown_box_id +get_unknown_box_id: @ 813B210 + ldr r0, =gUnknown_0203AB6F + ldrb r0, [r0] + bx lr + .pool + thumb_func_end get_unknown_box_id + + thumb_func_start sub_813B21C +sub_813B21C: @ 813B21C + push {r4,r5,lr} + ldr r5, =0x000008d7 + adds r0, r5, 0 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0813B258 + bl StorageGetCurrentBox + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, =0x00004036 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r4, r0 + beq _0813B258 + adds r0, r5, 0 + bl FlagSet + movs r0, 0x1 + b _0813B25A + .pool +_0813B258: + movs r0, 0 +_0813B25A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_813B21C + + thumb_func_start sub_813B260 +sub_813B260: @ 813B260 + push {r4-r7,lr} + ldr r0, =0x00004036 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + bl set_unknown_box_id + bl StorageGetCurrentBox + lsls r0, 24 + lsrs r4, r0, 24 +_0813B278: + movs r5, 0 + lsls r6, r4, 24 + lsls r7, r4, 16 +_0813B27E: + lsls r1, r5, 24 + lsrs r1, 24 + lsrs r0, r6, 24 + bl GetBoxedMonPtr + movs r1, 0xB + movs r2, 0 + bl GetBoxMonData + cmp r0, 0 + bne _0813B2C0 + bl get_unknown_box_id + lsls r0, 16 + lsrs r0, 16 + cmp r0, r4 + beq _0813B2A6 + ldr r0, =0x000008d7 + bl FlagClear +_0813B2A6: + ldr r0, =0x00004036 + lsrs r1, r7, 16 + bl VarSet + bl sub_813B21C + lsls r0, 24 + lsrs r0, 24 + b _0813B2DC + .pool +_0813B2C0: + adds r5, 0x1 + cmp r5, 0x1D + ble _0813B27E + adds r4, 0x1 + cmp r4, 0xE + bne _0813B2CE + movs r4, 0 +_0813B2CE: + bl StorageGetCurrentBox + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bne _0813B278 + movs r0, 0 +_0813B2DC: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_813B260 + + thumb_func_start sub_813B2E4 +sub_813B2E4: @ 813B2E4 + push {r4,lr} + bl Random + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x00004038 + movs r1, 0 + bl VarSet + movs r0, 0xDF + lsls r0, 1 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0813B340 + ldr r0, =0x000001bf + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B330 + ldr r0, =0x00004037 + movs r1, 0x7 + ands r4, r1 + adds r1, r4, 0 + adds r1, 0x9 + bl VarSet + b _0813B36A + .pool +_0813B330: + movs r0, 0x1 + ands r4, r0 + cmp r4, 0 + bne _0813B354 + bl Random + lsls r0, 16 + lsrs r4, r0, 16 +_0813B340: + ldr r0, =0x00004037 + movs r1, 0x7 + ands r4, r1 + adds r1, r4, 0x1 + bl VarSet + b _0813B36A + .pool +_0813B354: + bl Random + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x00004037 + movs r1, 0x7 + ands r4, r1 + adds r1, r4, 0 + adds r1, 0x9 + bl VarSet +_0813B36A: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B2E4 + + thumb_func_start sub_813B374 +sub_813B374: @ 813B374 + push {r4,lr} + ldr r0, =0x00004037 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =gStringVar1 + ldr r2, =gUnknown_085B3400 + subs r1, r4, 0x1 + adds r1, r2 + ldrb r1, [r1] + movs r2, 0 + bl GetMapName + cmp r4, 0x8 + bls _0813B3A8 + movs r0, 0x1 + b _0813B3AA + .pool +_0813B3A8: + movs r0, 0 +_0813B3AA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_813B374 + + thumb_func_start sub_813B3B0 +sub_813B3B0: @ 813B3B0 + push {r4-r6,lr} + ldr r5, =0x00004038 + adds r0, r5, 0 + bl VarGet + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x00004037 + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0 + beq _0813B47C + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x000003e7 + cmp r4, r0 + bls _0813B474 + adds r0, r5, 0 + movs r1, 0 + bl VarSet + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x4 + ldrsb r0, [r1, r0] + cmp r0, 0x18 + bne _0813B414 + movs r0, 0x5 + ldrsb r0, [r1, r0] + cmp r0, 0x69 + bgt _0813B414 + cmp r0, 0x65 + blt _0813B414 + ldr r0, =0x00004039 + movs r1, 0x1 + b _0813B478 + .pool +_0813B414: + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + movs r1, 0x4 + ldrsb r1, [r2, r1] + adds r3, r0, 0 + cmp r1, 0 + bne _0813B444 + movs r0, 0x5 + ldrsb r0, [r2, r0] + cmp r0, 0x34 + beq _0813B436 + cmp r0, 0x34 + blt _0813B444 + cmp r0, 0x38 + bgt _0813B444 + cmp r0, 0x36 + blt _0813B444 +_0813B436: + ldr r0, =0x00004039 + movs r1, 0x1 + b _0813B478 + .pool +_0813B444: + ldr r3, [r3] + movs r2, 0x5 + ldrsb r2, [r3, r2] + ldr r1, =gUnknown_085B3410 + subs r0, r6, 0x1 + adds r0, r1 + ldrb r0, [r0] + cmp r2, r0 + bne _0813B468 + movs r0, 0x4 + ldrsb r0, [r3, r0] + cmp r0, 0 + bne _0813B468 + movs r0, 0x1 + b _0813B47E + .pool +_0813B468: + ldr r0, =0x00004037 + movs r1, 0 + b _0813B478 + .pool +_0813B474: + adds r0, r5, 0 + adds r1, r4, 0 +_0813B478: + bl VarSet +_0813B47C: + movs r0, 0 +_0813B47E: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_813B3B0 + + thumb_func_start sub_813B484 +sub_813B484: @ 813B484 + push {lr} + movs r0, 0x2 + bl sub_80AB104 + pop {r0} + bx r0 + thumb_func_end sub_813B484 + + thumb_func_start sub_813B490 +sub_813B490: @ 813B490 + push {r4-r7,lr} + movs r3, 0 + ldr r0, =gSaveBlock1Ptr + ldr r4, [r0] + movs r6, 0x4 + ldrsb r6, [r4, r6] + ldr r5, =gUnknown_085B3420 + adds r0, r5, 0x2 + mov r12, r0 + adds r7, r5, 0x1 +_0813B4A4: + lsls r0, r3, 1 + adds r2, r0, r3 + adds r0, r2, r5 + ldrb r0, [r0] + cmp r6, r0 + bne _0813B4CC + movs r1, 0x5 + ldrsb r1, [r4, r1] + adds r0, r2, r7 + ldrb r0, [r0] + cmp r1, r0 + bne _0813B4CC + mov r1, r12 + adds r0, r2, r1 + ldrb r0, [r0] + b _0813B4D8 + .pool +_0813B4CC: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xB + bls _0813B4A4 + movs r0, 0x1 +_0813B4D8: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_813B490 + + thumb_func_start sub_813B4E0 +sub_813B4E0: @ 813B4E0 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + bl sub_81D15CC + cmp r0, 0 + blt _0813B50C + movs r1, 0xAE + lsls r1, 1 + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B50C + movs r0, 0x1 + b _0813B50E + .pool +_0813B50C: + movs r0, 0 +_0813B50E: + pop {r1} + bx r1 + thumb_func_end sub_813B4E0 + + thumb_func_start sub_813B514 +sub_813B514: @ 813B514 + push {lr} + ldr r0, =0x0000403f + bl VarGet + lsls r0, 16 + cmp r0, 0 + beq _0813B52C + movs r0, 0x1 + b _0813B52E + .pool +_0813B52C: + movs r0, 0 +_0813B52E: + pop {r1} + bx r1 + thumb_func_end sub_813B514 + + thumb_func_start sub_813B534 +sub_813B534: @ 813B534 + push {lr} + ldr r2, =gUnknown_0203AB70 + ldr r1, =gBattleTypeFlags + ldr r0, [r1] + str r0, [r2] + movs r0, 0 + str r0, [r1] + ldr r0, =gReceivedRemoteLinkPlayers + ldrb r0, [r0] + cmp r0, 0 + bne _0813B552 + ldr r0, =sub_80B3AF8 + movs r1, 0x5 + bl CreateTask +_0813B552: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B534 + + thumb_func_start sub_813B568 +sub_813B568: @ 813B568 + push {lr} + ldr r0, =sub_813B57C + movs r1, 0x5 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B568 + + thumb_func_start sub_813B57C +sub_813B57C: @ 813B57C + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0x9 + bls _0813B596 + b _0813B7C6 +_0813B596: + lsls r0, 2 + ldr r1, =_0813B5A8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813B5A8: + .4byte _0813B5D0 + .4byte _0813B5E4 + .4byte _0813B614 + .4byte _0813B6B4 + .4byte _0813B6E4 + .4byte _0813B728 + .4byte _0813B764 + .4byte _0813B772 + .4byte _0813B784 + .4byte _0813B7A8 +_0813B5D0: + ldr r0, =sub_80B3AF8 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + beq _0813B5DE + b _0813B7C6 +_0813B5DE: + b _0813B790 + .pool +_0813B5E4: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0813B5F2 + b _0813B7C6 +_0813B5F2: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _0813B5FE + b _0813B790 +_0813B5FE: + bl bitmask_all_link_players_but_self + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gSpecialVar_0x8004 + movs r2, 0x2 + bl SendBlock + b _0813B708 + .pool +_0813B614: + bl GetBlockReceivedStatus + movs r1, 0x2 + ands r1, r0 + cmp r1, 0 + bne _0813B622 + b _0813B7C6 +_0813B622: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + beq _0813B62E + b _0813B790 +_0813B62E: + ldr r5, =gSpecialVar_0x8005 + ldr r0, =gBlockRecvBuffer + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r5] + movs r0, 0x1 + bl ResetBlockReceivedFlag + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0x1 + bne _0813B668 + ldrh r1, [r5] + cmp r1, 0x1 + bne _0813B668 + ldr r0, =gSpecialVar_Result + strh r1, [r0] + b _0813B790 + .pool +_0813B668: + ldr r0, =gSpecialVar_0x8004 + ldrh r1, [r0] + adds r2, r0, 0 + cmp r1, 0 + bne _0813B68C + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r0, 0x1 + bne _0813B68C + ldr r1, =gSpecialVar_Result + movs r0, 0x2 + b _0813B6AC + .pool +_0813B68C: + ldrh r0, [r2] + cmp r0, 0x1 + bne _0813B6A8 + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r0, 0 + bne _0813B6A8 + ldr r1, =gSpecialVar_Result + movs r0, 0x3 + b _0813B6AC + .pool +_0813B6A8: + ldr r1, =gSpecialVar_Result + movs r0, 0 +_0813B6AC: + strh r0, [r1] + b _0813B790 + .pool +_0813B6B4: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0813B6C2 + b _0813B7C6 +_0813B6C2: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _0813B790 + bl bitmask_all_link_players_but_self + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gSpecialVar_Result + movs r2, 0x2 + bl SendBlock + b _0813B708 + .pool +_0813B6E4: + bl GetBlockReceivedStatus + movs r1, 0x1 + ands r1, r0 + cmp r1, 0 + beq _0813B7C6 + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + beq _0813B790 + ldr r1, =gSpecialVar_Result + ldr r0, =gBlockRecvBuffer + ldrh r0, [r0] + strh r0, [r1] + movs r0, 0 + bl ResetBlockReceivedFlag +_0813B708: + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] + b _0813B7C6 + .pool +_0813B728: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _0813B74C + ldr r0, =gSpecialVar_Result + ldrh r0, [r0] + cmp r0, 0x2 + bne _0813B790 + ldr r0, =gText_YourPartnerHasRetired + bl ShowFieldAutoScrollMessage + b _0813B790 + .pool +_0813B74C: + ldr r0, =gSpecialVar_Result + ldrh r0, [r0] + cmp r0, 0x3 + bne _0813B790 + ldr r0, =gText_YourPartnerHasRetired + bl ShowFieldAutoScrollMessage + b _0813B790 + .pool +_0813B764: + movs r0, 0 + bl IsTextPrinterActive + lsls r0, 16 + cmp r0, 0 + bne _0813B7C6 + b _0813B790 +_0813B772: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B7C6 + bl sub_800ADF8 + b _0813B790 +_0813B784: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B7C6 +_0813B790: + ldr r0, =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _0813B7C6 + .pool +_0813B7A8: + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + bne _0813B7B4 + bl sub_800AC34 +_0813B7B4: + ldr r0, =gBattleTypeFlags + ldr r1, =gUnknown_0203AB70 + ldr r1, [r1] + str r1, [r0] + bl EnableBothScriptContexts + adds r0, r4, 0 + bl DestroyTask +_0813B7C6: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B57C + + thumb_func_start sub_813B7D8 +sub_813B7D8: @ 813B7D8 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _0813B7F8 + ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music + movs r0, 0 + movs r1, 0x1 + bl DoRayquazaScene + b _0813B802 + .pool +_0813B7F8: + ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music + movs r0, 0x1 + movs r1, 0 + bl DoRayquazaScene +_0813B802: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B7D8 + + thumb_func_start sub_813B80C +sub_813B80C: @ 813B80C + push {lr} + ldr r0, =sub_813B824 + movs r1, 0x8 + bl CreateTask + movs r0, 0x9D + bl PlaySE + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B80C + + thumb_func_start sub_813B824 +sub_813B824: @ 813B824 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + movs r0, 0x2 + ldrsh r1, [r4, r0] + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r1, r0 + bne _0813B858 + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + movs r0, 0 + strh r0, [r4, 0x2] + movs r0, 0x9D + bl PlaySE +_0813B858: + movs r0, 0 + ldrsh r1, [r4, r0] + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + subs r0, 0x1 + cmp r1, r0 + bne _0813B86C + adds r0, r5, 0 + bl DestroyTask +_0813B86C: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B824 + + thumb_func_start sub_813B880 +sub_813B880: @ 813B880 + push {lr} + ldr r0, =_fwalk + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + movs r0, 0x4 + strh r0, [r1, 0x8] + strh r0, [r1, 0xA] + strh r0, [r1, 0xC] + strh r2, [r1, 0xE] + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B880 + + thumb_func_start _fwalk +_fwalk: @ 813B8B0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r0, 2 + add r0, r9 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r5, r0, r1 + movs r0, 0x6 + ldrsh r1, [r5, r0] + lsls r1, 1 + adds r1, r5 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + movs r1, 0x6 + ldrsh r0, [r5, r1] + lsls r0, 1 + adds r0, r5 + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + bne _0813B94E + movs r6, 0 +_0813B8EA: + movs r4, 0 + lsls r3, r6, 3 + mov r10, r3 + adds r7, r6, 0x1 + mov r8, r7 +_0813B8F4: + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r2, 0 + ldrsh r0, [r1, r2] + adds r0, r4 + adds r0, 0x6 + movs r3, 0x2 + ldrsh r1, [r1, r3] + adds r1, r6 + adds r1, 0x4 + ldr r7, =0x00000201 + adds r2, r4, r7 + add r2, r10 + movs r7, 0x6 + ldrsh r3, [r5, r7] + lsls r3, 5 + adds r2, r3 + lsls r2, 16 + lsrs r2, 16 + bl MapGridSetMetatileIdAt + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x2 + bls _0813B8F4 + mov r1, r8 + lsls r0, r1, 24 + lsrs r6, r0, 24 + cmp r6, 0x3 + bls _0813B8EA + bl DrawWholeMapView + ldrh r0, [r5, 0x6] + adds r0, 0x1 + strh r0, [r5, 0x6] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _0813B94E + mov r0, r9 + bl DestroyTask + bl EnableBothScriptContexts +_0813B94E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end _fwalk + + thumb_func_start sub_813B968 +sub_813B968: @ 813B968 + push {r4,r5,lr} + ldr r5, =gSpecialVar_Result + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + movs r1, 0x7 + bl __udivsi3 + strh r0, [r5] + ldrh r4, [r5] + adds r0, r4, 0 + movs r1, 0x14 + bl __udivsi3 + lsls r0, 16 + lsrs r0, 16 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + subs r4, r1 + strh r4, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B968 + + thumb_func_start sub_813B9A0 +sub_813B9A0: @ 813B9A0 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x1C] + movs r0, 0xB0 + lsls r0, 4 + cmp r1, r0 + bne _0813B9B6 + movs r0, 0x3 + bl Overworld_SetHealLocationWarp +_0813B9B6: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B9A0 + + thumb_func_start sub_813B9C0 +sub_813B9C0: @ 813B9C0 + push {r4,lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + movs r1, 0x4 + ldrsb r1, [r0, r1] + lsls r1, 8 + ldrb r0, [r0, 0x5] + lsls r0, 24 + asrs r0, 24 + adds r0, r1 + lsls r0, 16 + lsrs r3, r0, 16 + ldr r2, =gUnknown_085B3444 + ldrh r0, [r2] + ldr r1, =0x0000ffff + cmp r0, r1 + beq _0813BA06 + adds r4, r1, 0 + adds r1, r2, 0 +_0813B9E6: + ldrh r0, [r2] + cmp r0, r3 + bne _0813B9FC + movs r0, 0x1 + b _0813BA08 + .pool +_0813B9FC: + adds r1, 0x2 + adds r2, 0x2 + ldrh r0, [r1] + cmp r0, r4 + bne _0813B9E6 +_0813BA06: + movs r0, 0 +_0813BA08: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_813B9C0 + + thumb_func_start ResetFanClub +ResetFanClub: @ 813BA10 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r2, =0x0000141e + adds r1, r0, r2 + movs r2, 0 + strh r2, [r1] + movs r1, 0xA1 + lsls r1, 5 + adds r0, r1 + strh r2, [r0] + bx lr + .pool + thumb_func_end ResetFanClub + + thumb_func_start sub_813BA30 +sub_813BA30: @ 813BA30 + push {lr} + bl sub_813BF44 + lsls r0, 24 + cmp r0, 0 + beq _0813BA52 + bl sub_813BCE8 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrh r0, [r0, 0xE] + movs r2, 0xA1 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] +_0813BA52: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BA30 + + thumb_func_start sub_813BA60 +sub_813BA60: @ 813BA60 + push {r4,lr} + ldr r4, =gSaveBlock1Ptr + ldr r0, [r4] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r0, [r0] + lsrs r0, 7 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0813BAB6 + bl sub_813BF60 + bl sub_813BD84 + ldr r1, [r4] + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrh r0, [r0, 0xE] + movs r2, 0xA1 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] + ldr r0, =0x00000315 + bl FlagClear + ldr r0, =0x00000316 + bl FlagClear + ldr r0, =0x00000317 + bl FlagClear + movs r0, 0xC6 + lsls r0, 2 + bl FlagClear + ldr r0, =0x000002da + bl FlagClear + ldr r0, =0x00004095 + movs r1, 0x1 + bl VarSet +_0813BAB6: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BA60 + + thumb_func_start sub_813BADC +sub_813BADC: @ 813BADC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, =0x00004095 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _0813BB58 + ldr r4, =gSaveBlock1Ptr + ldr r0, [r4] + ldr r5, =0x0000141e + adds r3, r0, r5 + ldrh r2, [r3] + movs r1, 0x7F + ands r1, r2 + ldr r0, =gUnknown_085B3470 + adds r0, r6, r0 + ldrb r0, [r0] + adds r1, r0 + cmp r1, 0x13 + ble _0813BB54 + bl sub_813BCA8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bhi _0813BB3C + bl sub_813BB74 + ldr r0, [r4] + adds r0, r5 + ldrh r2, [r0] + ldr r1, =0x0000ff80 + ands r1, r2 + strh r1, [r0] + b _0813BB58 + .pool +_0813BB3C: + ldr r2, [r4] + adds r2, r5 + ldrh r1, [r2] + ldr r0, =0x0000ff80 + ands r0, r1 + movs r1, 0x14 + orrs r0, r1 + strh r0, [r2] + b _0813BB58 + .pool +_0813BB54: + adds r0, r2, r0 + strh r0, [r3] +_0813BB58: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x7F + ands r0, r1 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BADC + + thumb_func_start sub_813BB74 +sub_813BB74: @ 813BB74 + push {r4-r7,lr} + sub sp, 0x8 + movs r3, 0 + movs r5, 0 + ldr r7, =gSaveBlock1Ptr + ldr r2, =0x0000141e + movs r6, 0x1 +_0813BB82: + ldr r0, [r7] + adds r0, r2 + ldrh r1, [r0] + ldr r0, =gUnknown_085B3474 + adds r0, r5, r0 + ldrb r4, [r0] + asrs r1, r4 + ands r1, r6 + cmp r1, 0 + bne _0813BBC8 + adds r3, r5, 0 + str r2, [sp] + str r3, [sp, 0x4] + bl Random + adds r1, r6, 0 + ands r1, r0 + ldr r2, [sp] + ldr r3, [sp, 0x4] + cmp r1, 0 + beq _0813BBC8 + ldr r0, [r7] + adds r0, r2 + adds r1, r6, 0 + lsls r1, r4 + ldrh r2, [r0] + orrs r1, r2 + strh r1, [r0] + b _0813BBEA + .pool +_0813BBC8: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0813BB82 + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r0, =0x0000141e + adds r2, r0 + ldr r1, =gUnknown_085B3474 + adds r1, r3, r1 + movs r0, 0x1 + ldrb r1, [r1] + lsls r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] +_0813BBEA: + adds r0, r3, 0 + add sp, 0x8 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BB74 + + thumb_func_start sub_813BC00 +sub_813BC00: @ 813BC00 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r0, 0 + mov r10, r0 + bl sub_813BCA8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _0813BC2E + movs r0, 0 + b _0813BC8E +_0813BC1E: + mov r1, r8 + ldr r0, [r1] + add r0, r9 + lsls r4, r6 + ldrh r1, [r0] + eors r4, r1 + strh r4, [r0] + b _0813BC8C +_0813BC2E: + movs r5, 0 + ldr r2, =gSaveBlock1Ptr + mov r8, r2 + ldr r0, =0x0000141e + mov r9, r0 + movs r4, 0x1 +_0813BC3A: + mov r1, r8 + ldr r0, [r1] + add r0, r9 + ldrh r1, [r0] + ldr r7, =gUnknown_085B347C + adds r0, r5, r7 + ldrb r6, [r0] + asrs r1, r6 + ands r1, r4 + cmp r1, 0 + beq _0813BC5E + mov r10, r5 + bl Random + adds r1, r4, 0 + ands r1, r0 + cmp r1, 0 + bne _0813BC1E +_0813BC5E: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0813BC3A + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r2, =0x0000141e + adds r4, r0, r2 + ldrh r1, [r4] + mov r2, r10 + adds r0, r2, r7 + ldrb r2, [r0] + adds r0, r1, 0 + asrs r0, r2 + movs r3, 0x1 + ands r0, r3 + cmp r0, 0 + beq _0813BC8C + adds r0, r3, 0 + lsls r0, r2 + eors r1, r0 + strh r1, [r4] +_0813BC8C: + mov r0, r10 +_0813BC8E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BC00 + + thumb_func_start sub_813BCA8 +sub_813BCA8: @ 813BCA8 + push {r4,r5,lr} + movs r3, 0 + movs r2, 0 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r4, [r0] + movs r5, 0x1 +_0813BCBA: + adds r1, r2, 0 + adds r1, 0x8 + adds r0, r4, 0 + asrs r0, r1 + ands r0, r5 + cmp r0, 0 + beq _0813BCCE + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 +_0813BCCE: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x7 + bls _0813BCBA + adds r0, r3, 0 + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BCA8 + + thumb_func_start sub_813BCE8 +sub_813BCE8: @ 813BCE8 + push {r4-r6,lr} + movs r5, 0 + ldr r2, =gSaveBlock2Ptr + ldr r0, [r2] + ldrh r1, [r0, 0xE] + ldr r0, =0x000003e6 + cmp r1, r0 + bhi _0813BD58 + adds r6, r2, 0 + b _0813BD32 + .pool +_0813BD04: + ldr r0, [r6] + ldrh r1, [r0, 0xE] + ldr r4, =gSaveBlock1Ptr + ldr r0, [r4] + movs r2, 0xA1 + lsls r2, 5 + adds r0, r2 + ldrh r0, [r0] + subs r1, r0 + cmp r1, 0xB + ble _0813BD58 + bl sub_813BC00 + ldr r0, [r4] + movs r1, 0xA1 + lsls r1, 5 + adds r0, r1 + ldrh r1, [r0] + adds r1, 0xC + strh r1, [r0] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_0813BD32: + bl sub_813BCA8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4 + bhi _0813BD54 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldr r0, [r6] + ldrh r0, [r0, 0xE] + movs r2, 0xA1 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] + b _0813BD58 + .pool +_0813BD54: + cmp r5, 0x8 + bne _0813BD04 +_0813BD58: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813BCE8 + + thumb_func_start sub_813BD60 +sub_813BD60: @ 813BD60 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r0, [r0] + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + asrs r0, r1 + movs r1, 0x1 + ands r0, r1 + bx lr + .pool + thumb_func_end sub_813BD60 + + thumb_func_start sub_813BD84 +sub_813BD84: @ 813BD84 + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r0, =0x0000141e + adds r2, r0 + ldrh r1, [r2] + movs r3, 0x80 + lsls r3, 6 + adds r0, r3, 0 + orrs r0, r1 + movs r3, 0x80 + lsls r3, 1 + adds r1, r3, 0 + orrs r0, r1 + movs r3, 0x80 + lsls r3, 3 + adds r1, r3, 0 + orrs r0, r1 + strh r0, [r2] + bx lr + .pool + thumb_func_end sub_813BD84 + + thumb_func_start sub_813BDB4 +sub_813BDB4: @ 813BDB4 + push {lr} + movs r3, 0 + movs r2, 0 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + subs r0, 0x8 + cmp r0, 0x7 + bhi _0813BE14 + lsls r0, 2 + ldr r1, =_0813BDD8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813BDD8: + .4byte _0813BE14 + .4byte _0813BE14 + .4byte _0813BDF8 + .4byte _0813BDFE + .4byte _0813BE04 + .4byte _0813BE0A + .4byte _0813BE10 + .4byte _0813BE14 +_0813BDF8: + movs r3, 0 + movs r2, 0x3 + b _0813BE14 +_0813BDFE: + movs r3, 0 + movs r2, 0x1 + b _0813BE14 +_0813BE04: + movs r3, 0x1 + movs r2, 0 + b _0813BE14 +_0813BE0A: + movs r3, 0 + movs r2, 0x4 + b _0813BE14 +_0813BE10: + movs r3, 0x1 + movs r2, 0x5 +_0813BE14: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x00003150 + adds r0, r1 + adds r1, r3, 0 + bl sub_813BE30 + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BDB4 + + thumb_func_start sub_813BE30 +sub_813BE30: @ 813BE30 + push {r4-r6,lr} + adds r6, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r0, r5, 4 + adds r1, r6, r0 + ldrb r0, [r1] + cmp r0, 0xFF + bne _0813BEE8 + cmp r2, 0x5 + bhi _0813BED4 + lsls r0, r2, 2 + ldr r1, =_0813BE58 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813BE58: + .4byte _0813BED4 + .4byte _0813BE70 + .4byte _0813BE84 + .4byte _0813BE98 + .4byte _0813BEAC + .4byte _0813BEC0 +_0813BE70: + ldr r0, =gStringVar1 + ldr r1, =gText_Steven + bl StringCopy + b _0813BF04 + .pool +_0813BE84: + ldr r0, =gStringVar1 + ldr r1, =gText_Brawly + bl StringCopy + b _0813BF04 + .pool +_0813BE98: + ldr r0, =gStringVar1 + ldr r1, =gText_Winona + bl StringCopy + b _0813BF04 + .pool +_0813BEAC: + ldr r0, =gStringVar1 + ldr r1, =gText_Phoebe + bl StringCopy + b _0813BF04 + .pool +_0813BEC0: + ldr r0, =gStringVar1 + ldr r1, =gText_Glacia + bl StringCopy + b _0813BF04 + .pool +_0813BED4: + ldr r0, =gStringVar1 + ldr r1, =gText_Wallace + bl StringCopy + b _0813BF04 + .pool +_0813BEE8: + ldr r4, =gStringVar1 + adds r0, r4, 0 + movs r2, 0x7 + bl StringCopyN + movs r0, 0xFF + strb r0, [r4, 0x7] + adds r0, r6, 0 + adds r0, 0x50 + adds r0, r5 + ldrb r1, [r0] + adds r0, r4, 0 + bl ConvertInternationalString +_0813BF04: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BE30 + + thumb_func_start sub_813BF10 +sub_813BF10: @ 813BF10 + push {lr} + ldr r0, =0x00004095 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _0813BF40 + bl sub_813BA30 + ldr r0, =gBattleOutcome + ldrb r0, [r0] + cmp r0, 0x1 + bne _0813BF3C + bl sub_813BB74 + b _0813BF40 + .pool +_0813BF3C: + bl sub_813BC00 +_0813BF40: + pop {r0} + bx r0 + thumb_func_end sub_813BF10 + + thumb_func_start sub_813BF44 +sub_813BF44: @ 813BF44 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r0, [r0] + lsrs r0, 7 + movs r1, 0x1 + ands r0, r1 + bx lr + .pool + thumb_func_end sub_813BF44 + + thumb_func_start sub_813BF60 +sub_813BF60: @ 813BF60 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldr r0, =0x0000141e + adds r1, r0 + ldrh r2, [r1] + movs r0, 0x80 + orrs r0, r2 + strh r0, [r1] + bx lr + .pool + thumb_func_end sub_813BF60 + + thumb_func_start sub_813BF7C +sub_813BF7C: @ 813BF7C + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrb r0, [r0] + bl sub_813BADC + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BF7C + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_tasks.s b/asm/field_tasks.s index 39bd3b545..4befe0ca7 100644 --- a/asm/field_tasks.s +++ b/asm/field_tasks.s @@ -1662,7 +1662,7 @@ _0809E572: lsls r0, 24 cmp r0, 0 beq _0809E5D2 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x4 diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s index 63acc9982..e31375f9f 100644 --- a/asm/fldeff_80F9BCC.s +++ b/asm/fldeff_80F9BCC.s @@ -563,7 +563,7 @@ _080F9FFE: sub_80FA004: @ 80FA004 push {r4,lr} bl sub_80E8BC8 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x1 beq _080FA0AE @@ -591,7 +591,7 @@ sub_80FA004: @ 80FA004 bne _080FA070 bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA0DC @@ -606,7 +606,7 @@ _080FA070: bne _080FA0A0 bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA1E8 @@ -625,7 +625,7 @@ _080FA0AE: _080FA0B2: bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA34C @@ -642,12 +642,12 @@ _080FA0C4: thumb_func_start sub_80FA0DC sub_80FA0DC: @ 80FA0DC push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08275A86 + ldr r0, =EventScript_275A86 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -777,12 +777,12 @@ sub_80FA1D8: @ 80FA1D8 thumb_func_start sub_80FA1E8 sub_80FA1E8: @ 80FA1E8 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08275ADF + ldr r0, =EventScript_275ADF bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -950,12 +950,12 @@ sub_80FA33C: @ 80FA33C thumb_func_start sub_80FA34C sub_80FA34C: @ 80FA34C push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08275B38 + ldr r0, =EventScript_275B38 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -2063,7 +2063,7 @@ _080FACC2: ldr r0, =gStringVar2 ldr r1, =gText_Gold bl StringCopy - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =0x00004054 @@ -2087,7 +2087,7 @@ _080FAD14: ldr r0, =gStringVar2 ldr r1, =gText_Silver bl StringCopy - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =0x00004054 @@ -2103,12 +2103,12 @@ _080FAD14: b _080FAD8A .pool _080FAD60: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _080FAD70 .pool _080FAD6C: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 _080FAD70: strh r0, [r1] @@ -2131,7 +2131,7 @@ _080FAD8A: b _080FADCE .pool _080FADA4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 strh r0, [r1] ldr r0, =0x00004054 @@ -2200,8 +2200,8 @@ _080FAE2A: .pool thumb_func_end sub_80FADE4 - thumb_func_start task50_overworld_posion_effect -task50_overworld_posion_effect: @ 80FAE38 + thumb_func_start task50_overworld_poison_effect +task50_overworld_poison_effect: @ 80FAE38 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -2260,32 +2260,32 @@ _080FAE92: _080FAEA2: pop {r0} bx r0 - thumb_func_end task50_overworld_posion_effect + thumb_func_end task50_overworld_poison_effect - thumb_func_start overworld_posion_effect -overworld_posion_effect: @ 80FAEA8 + thumb_func_start overworld_poison_effect +overworld_poison_effect: @ 80FAEA8 push {lr} movs r0, 0x4F bl PlaySE - ldr r0, =task50_overworld_posion_effect + ldr r0, =task50_overworld_poison_effect movs r1, 0x50 bl CreateTask pop {r0} bx r0 .pool - thumb_func_end overworld_posion_effect + thumb_func_end overworld_poison_effect - thumb_func_start c3_80A0DD8_is_running -c3_80A0DD8_is_running: @ 80FAEC0 + thumb_func_start FieldPoisonEffectIsRunning +FieldPoisonEffectIsRunning: @ 80FAEC0 push {lr} - ldr r0, =task50_overworld_posion_effect + ldr r0, =task50_overworld_poison_effect bl FuncIsActiveTask lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .pool - thumb_func_end c3_80A0DD8_is_running + thumb_func_end FieldPoisonEffectIsRunning thumb_func_start sub_80FAED4 sub_80FAED4: @ 80FAED4 diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s index e31bf22e2..19a29d729 100755..100644 --- a/asm/fldeff_cut.s +++ b/asm/fldeff_cut.s @@ -20,7 +20,7 @@ sub_80D3718: @ 80D3718 cmp r0, 0x1 bne _080D3754 ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80D3A9C @@ -32,7 +32,7 @@ _080D3754: ldr r0, =gUnknown_0203AB40 adds r1, r0, 0x2 bl PlayerGetDestCoords - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 movs r1, 0x64 @@ -244,7 +244,7 @@ _080D38F8: lsrs r4, r0, 16 movs r7, 0x1 movs r5, 0 - ldr r3, =gUnknown_0857C60A + ldr r3, =gUnknown_0857C608 + 2 adds r0, r2, r3 ldrb r0, [r0] adds r6, 0x1 @@ -322,7 +322,7 @@ _080D395A: bne _080D39F8 _080D39BC: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_ruin_valley @@ -360,7 +360,7 @@ _080D3A18: bne _080D3A2A _080D3A1E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_ruin_valley @@ -384,7 +384,7 @@ hm2_ruin_valley: @ 80D3A50 push {lr} movs r0, 0x1 bl FieldEffectStart - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -420,12 +420,12 @@ sub_80D3A6C: @ 80D3A6C thumb_func_start sub_80D3A9C sub_80D3A9C: @ 80D3A9C push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08290705 + ldr r0, =Route103_EventScript_290705 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -1323,7 +1323,7 @@ _080D41D4: lsrs r0, 24 cmp r0, 0x1 bne _080D422A - ldr r0, =gUnknown_08267EDB + ldr r0, =FarawayIsland_Interior_EventScript_267EDB bl ScriptContext1_SetupScript _080D422A: pop {r4-r6} diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s new file mode 100644 index 000000000..d52ee34fc --- /dev/null +++ b/asm/fldeff_flash.s @@ -0,0 +1,709 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start SetUpFieldMove_Flash +SetUpFieldMove_Flash: @ 81370FC + push {r4,lr} + bl ShouldDoBrailleFlyEffect + lsls r0, 24 + cmp r0, 0 + beq _08137134 + ldr r4, =gSpecialVar_Result + bl GetCursorSelectionMonId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + ldr r1, =gUnknown_03005DB0 + ldr r0, =FieldCallback_Teleport + str r0, [r1] + ldr r1, =gUnknown_0203CEEC + ldr r0, =sub_8179918 + b _08137152 + .pool +_08137134: + ldr r0, =gMapHeader + ldrb r0, [r0, 0x15] + cmp r0, 0x1 + bne _08137170 + ldr r0, =0x00000888 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _08137170 + ldr r1, =gUnknown_03005DB0 + ldr r0, =FieldCallback_Teleport + str r0, [r1] + ldr r1, =gUnknown_0203CEEC + ldr r0, =hm2_flash +_08137152: + str r0, [r1] + movs r0, 0x1 + b _08137172 + .pool +_08137170: + movs r0, 0 +_08137172: + pop {r4} + pop {r1} + bx r1 + thumb_func_end SetUpFieldMove_Flash + + thumb_func_start hm2_flash +hm2_flash: @ 8137178 + push {r4,lr} + bl oei_task_add + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl GetCursorSelectionMonId + ldr r1, =gFieldEffectArguments + lsls r0, 24 + lsrs r0, 24 + str r0, [r1] + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, =sub_81371B4 + lsrs r1, r2, 16 + strh r1, [r0, 0x18] + strh r2, [r0, 0x1A] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end hm2_flash + + thumb_func_start sub_81371B4 +sub_81371B4: @ 81371B4 + push {lr} + movs r0, 0xCF + bl PlaySE + ldr r0, =0x00000888 + bl FlagSet + ldr r0, =EventScript_2926F8 + bl ScriptContext1_SetupScript + pop {r0} + bx r0 + .pool + thumb_func_end sub_81371B4 + + thumb_func_start sub_81371D4 +sub_81371D4: @ 81371D4 + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_81371D4 + + thumb_func_start sub_81371EC +sub_81371EC: @ 81371EC + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_81371EC + + thumb_func_start c2_change_map +c2_change_map: @ 8137200 + push {r4,lr} + sub sp, 0x8 + movs r0, 0 + bl SetVBlankCallback + movs r0, 0 + movs r1, 0 + bl SetGpuReg + movs r0, 0xC + movs r1, 0 + bl SetGpuReg + movs r0, 0xA + movs r1, 0 + bl SetGpuReg + movs r0, 0x8 + movs r1, 0 + bl SetGpuReg + movs r0, 0x18 + movs r1, 0 + bl SetGpuReg + movs r0, 0x1A + movs r1, 0 + bl SetGpuReg + movs r0, 0x14 + movs r1, 0 + bl SetGpuReg + movs r0, 0x16 + movs r1, 0 + bl SetGpuReg + movs r0, 0x10 + movs r1, 0 + bl SetGpuReg + movs r0, 0x12 + movs r1, 0 + bl SetGpuReg + mov r1, sp + movs r0, 0 + strh r0, [r1] + ldr r1, =0x040000d4 + mov r0, sp + str r0, [r1] + movs r0, 0xC0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, =0x8100c000 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r4, 0 + str r4, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + movs r0, 0xE0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, =0x85000100 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + strh r4, [r0] + str r0, [r1] + ldr r0, =0x05000002 + str r0, [r1, 0x4] + ldr r0, =0x810001ff + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + bl ResetPaletteFade + bl ResetTasks + bl ResetSpriteData + ldr r3, =0x04000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, =sub_81371EC + bl SetVBlankCallback + ldr r0, =sub_81371D4 + bl SetMainCallback2 + bl sub_8137304 + lsls r0, 24 + cmp r0, 0 + bne _081372D2 + ldr r0, =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_081372D2: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end c2_change_map + + thumb_func_start sub_8137304 +sub_8137304: @ 8137304 + push {r4-r7,lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r6, r0, 24 + bl sav1_map_get_light_level + lsls r0, 24 + lsrs r5, r0, 24 + movs r3, 0 + ldr r4, =gUnknown_085B27C8 + ldrb r0, [r4] + cmp r0, 0 + beq _08137358 + adds r7, r4, 0 + adds r0, r4, 0x4 + mov r12, r0 +_08137326: + lsls r2, r3, 3 + adds r1, r2, r7 + ldrb r0, [r1] + cmp r0, r6 + bne _08137348 + ldrb r0, [r1, 0x1] + cmp r0, r5 + bne _08137348 + mov r1, r12 + adds r0, r2, r1 + ldr r0, [r0] + bl _call_via_r0 + movs r0, 0x1 + b _0813735A + .pool +_08137348: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + bne _08137326 +_08137358: + movs r0, 0 +_0813735A: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8137304 + + thumb_func_start sub_8137360 +sub_8137360: @ 8137360 + push {r4-r6,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r5, r0, 24 + lsrs r4, r1, 24 + movs r3, 0 + ldr r1, =gUnknown_085B27C8 + ldrb r0, [r1] + cmp r0, 0 + beq _081373A0 + adds r6, r1, 0 +_08137376: + lsls r0, r3, 3 + adds r2, r0, r6 + ldrb r0, [r2] + cmp r0, r5 + bne _08137390 + ldrb r0, [r2, 0x1] + cmp r0, r4 + bne _08137390 + ldrb r0, [r2, 0x2] + b _081373A2 + .pool +_08137390: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _08137376 +_081373A0: + movs r0, 0 +_081373A2: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8137360 + + thumb_func_start fade_type_for_given_maplight_pair +fade_type_for_given_maplight_pair: @ 81373A8 + push {r4-r6,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r5, r0, 24 + lsrs r4, r1, 24 + movs r3, 0 + ldr r1, =gUnknown_085B27C8 + ldrb r0, [r1] + cmp r0, 0 + beq _081373E8 + adds r6, r1, 0 +_081373BE: + lsls r0, r3, 3 + adds r2, r0, r6 + ldrb r0, [r2] + cmp r0, r5 + bne _081373D8 + ldrb r0, [r2, 0x1] + cmp r0, r4 + bne _081373D8 + ldrb r0, [r2, 0x3] + b _081373EA + .pool +_081373D8: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _081373BE +_081373E8: + movs r0, 0 +_081373EA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end fade_type_for_given_maplight_pair + + thumb_func_start sub_81373F0 +sub_81373F0: @ 81373F0 + push {lr} + ldr r0, =sub_8137404 + movs r1, 0 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_81373F0 + + thumb_func_start sub_8137404 +sub_8137404: @ 8137404 + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, =sub_8137420 + str r0, [r1] + bx lr + .pool + thumb_func_end sub_8137404 + + thumb_func_start sub_8137420 +sub_8137420: @ 8137420 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + bl SetGpuReg + ldr r0, =gCaveTransitionTiles + ldr r1, =0x0600c000 + bl LZ77UnCompVram + ldr r0, =gCaveTransitionTilemap + ldr r1, =0x0600f800 + bl LZ77UnCompVram + ldr r0, =gCaveTransitionPalette_White + movs r1, 0xE0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =gUnknown_085B28A0 + movs r1, 0xE0 + movs r2, 0x10 + bl LoadPalette + ldr r1, =0x00003e41 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + ldr r1, =0x00001f0c + movs r0, 0x8 + bl SetGpuReg + movs r1, 0x8A + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_81374C4 + str r1, [r0] + movs r2, 0 + movs r1, 0x10 + strh r1, [r0, 0x8] + strh r2, [r0, 0xA] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8137420 + + thumb_func_start sub_81374C4 +sub_81374C4: @ 81374C4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrh r4, [r5, 0xA] + movs r0, 0x80 + lsls r0, 5 + adds r1, r4, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + cmp r4, 0x10 + bhi _081374F8 + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + b _08137500 + .pool +_081374F8: + movs r0, 0 + strh r0, [r5, 0xC] + ldr r0, =sub_813750C + str r0, [r5] +_08137500: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81374C4 + + thumb_func_start sub_813750C +sub_813750C: @ 813750C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, =0x00001010 + movs r0, 0x52 + bl SetGpuReg + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0xC] + cmp r1, 0x7 + bhi _08137554 + adds r0, r1, 0x1 + strh r0, [r4, 0xC] + lsls r1, 1 + ldr r0, =gUnknown_085B28A0 + adds r0, r1, r0 + movs r2, 0x10 + subs r2, r1 + lsls r2, 16 + lsrs r2, 16 + movs r1, 0xE0 + bl LoadPalette + b _08137566 + .pool +_08137554: + ldr r0, =gCaveTransitionPalette_White + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =sub_8137574 + str r0, [r4] + movs r0, 0x8 + strh r0, [r4, 0xC] +_08137566: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813750C + + thumb_func_start sub_8137574 +sub_8137574: @ 8137574 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrh r2, [r1, 0xC] + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _08137598 + subs r0, r2, 0x1 + strh r0, [r1, 0xC] + b _081375A0 + .pool +_08137598: + ldr r0, =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_081375A0: + pop {r0} + bx r0 + .pool + thumb_func_end sub_8137574 + + thumb_func_start sub_81375A8 +sub_81375A8: @ 81375A8 + push {lr} + ldr r0, =sub_81375BC + movs r1, 0 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_81375A8 + + thumb_func_start sub_81375BC +sub_81375BC: @ 81375BC + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, =sub_81375D8 + str r0, [r1] + bx lr + .pool + thumb_func_end sub_81375BC + + thumb_func_start sub_81375D8 +sub_81375D8: @ 81375D8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + bl SetGpuReg + ldr r0, =gCaveTransitionTiles + ldr r1, =0x0600c000 + bl LZ77UnCompVram + ldr r0, =gCaveTransitionTilemap + ldr r1, =0x0600f800 + bl LZ77UnCompVram + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + ldr r1, =0x00001f0c + movs r0, 0x8 + bl SetGpuReg + movs r1, 0x8A + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + ldr r0, =gCaveTransitionPalette_White + movs r1, 0xE0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =gCaveTransitionPalette_Black + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_8137678 + str r1, [r0] + movs r2, 0 + movs r1, 0x10 + strh r1, [r0, 0x8] + strh r2, [r0, 0xA] + strh r2, [r0, 0xC] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81375D8 + + thumb_func_start sub_8137678 +sub_8137678: @ 8137678 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r1, [r4, 0xC] + cmp r1, 0xF + bhi _081376B4 + adds r2, r1, 0x1 + adds r0, r2, 0x1 + strh r0, [r4, 0xC] + movs r0, 0xF + subs r0, r1 + lsls r0, 1 + ldr r1, =gUnknown_085B2890 + adds r0, r1 + lsls r2, 17 + lsrs r2, 16 + movs r1, 0xE0 + bl LoadPalette + b _081376C8 + .pool +_081376B4: + ldr r1, =0x00001010 + movs r0, 0x52 + bl SetGpuReg + ldr r1, =0x00003e41 + movs r0, 0x50 + bl SetGpuReg + ldr r0, =sub_81376DC + str r0, [r4] +_081376C8: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8137678 + + thumb_func_start sub_81376DC +sub_81376DC: @ 81376DC + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrh r0, [r5, 0xA] + movs r1, 0x10 + subs r1, r0 + lsls r1, 16 + lsrs r4, r1, 16 + movs r0, 0x80 + lsls r0, 21 + adds r1, r0 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + cmp r4, 0 + beq _08137714 + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + b _08137726 + .pool +_08137714: + ldr r0, =gCaveTransitionPalette_Black + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_08137726: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81376DC diff --git a/asm/fldeff_groundshake.s b/asm/fldeff_groundshake.s index 81d92430e..81d92430e 100755..100644 --- a/asm/fldeff_groundshake.s +++ b/asm/fldeff_groundshake.s diff --git a/asm/fldeff_softboiled.s b/asm/fldeff_softboiled.s index 48d968d20..c3aa4f1ed 100755..100644 --- a/asm/fldeff_softboiled.s +++ b/asm/fldeff_softboiled.s @@ -8,7 +8,7 @@ thumb_func_start hm_prepare_dive_probably hm_prepare_dive_probably: @ 8161508 push {r4-r6,lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 movs r6, 0x64 @@ -20,7 +20,7 @@ hm_prepare_dive_probably: @ 8161508 adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 muls r0, r6 @@ -59,7 +59,7 @@ sub_8161560: @ 8161560 strb r1, [r0, 0xB] ldrb r1, [r0, 0x9] strb r1, [r0, 0xA] - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 movs r1, 0x1 diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s index 947517ed5..fdadd2aac 100644 --- a/asm/fldeff_strength.s +++ b/asm/fldeff_strength.s @@ -17,13 +17,13 @@ hm_prepare_rocksmash: @ 8145DC4 movs r0, 0 b _08145DF2 _08145DD8: - ldr r4, =gScriptResult - bl brm_get_pokemon_selection + ldr r4, =gSpecialVar_Result + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r4] ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_8145E0C @@ -39,12 +39,12 @@ _08145DF2: thumb_func_start sub_8145E0C sub_8145E0C: @ 8145E0C push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_082908FD + ldr r0, =FieryPath_EventScript_2908FD bl ScriptContext1_SetupScript pop {r0} bx r0 diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s index ea7b2653a..2055f7069 100644 --- a/asm/fldeff_sweetscent.s +++ b/asm/fldeff_sweetscent.s @@ -8,7 +8,7 @@ thumb_func_start SetUpFieldMove_SweetScent SetUpFieldMove_SweetScent: @ 8159EF0 ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_sweet_scent @@ -23,7 +23,7 @@ hm2_sweet_scent: @ 8159F10 push {lr} movs r0, 0x33 bl FieldEffectStart - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -205,7 +205,7 @@ sub_815A090: @ 815A090 lsls r2, 1 bl CpuFastSet bl sub_80AC3E4 - ldr r0, =gUnknown_08290CAE + ldr r0, =EventScript_290CAE bl ScriptContext1_SetupScript adds r0, r4, 0 bl DestroyTask diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s deleted file mode 100644 index d77e29dd2..000000000 --- a/asm/fldeff_teleport.s +++ /dev/null @@ -1,84 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Teleport -SetUpFieldMove_Teleport: @ 817C8BC - push {lr} - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0817C8D8 - movs r0, 0 - b _0817C8E6 - .pool -_0817C8D8: - ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm_teleport_run_dp02scr - str r0, [r1] - movs r0, 0x1 -_0817C8E6: - pop {r1} - bx r1 - .pool - thumb_func_end SetUpFieldMove_Teleport - - thumb_func_start hm_teleport_run_dp02scr -hm_teleport_run_dp02scr: @ 817C8FC - push {lr} - bl sub_808469C - movs r0, 0x3F - bl FieldEffectStart - bl brm_get_pokemon_selection - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end hm_teleport_run_dp02scr - - thumb_func_start FldEff_UseTeleport -FldEff_UseTeleport: @ 817C91C - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_817C94C - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end FldEff_UseTeleport - - thumb_func_start sub_817C94C -sub_817C94C: @ 817C94C - push {lr} - movs r0, 0x3F - bl FieldEffectActiveListRemove - bl sub_80B7FC8 - pop {r0} - bx r0 - thumb_func_end sub_817C94C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fossil_specials.s b/asm/fossil_specials.s index 6883743ec..7956f814a 100755..100644 --- a/asm/fossil_specials.s +++ b/asm/fossil_specials.s @@ -657,7 +657,7 @@ _081BF0B4: ldr r0, [r0] ldr r1, [r0] movs r5, 0 - ldr r2, =gUnknown_08617C44 + ldr r2, =gRootFossil_Gfx _081BF0BE: adds r0, r5, r2 ldrb r0, [r0] diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s deleted file mode 100644 index 9227c1795..000000000 --- a/asm/hall_of_fame.s +++ /dev/null @@ -1,3603 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_817354C -sub_817354C: @ 817354C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_817354C - - thumb_func_start sub_8173560 -sub_8173560: @ 8173560 - push {lr} - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8173560 - - thumb_func_start sub_817357C -sub_817357C: @ 817357C - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bls _08173590 - b _08173688 -_08173590: - lsls r0, 2 - ldr r1, =_081735A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081735A4: - .4byte _081735B8 - .4byte _081735E8 - .4byte _081735EE - .4byte _08173620 - .4byte _0817365C -_081735B8: - movs r0, 0 - bl SetVBlankCallback - bl sub_8174EC4 - ldr r4, =gUnknown_0203BCDC - ldr r0, =0x00002014 - bl AllocZeroed - str r0, [r4] - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _08173688 - .pool -_081735E8: - bl sub_8174F70 - b _08173642 -_081735EE: - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0xE2 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - bl sub_8174FAC - ldr r0, =gUnknown_0203BCDC - ldr r1, [r0] - movs r0, 0 - strh r0, [r1] - b _08173642 - .pool -_08173620: - bl sub_8175024 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08173688 - ldr r0, =sub_817354C - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08173642: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08173688 - .pool -_0817365C: - bl UpdatePaletteFade - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08173688 - ldr r0, =sub_8173560 - bl SetMainCallback2 - movs r0, 0xDA - lsls r0, 1 - bl PlayBGM - movs r0, 0 - b _0817368A - .pool -_08173688: - movs r0, 0x1 -_0817368A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_817357C - - thumb_func_start sub_8173694 -sub_8173694: @ 8173694 - push {r4,lr} - bl sub_817357C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081736C4 - ldr r0, =sub_817371C - movs r1, 0 - 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] - ldr r4, =gUnknown_0203BCD8 - movs r0, 0x78 - bl AllocZeroed - str r0, [r4] -_081736C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173694 - - thumb_func_start sub_81736D8 -sub_81736D8: @ 81736D8 - push {r4,lr} - bl sub_817357C - lsls r0, 24 - cmp r0, 0 - bne _08173708 - ldr r0, =sub_817371C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - ldr r4, =gUnknown_0203BCD8 - movs r0, 0x78 - bl AllocZeroed - str r0, [r4] -_08173708: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81736D8 - - thumb_func_start sub_817371C -sub_817371C: @ 817371C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - movs r7, 0 - ldr r0, =gUnknown_0203BCD8 - mov r9, r0 -_08173740: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r6, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - adds r5, r0, 0 - cmp r5, 0 - beq _0817380C - adds r0, r6, 0 - movs r1, 0x41 - bl GetMonData - mov r1, r9 - ldr r3, [r1] - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 2 - adds r3, r4 - ldr r2, =0x000001ff - adds r1, r2, 0 - ands r0, r1 - ldrh r1, [r3, 0x8] - ldr r5, =0xfffffe00 - adds r2, r5, 0 - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - mov r2, r9 - ldr r1, [r2] - adds r1, r4 - str r0, [r1] - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - mov r5, r9 - ldr r1, [r5] - adds r1, 0x4 - adds r1, r4 - str r0, [r1] - adds r0, r6, 0 - movs r1, 0x38 - bl GetMonData - ldr r2, [r5] - adds r2, r4 - lsls r0, 1 - ldrb r3, [r2, 0x9] - movs r1, 0x1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x9] - adds r0, r6, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - movs r2, 0 - mov r6, r8 - lsls r5, r6, 2 - ldr r3, =gUnknown_0203BCD8 -_081737CA: - ldr r0, [r3] - adds r1, r2, r4 - adds r0, 0xA - adds r0, r1 - mov r6, sp - adds r1, r6, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9 - bls _081737CA - ldr r0, =gTasks - mov r2, r8 - adds r1, r5, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - b _08173840 - .pool -_0817380C: - mov r6, r9 - ldr r3, [r6] - lsls r2, r7, 2 - adds r2, r7 - lsls r2, 2 - adds r4, r3, r2 - ldrh r0, [r4, 0x8] - ldr r6, =0xfffffe00 - adds r1, r6, 0 - ands r0, r1 - strh r0, [r4, 0x8] - str r5, [r4] - adds r3, 0x4 - adds r3, r2 - str r5, [r3] - ldrb r1, [r4, 0x9] - movs r0, 0x1 - ands r0, r1 - strb r0, [r4, 0x9] - mov r1, r9 - ldr r0, [r1] - adds r0, r2 - movs r1, 0xFF - strb r1, [r0, 0xA] - mov r2, r8 - lsls r5, r2, 2 -_08173840: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bhi _0817384C - b _08173740 -_0817384C: - ldr r0, =gUnknown_0203BCD4 - movs r3, 0 - str r3, [r0] - ldr r4, =gTasks - mov r6, r8 - adds r1, r5, r6 - lsls r1, 3 - adds r2, r1, r4 - strh r3, [r2, 0xA] - movs r0, 0xFF - strh r0, [r2, 0x10] - movs r7, 0 - adds r3, r4, 0 - adds r3, 0x8 - movs r2, 0xFF -_0817386A: - adds r0, r7, 0x5 - lsls r0, 1 - adds r0, r1 - adds r0, r3 - strh r2, [r0] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bls _0817386A - mov r1, r8 - adds r0, r5, r1 - lsls r0, 3 - adds r1, r0, r4 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _081738A4 - ldr r0, =sub_8173A8C - b _081738A6 - .pool -_081738A4: - ldr r0, =sub_81738BC -_081738A6: - str r0, [r1] - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817371C - - thumb_func_start sub_81738BC -sub_81738BC: @ 81738BC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r7, =0x0201c000 - ldr r0, =gUnknown_0203BCE4 - ldrb r0, [r0] - cmp r0, 0 - bne _081738EC - movs r2, 0x80 - lsls r2, 6 - adds r0, r7, 0 - movs r1, 0 - bl memset - b _08173906 - .pool -_081738EC: - movs r0, 0x3 - bl sub_81534D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08173906 - movs r2, 0x80 - lsls r2, 6 - adds r0, r7, 0 - movs r1, 0 - bl memset -_08173906: - movs r5, 0 - ldrh r1, [r7, 0x8] - ldr r2, =0x000001ff - adds r0, r2, 0 - ands r0, r1 - mov r1, r9 - lsls r1, 2 - mov r8, r1 - cmp r0, 0 - beq _08173930 -_0817391A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r7, 0x78 - cmp r5, 0x31 - bhi _08173934 - ldrh r1, [r7, 0x8] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0817391A -_08173930: - cmp r5, 0x31 - bls _08173956 -_08173934: - ldr r4, =0x0201c000 - adds r6, r4, 0 - adds r4, 0x78 - movs r5, 0 - subs r7, 0x78 -_0817393E: - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x78 - bl memcpy - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, 0x78 - adds r4, 0x78 - cmp r5, 0x30 - bls _0817393E -_08173956: - ldr r0, =gUnknown_0203BCD8 - ldr r1, [r0] - adds r0, r7, 0 - movs r2, 0x78 - bl memcpy - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gUnknown_082C8959 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - mov r0, r8 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81739C4 - str r1, [r0] - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81738BC - - thumb_func_start sub_81739C4 -sub_81739C4: @ 81739C4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gGameContinueCallback - ldr r0, =sub_81736D8 - str r0, [r1] - movs r0, 0x3 - bl TrySavingData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08173A34 - ldr r0, =gDamagedSaveSectors - ldr r0, [r0] - cmp r0, 0 - beq _08173A34 - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl UnsetBgTilemapBuffer - bl FreeAllWindowBuffers - ldr r5, =gUnknown_0203BCDC - ldr r0, [r5] - cmp r0, 0 - beq _08173A06 - bl Free - movs r0, 0 - str r0, [r5] -_08173A06: - ldr r5, =gUnknown_0203BCD8 - ldr r0, [r5] - cmp r0, 0 - beq _08173A16 - bl Free - movs r0, 0 - str r0, [r5] -_08173A16: - adds r0, r4, 0 - bl DestroyTask - b _08173A4C - .pool -_08173A34: - movs r0, 0x37 - bl PlaySE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8173A5C - str r1, [r0] - movs r1, 0x20 - strh r1, [r0, 0xE] -_08173A4C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81739C4 - - thumb_func_start sub_8173A5C -sub_8173A5C: @ 8173A5C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08173A80 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _08173A84 - .pool -_08173A80: - ldr r0, =sub_8173A8C - str r0, [r1] -_08173A84: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173A5C - - thumb_func_start sub_8173A8C -sub_8173A8C: @ 8173A8C - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_8173AA8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8173A8C - - thumb_func_start sub_8173AA8 -sub_8173AA8: @ 8173AA8 - 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 r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r6, [r1, 0xA] - ldr r2, =gUnknown_0203BCD8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - ldr r2, [r2] - adds r7, r2, r0 - movs r2, 0xC - ldrsh r0, [r1, r2] - cmp r0, 0x3 - ble _08173AEC - ldr r1, =gUnknown_085E53B4 - b _08173AEE - .pool -_08173AEC: - ldr r1, =gUnknown_085E53E4 -_08173AEE: - lsls r2, r6, 3 - adds r0, r2, r1 - ldrh r3, [r0] - adds r0, r1, 0x2 - adds r0, r2, r0 - ldrh r4, [r0] - adds r0, r1, 0x4 - adds r0, r2, r0 - ldrh r0, [r0] - mov r9, r0 - adds r1, 0x6 - adds r2, r1 - ldrh r5, [r2] - ldrh r2, [r7, 0x8] - ldr r0, =0x000001ff - ands r0, r2 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08173B20 - lsls r0, r5, 16 - movs r1, 0xA0 - lsls r1, 12 - adds r0, r1 - lsrs r5, r0, 16 -_08173B20: - lsls r0, r2, 23 - lsrs r0, 23 - ldr r1, [r7] - ldr r2, [r7, 0x4] - lsls r3, 16 - asrs r3, 16 - str r3, [sp] - lsls r3, r4, 16 - asrs r3, 16 - str r3, [sp, 0x4] - lsls r3, r6, 24 - lsrs r3, 24 - str r3, [sp, 0x8] - ldr r3, =0x0000ffff - str r3, [sp, 0xC] - movs r3, 0x1 - bl sub_818D3E4 - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r3, r2, r4 - movs r1, 0 - mov r12, r1 - mov r1, r9 - strh r1, [r3, 0x30] - strh r5, [r3, 0x32] - mov r1, r12 - strh r1, [r3, 0x2E] - ldrh r1, [r7, 0x8] - lsls r1, 23 - lsrs r1, 23 - strh r1, [r3, 0x3C] - adds r4, 0x1C - adds r2, r4 - ldr r1, =sub_8175120 - str r1, [r2] - ldr r5, =gTasks - adds r1, r6, 0x5 - lsls r1, 1 - mov r2, r8 - lsls r4, r2, 2 - add r4, r8 - lsls r4, 3 - adds r1, r4 - adds r2, r5, 0 - adds r2, 0x8 - adds r1, r2 - strh r0, [r1] - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - adds r4, r5 - ldr r0, =sub_8173BC0 - str r0, [r4] - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173AA8 - - thumb_func_start sub_8173BC0 -sub_8173BC0: @ 8173BC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gTasks - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - adds r5, r3, r4 - ldrh r0, [r5, 0xA] - ldr r2, =gUnknown_0203BCD8 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - ldr r2, [r2] - adds r2, r1 - adds r0, 0x5 - lsls r0, 1 - adds r0, r3 - adds r4, 0x8 - adds r0, r4 - movs r3, 0 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r3, r0, r1 - ldr r1, [r3, 0x1C] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - bne _08173C1A - ldrb r1, [r3, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r3, 0x1] - adds r0, r2, 0 - movs r1, 0 - movs r2, 0xE - bl sub_8174A88 - movs r0, 0x78 - strh r0, [r5, 0xE] - ldr r0, =sub_8173C34 - str r0, [r5] -_08173C1A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173BC0 - - thumb_func_start sub_8173C34 -sub_8173C34: @ 8173C34 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - adds r4, r6, r2 - ldrh r3, [r4, 0xA] - ldr r1, =gUnknown_0203BCD8 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - ldr r1, [r1] - adds r1, r0 - mov r9, r1 - ldrh r1, [r4, 0xE] - movs r7, 0xE - ldrsh r0, [r4, r7] - mov r12, r2 - cmp r0, 0 - beq _08173C78 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _08173D10 - .pool -_08173C78: - ldr r2, =gUnknown_0203BCD4 - ldr r0, =gSprites - mov r8, r0 - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r6 - mov r1, r12 - adds r1, 0x8 - adds r6, r0, r1 - movs r7, 0 - ldrsh r1, [r6, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r0 - ldr r3, [r2] - orrs r3, r1 - str r3, [r2] - ldrh r2, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bgt _08173D04 - mov r7, r9 - ldrh r1, [r7, 0x1C] - ldr r0, =0x000001ff - ands r0, r1 - cmp r0, 0 - beq _08173D04 - adds r0, r2, 0x1 - strh r0, [r4, 0xA] - ldr r0, =0x000063b0 - str r0, [sp] - adds r0, r3, 0 - movs r1, 0 - movs r2, 0xC - movs r3, 0xC - bl BeginNormalPaletteFade - movs r0, 0 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r0, =sub_8173AA8 - str r0, [r4] - b _08173D10 - .pool -_08173D04: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r12 - ldr r1, =sub_8173D24 - str r1, [r0] -_08173D10: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173C34 - - thumb_func_start sub_8173D24 -sub_8173D24: @ 8173D24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =0xffff0000 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - movs r3, 0 - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r5, r0, 3 - ldr r0, =gTasks + 0x8 - mov r12, r0 - mov r8, r1 - ldr r6, =gSprites - movs r7, 0xD - negs r7, r7 -_08173D52: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r5 - mov r2, r12 - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - beq _08173D74 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1, 0x5] -_08173D74: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08173D52 - movs r0, 0 - movs r1, 0xF - bl sub_8174A38 - movs r0, 0x69 - bl PlaySE - ldr r1, =gTasks - mov r2, r8 - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0xC8 - lsls r1, 1 - strh r1, [r0, 0xE] - ldr r1, =sub_8173DC0 - str r1, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173D24 - - thumb_func_start sub_8173DC0 -sub_8173DC0: @ 8173DC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r5, r0, 3 - adds r1, r5, r7 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08173E04 - subs r2, 0x1 - strh r2, [r1, 0xE] - movs r0, 0x3 - ands r0, r2 - cmp r0, 0 - bne _08173E7E - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x6E - ble _08173E7E - bl sub_81751FC - b _08173E7E - .pool -_08173E04: - movs r3, 0 - mov r9, r4 - ldr r0, =gUnknown_0203BCD4 - mov r10, r0 - adds r4, r5, 0 - adds r7, 0x8 - mov r8, r7 - ldr r7, =gSprites - movs r1, 0xD - negs r1, r1 - mov r12, r1 - movs r5, 0x4 -_08173E1C: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r4 - mov r2, r8 - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - beq _08173E40 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x5] - mov r0, r12 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] -_08173E40: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08173E1C - mov r3, r10 - ldr r0, [r3] - ldr r1, =0x000063b0 - str r1, [sp] - movs r1, 0 - movs r2, 0xC - movs r3, 0xC - bl BeginNormalPaletteFade - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - mov r2, r9 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0xE] - ldr r1, =sub_8173EA4 - str r1, [r0] -_08173E7E: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173DC0 - - thumb_func_start sub_8173EA4 -sub_8173EA4: @ 8173EA4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0xF - ble _08173ECC - ldr r0, =sub_8173EE4 - str r0, [r1] - b _08173EDE - .pool -_08173ECC: - adds r0, r2, 0x1 - strh r0, [r1, 0xE] - movs r0, 0xE - ldrsh r1, [r1, r0] - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_08173EDE: - pop {r0} - bx r0 - thumb_func_end sub_8173EA4 - - thumb_func_start sub_8173EE4 -sub_8173EE4: @ 8173EE4 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r6, =gSaveBlock2Ptr - ldr r0, [r6] - ldrb r0, [r0, 0x8] - movs r1, 0x1 - bl sub_818D97C - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - str r1, [sp] - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x78 - movs r3, 0x48 - bl sub_818D8AC - ldr r1, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - strh r0, [r4, 0x10] - ldr r0, =gUnknown_085E5380 - bl AddWindow - ldr r0, [r6] - ldrb r1, [r0, 0x14] - lsrs r1, 3 - ldr r2, =0x0000021d - movs r0, 0x1 - movs r3, 0xD0 - bl sub_80987D4 - movs r0, 0x1 - bl stdpal_get - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x78 - strh r0, [r4, 0xE] - ldr r0, =sub_8173F84 - str r0, [r4] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173EE4 - - thumb_func_start sub_8173F84 -sub_8173F84: @ 8173F84 - push {r4,r5,lr} - sub sp, 0x10 - 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, 0xE] - movs r1, 0xE - ldrsh r5, [r4, r1] - cmp r5, 0 - beq _08173FAC - subs r0, 0x1 - strh r0, [r4, 0xE] - b _08174018 - .pool -_08173FAC: - ldr r2, =gSprites - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0xC0 - beq _08173FD0 - adds r0, r2, 0x1 - strh r0, [r1, 0x20] - b _08174018 - .pool -_08173FD0: - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - movs r1, 0x2 - bl sub_8174C98 - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gText_LeagueChamp - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sub_8174028 - str r0, [r4] -_08174018: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173F84 - - thumb_func_start sub_8174028 -sub_8174028: @ 8174028 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0817404E - movs r0, 0x4 - bl FadeOutBGM - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8174060 - str r0, [r1] -_0817404E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174028 - - thumb_func_start sub_8174060 -sub_8174060: @ 8174060 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gPlttBufferFaded - ldr r1, =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 2 - bl CpuSet - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x8 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81740B0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174060 - - thumb_func_start sub_81740B0 -sub_81740B0: @ 81740B0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08174164 - lsls r0, r7, 2 - mov r8, r0 - ldr r1, =gTasks - adds r0, r7 - lsls r0, 3 - adds r1, 0x12 - adds r5, r0, r1 - ldr r2, =gSprites - mov r9, r2 - movs r6, 0x5 -_081740DC: - ldrb r4, [r5] - cmp r4, 0xFF - beq _081740FA - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl sub_818D820 -_081740FA: - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _081740DC - ldr r0, =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x10] - bl sub_818D8F0 - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl HideBg - movs r0, 0x3 - bl HideBg - bl FreeAllWindowBuffers - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - adds r0, r7, 0 - bl DestroyTask - ldr r4, =gUnknown_0203BCDC - ldr r0, [r4] - cmp r0, 0 - beq _08174150 - bl Free - movs r0, 0 - str r0, [r4] -_08174150: - ldr r4, =gUnknown_0203BCD8 - ldr r0, [r4] - cmp r0, 0 - beq _08174160 - bl Free - movs r0, 0 - str r0, [r4] -_08174160: - bl sub_8174184 -_08174164: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81740B0 - - thumb_func_start sub_8174184 -sub_8174184: @ 8174184 - push {lr} - ldr r0, =sub_8175620 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174184 - - thumb_func_start sub_8174194 -sub_8174194: @ 8174194 - push {r4,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _081741D0 - lsls r0, 2 - ldr r1, =_081741B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081741B8: - .4byte _081741D0 - .4byte _08174200 - .4byte _08174214 - .4byte _08174240 - .4byte _08174280 - .4byte _081742B0 -_081741D0: - movs r0, 0 - bl SetVBlankCallback - bl sub_8174EC4 - ldr r4, =gUnknown_0203BCDC - ldr r0, =0x00002014 - bl AllocZeroed - str r0, [r4] - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _08174308 - .pool -_08174200: - bl sub_8174F70 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _081742A2 - .pool -_08174214: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - bl sub_8174FAC - ldr r1, =gMain - movs r4, 0x87 - lsls r4, 3 - adds r1, r4 - b _081742A2 - .pool -_08174240: - bl sub_8175024 - lsls r0, 24 - cmp r0, 0 - bne _08174308 - ldr r1, =0x0201c000 - ldr r0, =gUnknown_085E56D4 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80F9BCC - ldr r0, =sub_817354C - bl SetVBlankCallback - ldr r1, =gMain - movs r4, 0x87 - lsls r4, 3 - adds r1, r4 - b _081742A2 - .pool -_08174280: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl sub_80F9C1C - lsls r0, 24 - cmp r0, 0 - bne _08174308 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_081742A2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08174308 - .pool -_081742B0: - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0xE2 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r0, =sub_8174324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r4, =gTasks + 0x8 - movs r3, 0xFF -_081742E2: - adds r0, r2, 0x5 - lsls r0, 1 - adds r0, r1 - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _081742E2 - ldr r4, =gUnknown_0203BCD8 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - ldr r0, =sub_8173560 - bl SetMainCallback2 -_08174308: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174194 - - thumb_func_start sub_8174324 -sub_8174324: @ 8174324 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00000226 - str r0, [sp] - movs r0, 0 - movs r1, 0x1E - movs r2, 0 - movs r3, 0xC - bl sub_81980F0 - movs r0, 0x3 - bl sub_81534D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08174364 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81749A0 - b _081743DA - .pool -_08174364: - ldr r0, =0x0201c000 - ldr r4, =gUnknown_0203BCD8 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 5 - bl CpuSet - ldr r4, [r4] - movs r2, 0 - ldrh r1, [r4, 0x8] - ldr r3, =0x000001ff - adds r0, r3, 0 - ands r0, r1 - lsls r5, r6, 2 - cmp r0, 0 - beq _0817439A -_08174384: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - adds r4, 0x78 - cmp r2, 0x31 - bhi _081743BC - ldrh r1, [r4, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _08174384 -_0817439A: - cmp r2, 0x31 - bhi _081743BC - ldr r0, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r0 - subs r0, r2, 0x1 - b _081743C6 - .pool -_081743BC: - ldr r0, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r0 - movs r0, 0x31 -_081743C6: - strh r0, [r1, 0x8] - movs r0, 0xA - bl GetGameStat - ldr r2, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0xA] - ldr r0, =sub_81743EC -_081743DA: - str r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174324 - - thumb_func_start sub_81743EC -sub_81743EC: @ 81743EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203BCD8 - ldr r3, [r0] - movs r5, 0 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - adds r4, r1, 0 - ldr r2, =gUnknown_0203BCD4 - cmp r5, r0 - bge _0817442A - adds r1, r0, 0 -_0817441E: - adds r3, 0x78 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r1 - blt _0817441E -_0817442A: - adds r6, r3, 0 - movs r0, 0 - str r0, [r2] - mov r5, r8 - lsls r2, r5, 2 - adds r1, r2, r5 - lsls r1, 3 - adds r1, r4 - strh r0, [r1, 0xC] - strh r0, [r1, 0x10] - movs r5, 0 - str r2, [sp, 0x14] - ldr r4, =0x000001ff - adds r2, r1, 0 -_08174446: - ldrh r1, [r6, 0x8] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08174456 - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] -_08174456: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, 0x14 - cmp r5, 0x5 - bls _08174446 - adds r6, r3, 0 - movs r5, 0 - ldr r1, =gTasks - ldr r0, [sp, 0x14] - add r0, r8 - lsls r0, 3 - mov r9, r0 - adds r0, r1 - str r0, [sp, 0x10] - ldr r1, =0x000001ff - mov r10, r1 -_08174478: - ldrh r0, [r6, 0x8] - mov r1, r10 - ands r1, r0 - adds r7, r0, 0 - cmp r1, 0 - beq _08174540 - ldr r2, [sp, 0x10] - movs r4, 0x10 - ldrsh r0, [r2, r4] - cmp r0, 0x3 - ble _081744B8 - lsls r1, r5, 3 - ldr r0, =gUnknown_085E53B4 - adds r0, 0x4 - adds r0, r1, r0 - ldrh r3, [r0] - ldr r0, =gUnknown_085E53BA - adds r1, r0 - ldrh r4, [r1] - b _081744C8 - .pool -_081744B8: - ldr r0, =gUnknown_085E53E4 - lsls r2, r5, 3 - adds r1, r0, 0x4 - adds r1, r2, r1 - ldrh r3, [r1] - adds r0, 0x6 - adds r2, r0 - ldrh r4, [r2] -_081744C8: - mov r1, r10 - ands r1, r7 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _081744DE - lsls r0, r4, 16 - movs r1, 0xA0 - lsls r1, 12 - adds r0, r1 - lsrs r4, r0, 16 -_081744DE: - lsls r0, r7, 23 - lsrs r0, 23 - ldr r1, [r6] - ldr r2, [r6, 0x4] - lsls r3, 16 - asrs r3, 16 - str r3, [sp] - lsls r3, r4, 16 - asrs r3, 16 - str r3, [sp, 0x4] - lsls r3, r5, 24 - lsrs r3, 24 - str r3, [sp, 0x8] - ldr r3, =0x0000ffff - str r3, [sp, 0xC] - movs r3, 0x1 - bl sub_818D7D8 - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r3, r2 - movs r2, 0x4 - orrs r3, r2 - strb r3, [r1, 0x5] - adds r1, r5, 0x5 - lsls r1, 1 - add r1, r9 - ldr r2, =gTasks + 0x8 - adds r1, r2 - strh r0, [r1] - b _0817454E - .pool -_08174540: - adds r0, r5, 0x5 - lsls r0, 1 - add r0, r9 - ldr r4, =gTasks + 0x8 - adds r0, r4 - movs r1, 0xFF - strh r1, [r0] -_0817454E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, 0x14 - cmp r5, 0x5 - bls _08174478 - ldr r0, =0xffff0000 - ldr r2, =0x000063b0 - movs r1, 0xC - bl BlendPalettes - ldr r0, =gStringVar1 - ldr r1, =gTasks - ldr r4, [sp, 0x14] - add r4, r8 - lsls r4, 3 - adds r4, r1 - movs r5, 0xA - ldrsh r1, [r4, r5] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r5, =gStringVar4 - ldr r1, =gText_HOFNumber - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bgt _081745C0 - ldr r1, =gText_PickCancel - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl sub_8198204 - b _081745D0 - .pool -_081745C0: - ldr r1, =gText_PickNextCancel - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl sub_8198204 -_081745D0: - ldr r0, =gTasks - ldr r1, [sp, 0x14] - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81745FC - str r0, [r1] - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81743EC - - thumb_func_start sub_81745FC -sub_81745FC: @ 81745FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203BCD8 - ldr r5, [r0] - movs r3, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r3, r0 - bge _08174630 - adds r1, r0, 0 -_08174624: - adds r5, 0x78 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - blt _08174624 -_08174630: - movs r3, 0 - lsls r7, r4, 2 - adds r0, r7, r4 - lsls r6, r0, 3 - ldr r0, =gTasks + 0x8 - mov r10, r0 - ldr r1, =gSprites - mov r8, r1 - movs r2, 0xD - negs r2, r2 - mov r9, r2 - movs r0, 0x4 - mov r12, r0 -_0817464A: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r6 - add r0, r10 - ldrh r1, [r0] - cmp r1, 0xFF - beq _0817466C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r2, [r0, 0x5] - mov r1, r9 - ands r1, r2 - mov r2, r12 - orrs r1, r2 - strb r1, [r0, 0x5] -_0817466C: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _0817464A - adds r1, r7, r4 - lsls r1, 3 - ldr r0, =gTasks - adds r6, r1, r0 - movs r2, 0xC - ldrsh r0, [r6, r2] - adds r0, 0x5 - lsls r0, 1 - adds r0, r1 - ldr r1, =gTasks - adds r1, 0x8 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r1 - ldr r1, =0xffff0000 - eors r0, r1 - ldr r2, =gUnknown_0203BCD4 - str r0, [r2] - ldr r2, =0x000063b0 - movs r1, 0xC - bl BlendPalettesUnfaded - movs r0, 0xC - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, r5, r0 - ldrh r1, [r4, 0x8] - ldr r0, =0x000001ff - ands r0, r1 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081746E6 - bl StopCryAndClearCrySongs - ldrh r0, [r4, 0x8] - lsls r0, 23 - lsrs r0, 23 - movs r1, 0 - bl PlayCry1 -_081746E6: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xE - bl sub_8174A88 - ldr r0, =sub_8174728 - str r0, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81745FC - - thumb_func_start sub_8174728 -sub_8174728: @ 8174728 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x1 - ands r0, r2 - adds r3, r1, 0 - cmp r0, 0 - beq _081747E4 - ldr r0, =gTasks - mov r12, r0 - lsls r0, r6, 2 - adds r1, r0, r6 - lsls r3, r1, 3 - mov r1, r12 - adds r4, r3, r1 - ldrh r2, [r4, 0x8] - movs r5, 0x8 - ldrsh r1, [r4, r5] - mov r9, r0 - cmp r1, 0 - beq _081747B8 - subs r0, r2, 0x1 - strh r0, [r4, 0x8] - movs r5, 0 - adds r7, r3, 0 - movs r0, 0x8 - add r0, r12 - mov r8, r0 -_0817476A: - adds r0, r5, 0x5 - lsls r0, 1 - adds r0, r7 - mov r1, r8 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08174782 - bl sub_818D820 - movs r0, 0xFF - strh r0, [r4] -_08174782: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0817476A - ldr r0, =gTasks - mov r2, r9 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _081747A4 - subs r0, r2, 0x1 - strh r0, [r1, 0xA] -_081747A4: - ldr r0, =sub_81743EC - str r0, [r1] - b _08174884 - .pool -_081747B8: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _081747D2 - bl StopCryAndClearCrySongs - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_081747D2: - ldr r0, =sub_8174898 - str r0, [r4] - b _08174884 - .pool -_081747E4: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08174828 - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _08174806 - bl StopCryAndClearCrySongs - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_08174806: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8174898 - str r0, [r1] - b _08174884 - .pool -_08174828: - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _08174858 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xC] - movs r4, 0xC - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _08174858 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - ldr r0, =sub_81745FC - str r0, [r1] - b _08174884 - .pool -_08174858: - ldrh r1, [r3, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08174884 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r2, r0, r1 - movs r5, 0xC - ldrsh r1, [r2, r5] - movs r3, 0x10 - ldrsh r0, [r2, r3] - subs r0, 0x1 - cmp r1, r0 - bge _08174884 - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - ldr r0, =sub_81745FC - str r0, [r2] -_08174884: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174728 - - thumb_func_start sub_8174898 -sub_8174898: @ 8174898 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gPlttBufferFaded - ldr r1, =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 2 - bl CpuSet - ldr r1, =0x0201c000 - ldr r0, =gUnknown_085E56D4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80F9BF4 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81748F0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174898 - - thumb_func_start sub_81748F0 -sub_81748F0: @ 81748F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_80F9C30 - lsls r0, 24 - cmp r0, 0 - bne _08174988 - movs r5, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 -_08174910: - adds r0, r5, 0x5 - lsls r0, 1 - adds r0, r7 - mov r1, r8 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0xFF - beq _08174928 - bl sub_818D820 - movs r0, 0xFF - strh r0, [r4] -_08174928: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08174910 - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl HideBg - movs r0, 0x3 - bl HideBg - bl sub_8198314 - bl FreeAllWindowBuffers - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - adds r0, r6, 0 - bl DestroyTask - ldr r4, =gUnknown_0203BCDC - ldr r0, [r4] - cmp r0, 0 - beq _08174974 - bl Free - movs r0, 0 - str r0, [r4] -_08174974: - ldr r4, =gUnknown_0203BCD8 - ldr r0, [r4] - cmp r0, 0 - beq _08174984 - bl Free - movs r0, 0 - str r0, [r4] -_08174984: - bl sub_8137C3C -_08174988: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81748F0 - - thumb_func_start sub_81749A0 -sub_81749A0: @ 81749A0 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gText_UnkCtrlF800Exit - movs r1, 0x8 - movs r2, 0x1 - bl sub_8198180 - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gText_HOFCorrupted - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8174A08 - str r1, [r0] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81749A0 - - thumb_func_start sub_8174A08 -sub_8174A08: @ 8174A08 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08174A28 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8174898 - str r0, [r1] -_08174A28: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174A08 - - thumb_func_start sub_8174A38 -sub_8174A38: @ 8174A38 - push {r4,lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - ldr r4, =gText_WelcomeToHOF - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xD0 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174A38 - - thumb_func_start sub_8174A88 -sub_8174A88: @ 8174A88 - push {r4-r7,lr} - sub sp, 0x2C - adds r7, r0, 0 - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - ldrh r0, [r7, 0x8] - ldr r1, =0x000001ff - ands r1, r0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _08174B30 - ldr r1, =gText_Number - add r0, sp, 0xC - bl StringCopy - adds r6, r0, 0 - ldrh r0, [r7, 0x8] - lsls r0, 23 - lsrs r0, 23 - bl SpeciesToPokedexNum - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _08174B04 - adds r0, r4, 0 - movs r1, 0x64 - bl __divsi3 - subs r0, 0x5F - strb r0, [r6] - adds r6, 0x1 - adds r0, r4, 0 - movs r1, 0x64 - bl __modsi3 - adds r4, r0, 0 - movs r1, 0xA - bl __divsi3 - subs r0, 0x5F - strb r0, [r6] - adds r6, 0x1 - adds r0, r4, 0 - movs r1, 0xA - bl __modsi3 - subs r0, 0x5F - b _08174B0E - .pool -_08174B04: - movs r0, 0xAC - strb r0, [r6] - adds r6, 0x1 - strb r0, [r6] - adds r6, 0x1 -_08174B0E: - strb r0, [r6] - adds r6, 0x1 - movs r0, 0xFF - strb r0, [r6] - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0x1 - bl box_print -_08174B30: - adds r1, r7, 0 - adds r1, 0xA - add r0, sp, 0xC - movs r2, 0xA - bl memcpy - add r1, sp, 0xC - movs r0, 0xFF - strb r0, [r1, 0xA] - ldrh r1, [r7, 0x8] - ldr r4, =0x000001ff - adds r0, r4, 0 - ands r0, r1 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08174B8C - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0xD0 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _08174C82 - .pool -_08174B8C: - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x80 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add r1, sp, 0xC - movs r0, 0xBA - strb r0, [r1] - mov r0, sp - adds r0, 0xD - ldrh r1, [r7, 0x8] - lsls r1, 23 - lsrs r1, 23 - movs r2, 0xB - muls r1, r2 - ldr r2, =gSpeciesNames - adds r1, r2 - bl StringCopy - adds r6, r0, 0 - ldrh r1, [r7, 0x8] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0x20 - beq _08174C0A - cmp r0, 0x1D - beq _08174C0A - lsls r0, r1, 23 - lsrs r0, 23 - ldr r1, [r7, 0x4] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08174C00 - cmp r0, 0xFE - beq _08174C04 - b _08174C0A - .pool -_08174C00: - movs r0, 0xB5 - b _08174C06 -_08174C04: - movs r0, 0xB6 -_08174C06: - strb r0, [r6] - adds r6, 0x1 -_08174C0A: - movs r0, 0xFF - strb r0, [r6] - ldr r5, =gUnknown_085E5388 - str r5, [sp] - movs r4, 0x1 - negs r4, r4 - str r4, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x80 - movs r3, 0x1 - bl box_print - ldr r1, =gText_Level - add r0, sp, 0xC - bl StringCopy - adds r6, r0, 0 - ldrb r1, [r7, 0x9] - lsrs r1, 1 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - str r5, [sp] - str r4, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x24 - movs r3, 0x11 - bl box_print - ldr r1, =gText_IDNumber - add r0, sp, 0xC - bl StringCopy - adds r6, r0, 0 - ldrh r1, [r7] - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - str r5, [sp] - str r4, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x68 - movs r3, 0x11 - bl box_print - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08174C82: - add sp, 0x2C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174A88 - - thumb_func_start sub_8174C98 -sub_8174C98: @ 8174C98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - bl PutWindowTilemap - ldr r2, =0x0000021d - movs r0, 0x1 - movs r1, 0 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r0, =gUnknown_085E538C - mov r8, r0 - str r0, [sp] - movs r1, 0x1 - negs r1, r1 - mov r9, r1 - str r1, [sp, 0x4] - ldr r0, =gText_Name - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl box_print - ldr r0, =gSaveBlock2Ptr - mov r10, r0 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x70 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r1, r8 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - mov r1, r10 - ldr r0, [r1] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - mov r1, r10 - ldr r0, [r1] - ldrb r4, [r0, 0xA] - ldrb r0, [r0, 0xB] - lsls r0, 8 - orrs r4, r0 - mov r0, r8 - str r0, [sp] - movs r7, 0 - str r7, [sp, 0x4] - ldr r0, =gText_IDNumber - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x11 - bl box_print - add r6, sp, 0xC - ldr r1, =0x000186a0 - adds r0, r4, 0 - bl __modsi3 - ldr r5, =0x00002710 - adds r1, r5, 0 - bl __divsi3 - subs r0, 0x5F - strb r0, [r6] - add r6, sp, 0xC - adds r0, r4, 0 - adds r1, r5, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r5, 0xFA - lsls r5, 2 - adds r1, r5, 0 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r6, 0x1] - add r6, sp, 0xC - adds r0, r4, 0 - adds r1, r5, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r6, 0x2] - add r5, sp, 0xC - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x3] - add r5, sp, 0xC - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x4] - add r1, sp, 0xC - movs r0, 0xFF - strb r0, [r1, 0x5] - movs r0, 0x1 - movs r2, 0x70 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r1, r8 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x11 - bl box_print - mov r0, r8 - str r0, [sp] - mov r1, r9 - str r1, [sp, 0x4] - ldr r0, =gText_MainMenuTime - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x21 - bl box_print - add r5, sp, 0xC - mov r0, r10 - ldr r4, [r0] - ldrh r0, [r4, 0xE] - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5] - add r5, sp, 0xC - ldrh r0, [r4, 0xE] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x1] - add r5, sp, 0xC - ldrh r0, [r4, 0xE] - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x2] - add r0, sp, 0xC - ldrb r0, [r0] - cmp r0, 0xA1 - bne _08174E1E - add r0, sp, 0xC - strb r7, [r0] -_08174E1E: - add r0, sp, 0xC - ldrb r1, [r0] - cmp r1, 0 - bne _08174E30 - ldrb r0, [r0, 0x1] - cmp r0, 0xA1 - bne _08174E30 - add r0, sp, 0xC - strb r1, [r0, 0x8] -_08174E30: - add r1, sp, 0xC - movs r0, 0xF0 - strb r0, [r1, 0x3] - adds r4, r1, 0 - ldr r0, =gSaveBlock2Ptr - ldr r5, [r0] - ldrb r0, [r5, 0x10] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4, 0x4] - add r4, sp, 0xC - ldrb r0, [r5, 0x10] - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4, 0x5] - add r1, sp, 0xC - movs r0, 0xFF - strb r0, [r1, 0x6] - movs r0, 0x1 - movs r2, 0x70 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E538C - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x21 - bl box_print - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174C98 - - thumb_func_start sub_8174EC4 -sub_8174EC4: @ 8174EC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08174EEA: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _08174EEA - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - bl ResetPaletteFade - ldr r0, =gUnknown_085E54E8 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174EC4 - - thumb_func_start sub_8174F70 -sub_8174F70: @ 8174F70 - push {lr} - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl reset_temp_tile_data_buffers - bl dp13_810BB8C - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r0, =gUnknown_085E5394 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E53A4 - bl LoadCompressedObjectPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174F70 - - thumb_func_start sub_8174FAC -sub_8174FAC: @ 8174FAC - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085E5374 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203BCDC - ldr r1, [r4] - adds r1, 0x12 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001012 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174FAC - - thumb_func_start sub_8175024 -sub_8175024: @ 8175024 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0203BCDC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _08175108 - lsls r0, 2 - ldr r1, =_08175044 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08175044: - .4byte _08175058 - .4byte _08175070 - .4byte _0817507C - .4byte _081750D2 - .4byte _081750DC -_08175058: - ldr r1, =gUnknown_085E5508 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08175108 - .pool -_08175070: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _08175108 - b _08175112 -_0817507C: - movs r4, 0x20 - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0xE - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0x2 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _08175108 -_081750D2: - bl sub_81971D0 - bl sub_8197200 - b _08175108 -_081750DC: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r0, =gUnknown_0203BCDC - ldr r1, [r0] - movs r0, 0 - strh r0, [r1] - b _08175114 - .pool -_08175108: - ldr r0, =gUnknown_0203BCDC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08175112: - movs r0, 0x1 -_08175114: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8175024 - - thumb_func_start sub_8175120 -sub_8175120: @ 8175120 - push {r4,lr} - adds r2, r0, 0 - ldr r1, [r2, 0x20] - ldr r0, [r2, 0x30] - cmp r1, r0 - beq _08175176 - ldrh r3, [r2, 0x20] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r4, 0x30 - ldrsh r1, [r2, r4] - cmp r0, r1 - bge _08175140 - adds r0, r3, 0 - adds r0, 0xF - strh r0, [r2, 0x20] -_08175140: - ldrh r3, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, r1 - ble _08175150 - adds r0, r3, 0 - subs r0, 0xF - strh r0, [r2, 0x20] -_08175150: - ldrh r3, [r2, 0x22] - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r4, 0x32 - ldrsh r1, [r2, r4] - cmp r0, r1 - bge _08175164 - adds r0, r3, 0 - adds r0, 0xA - strh r0, [r2, 0x22] -_08175164: - ldrh r3, [r2, 0x22] - movs r4, 0x22 - ldrsh r0, [r2, r4] - cmp r0, r1 - ble _0817519C - adds r0, r3, 0 - subs r0, 0xA - strh r0, [r2, 0x22] - b _0817519C -_08175176: - ldrh r0, [r2, 0x3C] - lsls r1, r0, 16 - movs r0, 0xCE - lsls r0, 17 - cmp r1, r0 - bne _08175190 - lsrs r1, 16 - adds r0, r2, 0 - movs r2, 0x1 - movs r3, 0x3 - bl DoMonFrontSpriteAnimation - b _0817519C -_08175190: - lsrs r1, 16 - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x3 - bl DoMonFrontSpriteAnimation -_0817519C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8175120 - - thumb_func_start sub_81751A4 -sub_81751A4: @ 81751A4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x26] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r0, 0x78 - ble _081751BA - adds r0, r5, 0 - bl DestroySprite - b _081751F2 -_081751BA: - adds r0, r1, 0x1 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r4, [r5, 0x2E] - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - ands r0, r1 - adds r0, 0x8 - ldr r1, =gSineTable - lsls r4, 1 - adds r4, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - muls r0, r1 - cmp r0, 0 - bge _081751E8 - adds r0, 0xFF -_081751E8: - asrs r0, 8 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x2E] - adds r0, 0x4 - strh r0, [r5, 0x2E] -_081751F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81751A4 - - thumb_func_start sub_81751FC -sub_81751FC: @ 81751FC - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x7 - ands r2, r0 - negs r2, r2 - ldr r0, =gUnknown_085E54D0 - lsls r4, 16 - asrs r4, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r4, 0 - 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 r4, r1, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x11 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - bl Random - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - beq _08175274 - movs r0, 0 - b _08175276 - .pool -_08175274: - movs r0, 0x1 -_08175276: - strh r0, [r4, 0x30] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81751FC - - thumb_func_start sub_8175280 -sub_8175280: @ 8175280 - push {r4,lr} - ldr r4, =gSpecialVar_0x8004 - movs r0, 0xB4 - strh r0, [r4] - ldr r0, =sub_8175364 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081752AA - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r4] - strh r1, [r0, 0xA] - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] -_081752AA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175280 - - thumb_func_start sub_81752C0 -sub_81752C0: @ 81752C0 - push {r4,lr} - ldr r0, =sub_8175364 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081752D4 - bl DestroyTask -_081752D4: - bl sub_8152254 - ldr r4, =0x000003e9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81752C0 - - thumb_func_start sub_81752F4 -sub_81752F4: @ 81752F4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0xE] - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0x6E - ble _08175324 - ldr r2, =gTasks - movs r0, 0x28 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x1 - strh r1, [r0, 0x26] - ldrb r0, [r5, 0x16] - bl sub_81525D0 - b _08175358 - .pool -_08175324: - adds r0, r1, 0x1 - ldrh r1, [r5, 0x1C] - adds r0, r1 - strh r0, [r5, 0xE] - ldrb r4, [r5, 0x1A] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - ands r0, r1 - adds r0, 0x8 - ldr r1, =gSineTable - lsls r4, 1 - adds r4, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - muls r0, r1 - cmp r0, 0 - bge _0817534E - adds r0, 0xFF -_0817534E: - asrs r0, 8 - strh r0, [r5, 0xC] - ldrh r0, [r5, 0x1A] - adds r0, 0x4 - strh r0, [r5, 0x1A] -_08175358: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81752F4 - - thumb_func_start sub_8175364 -sub_8175364: @ 8175364 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - movs r7, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldrh r0, [r6] - cmp r0, 0x1 - beq _081753E0 - cmp r0, 0x1 - bgt _08175394 - cmp r0, 0 - beq _0817539C - b _081754B0 - .pool -_08175394: - cmp r0, 0xFF - bne _0817539A - b _081754A0 -_0817539A: - b _081754B0 -_0817539C: - movs r0, 0x40 - bl sub_81521C0 - cmp r0, 0 - bne _081753B8 - adds r0, r4, 0 - bl DestroyTask - ldr r0, =gSpecialVar_0x8004 - strh r7, [r0] - ldr r1, =gSpecialVar_0x8005 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] -_081753B8: - ldr r0, =gUnknown_085E5394 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E53A4 - bl LoadCompressedObjectPalette - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _081754B0 - .pool -_081753E0: - ldrh r0, [r6, 0x2] - cmp r0, 0 - beq _08175478 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _08175478 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 16 - asrs r5, 16 - bl Random - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x7 - ands r4, r0 - negs r4, r4 - lsls r4, 16 - asrs r4, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x11 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_085E53FC - ldr r2, =0x000003e9 - str r4, [sp] - str r0, [sp, 0x4] - str r7, [sp, 0x8] - adds r0, r1, 0 - adds r1, r2, 0 - adds r3, r5, 0 - bl sub_81524C4 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xFF - beq _08175478 - adds r4, r7, 0 - ldr r1, =sub_81752F4 - adds r0, r4, 0 - bl sub_8152438 - bl Random - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - bne _08175468 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_8152474 -_08175468: - adds r0, r4, 0 - movs r1, 0x7 - mov r2, r8 - bl sub_8152474 - ldrh r0, [r6, 0x1E] - adds r0, 0x1 - strh r0, [r6, 0x1E] -_08175478: - bl sub_81522D4 - ldrh r0, [r6, 0x2] - cmp r0, 0 - beq _08175494 - subs r0, 0x1 - strh r0, [r6, 0x2] - b _081754B0 - .pool -_08175494: - ldrh r0, [r6, 0x1E] - cmp r0, 0 - bne _081754B0 - movs r0, 0xFF - strh r0, [r6] - b _081754B0 -_081754A0: - bl sub_81752C0 - ldr r0, =gSpecialVar_0x8004 - strh r7, [r0] - ldr r1, =gSpecialVar_0x8005 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] -_081754B0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175364 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/heal_location.s b/asm/heal_location.s deleted file mode 100644 index f7947d34e..000000000 --- a/asm/heal_location.s +++ /dev/null @@ -1,83 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8122C5C -sub_8122C5C: @ 8122C5C - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r1, 16 - movs r3, 0 - ldr r2, =gUnknown_0859F53C -_08122C6A: - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, r4 - bne _08122C84 - movs r0, 0x1 - ldrsb r0, [r2, r0] - cmp r0, r1 - bne _08122C84 - adds r0, r3, 0x1 - b _08122C8E - .pool -_08122C84: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x15 - bls _08122C6A - movs r0, 0 -_08122C8E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8122C5C - - thumb_func_start sub_8122C94 -sub_8122C94: @ 8122C94 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - bl sub_8122C5C - cmp r0, 0 - beq _08122CB4 - lsls r0, 3 - ldr r1, =gUnknown_0859F534 - adds r0, r1 - b _08122CB6 - .pool -_08122CB4: - movs r0, 0 -_08122CB6: - pop {r1} - bx r1 - thumb_func_end sub_8122C94 - - thumb_func_start sub_8122CBC -@ warpdata *sub_8122CBC(int a1) -sub_8122CBC: @ 8122CBC - push {lr} - cmp r0, 0 - beq _08122CD4 - cmp r0, 0x16 - bhi _08122CD4 - lsls r0, 3 - ldr r1, =gUnknown_0859F534 - adds r0, r1 - b _08122CD6 - .pool -_08122CD4: - movs r0, 0 -_08122CD6: - pop {r1} - bx r1 - thumb_func_end sub_8122CBC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/international_string_util.s b/asm/international_string_util.s index 817a1d5e4..469d88787 100755..100644 --- a/asm/international_string_util.s +++ b/asm/international_string_util.s @@ -52,8 +52,8 @@ _081DB462: bx r1 thumb_func_end sub_81DB41C - thumb_func_start sub_81DB468 -sub_81DB468: @ 81DB468 + thumb_func_start CopyMonCategoryText +CopyMonCategoryText: @ 81DB468 push {lr} adds r2, r0, 0 adds r0, r1, 0 @@ -70,7 +70,7 @@ sub_81DB468: @ 81DB468 pop {r0} bx r0 .pool - thumb_func_end sub_81DB468 + thumb_func_end CopyMonCategoryText thumb_func_start sub_81DB494 sub_81DB494: @ 81DB494 @@ -113,8 +113,8 @@ _081DB4D4: bx r1 thumb_func_end sub_81DB494 - thumb_func_start sub_81DB4DC -sub_81DB4DC: @ 81DB4DC + thumb_func_start PadNameString +PadNameString: @ 81DB4DC push {r4,r5,lr} adds r4, r0, 0 lsls r1, 24 @@ -156,7 +156,7 @@ _081DB51E: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_81DB4DC + thumb_func_end PadNameString thumb_func_start sub_81DB52C sub_81DB52C: @ 81DB52C diff --git a/asm/intro.s b/asm/intro.s index 32b52ed06..a0149851e 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -11,7 +11,7 @@ sub_816CBE8: @ 816CBE8 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 thumb_func_end sub_816CBE8 @@ -59,7 +59,7 @@ sub_816CC54: @ 816CC54 lsls r0, 24 cmp r0, 0 bne _0816CC66 - ldr r0, =c2_title_screen_1 + ldr r0, =CB2_InitTitleScreen bl SetMainCallback2 _0816CC66: pop {r0} @@ -184,7 +184,7 @@ _0816CCF4: movs r0, 0 movs r2, 0 bl load_copyright_graphics - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl FreeAllSpritePalettes @@ -337,13 +337,13 @@ _0816CEFA: .pool thumb_func_end c2_copyright_1 - thumb_func_start c2_show_copyright_and_intro_again_2 -c2_show_copyright_and_intro_again_2: @ 816CF0C + thumb_func_start CB2_InitCopyrightScreenAfterTitleScreen +CB2_InitCopyrightScreenAfterTitleScreen: @ 816CF0C push {lr} bl do_copyright_screen pop {r0} bx r0 - thumb_func_end c2_show_copyright_and_intro_again_2 + thumb_func_end CB2_InitCopyrightScreenAfterTitleScreen thumb_func_start task_intro_1 @ void task_intro_1(int task_id) @@ -1945,24 +1945,24 @@ task_intro_13: @ 816DD28 ldr r1, =gReservedSpritePaletteCount movs r0, 0x8 strb r0, [r1] - ldr r0, =gUnknown_08D88494 + ldr r0, =gIntro3GroudonGfx movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram - ldr r0, =gUnknown_08D88D40 + ldr r0, =gIntro3GroudonTilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D89F7C + ldr r0, =gIntro3LegendBgGfx ldr r1, =0x06004000 bl LZDecompressVram - ldr r0, =gUnknown_08D8A818 + ldr r0, =gIntro3GroudonBgTilemap ldr r1, =0x0600e000 bl LZDecompressVram ldr r0, =gBattleAnimPicTable + 0x1D0 bl LoadCompressedObjectPicUsingHeap ldr r0, =gBattleAnimPaletteTable + 0x1D0 bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =gUnknown_08D85CD0 + ldr r0, =gIntro3BgPal ldr r1, =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 1 @@ -2124,7 +2124,7 @@ task_intro_17: @ 816DEEC movs r1, 0xA0 movs r2, 0x4 movs r3, 0x4 - bl sub_80BA384 + bl ScanlineEffect_InitWave add sp, 0xC pop {r0} bx r0 @@ -2229,7 +2229,7 @@ _0816DFF4: strh r0, [r4, 0xC] movs r1, 0xE ldrsh r0, [r4, r1] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x3E movs r2, 0x1 @@ -2271,7 +2271,7 @@ _0816E046: strh r0, [r4, 0xC] movs r2, 0xE ldrsh r0, [r4, r2] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x3E movs r2, 0x1 @@ -2411,7 +2411,7 @@ _0816E156: adds r0, r1 ldr r1, =task_intro_19 str r1, [r0] - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _0816E176: @@ -2571,14 +2571,14 @@ task_intro_19: @ 816E2A0 lsls r4, 24 lsrs r4, 24 bl ResetSpriteData - ldr r0, =gUnknown_08D89224 + ldr r0, =gIntro3KyogreGfx movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram - ldr r0, =gUnknown_08D89ABC + ldr r0, =gIntro3KyogreTilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D8A934 + ldr r0, =gIntro3KyogreBgTilemap ldr r1, =0x0600e000 bl LZDecompressVram ldr r0, =gUnknown_085E4C88 @@ -2623,7 +2623,7 @@ task_intro_19: @ 816E2A0 movs r1, 0xA0 movs r2, 0x4 movs r3, 0x4 - bl sub_80BA384 + bl ScanlineEffect_InitWave add sp, 0xC pop {r4} pop {r0} @@ -2888,7 +2888,7 @@ _0816E56E: strh r0, [r5, 0xC] movs r2, 0xE ldrsh r0, [r5, r2] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x5E movs r2, 0x1 @@ -2932,7 +2932,7 @@ _0816E5BC: strh r0, [r5, 0xC] movs r2, 0xE ldrsh r0, [r5, r2] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x5E movs r2, 0x1 @@ -3038,7 +3038,7 @@ _0816E69C: adds r0, r1 ldr r1, =task_intro_21 str r1, [r0] - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _0816E6BC: @@ -3319,7 +3319,7 @@ task_intro_21: @ 816E888 movs r0, 0x1A movs r1, 0 bl SetGpuReg - ldr r4, =gUnknown_08D8AA54 + ldr r4, =gIntro3CloudsGfx movs r1, 0xC0 lsls r1, 19 adds r0, r4, 0 @@ -3327,7 +3327,7 @@ task_intro_21: @ 816E888 ldr r1, =0x06004000 adds r0, r4, 0 bl LZDecompressVram - ldr r0, =gUnknown_08D8B6E8 + ldr r0, =gIntro3Clouds3Tilemap ldr r1, =0x0600e000 bl LZDecompressVram ldr r1, =gTasks @@ -3349,10 +3349,10 @@ task_intro_22: @ 816E954 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_08D8B180 + ldr r0, =gIntro3Clouds1Tilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D8B440 + ldr r0, =gIntro3Clouds2Tilemap ldr r1, =0x0600d000 bl LZDecompressVram ldr r1, =gTasks @@ -3509,16 +3509,16 @@ task_intro_25: @ 816EAB8 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_08D8C16C + ldr r0, =gIntro3RayquazaTilemap ldr r1, =0x0600e000 bl LZDecompressVram - ldr r0, =gUnknown_08D8CCC8 + ldr r0, =gIntro3Clouds4Tilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D8BA74 + ldr r0, =gIntro3RayquazaGfx ldr r1, =0x06004000 bl LZDecompressVram - ldr r0, =gUnknown_08D8C838 + ldr r0, =gIntro3Clouds2Gfx movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram @@ -3725,7 +3725,7 @@ _0816ECA0: _0816ECAC: movs r1, 0x30 ldrsh r0, [r4, r1] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0xBA movs r2, 0x1 @@ -3757,7 +3757,7 @@ _0816ECDC: strh r0, [r4, 0x32] movs r1, 0x30 ldrsh r0, [r4, r1] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0xBA movs r2, 0x1 @@ -4007,7 +4007,7 @@ _0816EEF4: movs r2, 0x2 ldrsh r0, [r5, r2] lsls r0, 1 - ldr r1, =gUnknown_08D85E72 + ldr r1, =gIntro3BgPal + 0x1A2 adds r0, r1 ldr r1, =gPlttBufferFaded + 0xBC movs r2, 0x1 @@ -4043,7 +4043,7 @@ _0816EF34: movs r1, 0x2 ldrsh r0, [r5, r1] lsls r0, 1 - ldr r1, =gUnknown_08D85E72 + ldr r1, =gIntro3BgPal + 0x1A2 adds r0, r1 ldr r1, =gPlttBufferFaded + 0xB0 movs r2, 0x1 @@ -4080,7 +4080,7 @@ _0816EF80: movs r1, 0x2 ldrsh r0, [r5, r1] lsls r0, 1 - ldr r1, =gUnknown_08D85E52 + ldr r1, =gIntro3BgPal + 0x182 adds r0, r1 ldr r1, =gPlttBufferFaded + 0xB8 movs r2, 0x1 @@ -4148,7 +4148,7 @@ _0816F00A: movs r0, 0x50 movs r1, 0x10 bl BlendPalette - ldr r4, =gUnknown_08D85E7C + ldr r4, =gIntro3BgPal + 0x1AC ldr r5, =gPlttBufferFaded + 0xBC adds r0, r4, 0 adds r1, r5, 0 @@ -5617,7 +5617,7 @@ _0816FBB4: cmp r0, 0 beq _0816FC14 lsls r0, 1 - ldr r4, =gUnknown_08D85C50 + ldr r4, =gIntro1GameFreakTextFadePal adds r0, r4 ldr r5, =gPlttBufferFaded + 0x23E adds r1, r5, 0 @@ -5651,7 +5651,7 @@ _0816FC14: movs r1, 0x30 ldrsh r0, [r6, r1] lsls r0, 1 - ldr r4, =gUnknown_08D85C50 + ldr r4, =gIntro1GameFreakTextFadePal adds r0, r4 ldr r5, =gPlttBufferFaded + 0x23E adds r1, r5, 0 @@ -5696,7 +5696,7 @@ _0816FC6C: cmp r0, 0x9 bgt _0816FCE6 lsls r0, 1 - ldr r4, =gUnknown_08D85C50 + ldr r4, =gIntro1GameFreakTextFadePal adds r0, r4 ldr r5, =gPlttBufferFaded + 0x23E adds r1, r5, 0 diff --git a/asm/item_icon.s b/asm/item_icon.s deleted file mode 100755 index e3fe4189a..000000000 --- a/asm/item_icon.s +++ /dev/null @@ -1,468 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AllocItemIconTemporaryBuffers -@ bool8 AllocItemIconTemporaryBuffers() -AllocItemIconTemporaryBuffers: @ 81AFDE4 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CEBC - movs r0, 0x90 - lsls r0, 1 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _081AFE1A - ldr r4, =gUnknown_0203CEC0 - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - cmp r0, 0 - beq _081AFE14 - movs r0, 0x1 - b _081AFE1C - .pool -_081AFE14: - ldr r0, [r5] - bl Free -_081AFE1A: - movs r0, 0 -_081AFE1C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end AllocItemIconTemporaryBuffers - - thumb_func_start FreeItemIconTemporaryBuffers -@ void FreeItemIconTemporaryBuffers() -FreeItemIconTemporaryBuffers: @ 81AFE24 - push {lr} - ldr r0, =gUnknown_0203CEBC - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203CEC0 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .pool - thumb_func_end FreeItemIconTemporaryBuffers - - thumb_func_start CopyItemIconPicTo4x4Buffer -@ void CopyItemIconPicTo4x4Buffer(void *src, void *dest) -CopyItemIconPicTo4x4Buffer: @ 81AFE44 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 -_081AFE4C: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 5 - adds r0, r6, r0 - lsls r1, r4, 7 - adds r1, r5, r1 - movs r2, 0x30 - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081AFE4C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end CopyItemIconPicTo4x4Buffer - - thumb_func_start AddItemIconObject -@ u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId) -AddItemIconObject: @ 81AFE70 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl AllocItemIconTemporaryBuffers - lsls r0, 24 - cmp r0, 0 - beq _081AFF28 - adds r0, r5, 0 - movs r1, 0 - bl GetItemIconPicOrPalette - ldr r4, =gUnknown_0203CEBC - ldr r1, [r4] - bl LZDecompressWram - ldr r0, [r4] - ldr r4, =gUnknown_0203CEC0 - ldr r1, [r4] - bl CopyItemIconPicTo4x4Buffer - ldr r0, [r4] - str r0, [sp] - ldr r4, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r4 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - lsls r2, r7, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r5, 0 - movs r1, 0x1 - bl GetItemIconPicOrPalette - str r0, [sp, 0x8] - add r0, sp, 0x8 - ldr r1, [r0, 0x4] - ands r1, r4 - orrs r1, r6 - str r1, [r0, 0x4] - bl LoadCompressedObjectPalette - movs r0, 0x18 - bl Alloc - adds r5, r0, 0 - ldr r0, =gUnknown_08614FF4 - adds r1, r5, 0 - movs r2, 0xC - bl CpuSet - strh r7, [r5] - strh r6, [r5, 0x2] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl FreeItemIconTemporaryBuffers - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - b _081AFF2A - .pool -_081AFF28: - movs r0, 0x40 -_081AFF2A: - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AddItemIconObject - - thumb_func_start AddItemIconObjectWithCustomObjectTemplate -@ u8 AddItemIconObjectWithCustomObjectTemplate(struct objtemplate *objectTemplate, u16 tilesTag, u16 paletteTag, u16 itemId) -AddItemIconObjectWithCustomObjectTemplate: @ 81AFF34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r8, r0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - bl AllocItemIconTemporaryBuffers - lsls r0, 24 - cmp r0, 0 - beq _081AFFEC - adds r0, r5, 0 - movs r1, 0 - bl GetItemIconPicOrPalette - ldr r4, =gUnknown_0203CEBC - ldr r1, [r4] - bl LZDecompressWram - ldr r0, [r4] - ldr r4, =gUnknown_0203CEC0 - ldr r1, [r4] - bl CopyItemIconPicTo4x4Buffer - ldr r0, [r4] - str r0, [sp] - ldr r4, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r4 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - lsls r2, r7, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r5, 0 - movs r1, 0x1 - bl GetItemIconPicOrPalette - str r0, [sp, 0x8] - add r0, sp, 0x8 - ldr r1, [r0, 0x4] - ands r1, r4 - orrs r1, r6 - str r1, [r0, 0x4] - bl LoadCompressedObjectPalette - movs r0, 0x18 - bl Alloc - adds r5, r0, 0 - mov r0, r8 - adds r1, r5, 0 - movs r2, 0xC - bl CpuSet - strh r7, [r5] - strh r6, [r5, 0x2] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl FreeItemIconTemporaryBuffers - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - b _081AFFEE - .pool -_081AFFEC: - movs r0, 0x40 -_081AFFEE: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AddItemIconObjectWithCustomObjectTemplate - - thumb_func_start GetItemIconPicOrPalette -@ u32 GetItemIconPicOrPalette(u16 itemId, u8 which) -GetItemIconPicOrPalette: @ 81AFFFC - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =0x0000ffff - cmp r3, r0 - bne _081B0018 - ldr r3, =0x00000179 - b _081B0022 - .pool -_081B0018: - movs r0, 0xBC - lsls r0, 1 - cmp r3, r0 - bls _081B0022 - movs r3, 0 -_081B0022: - ldr r2, =gItemIconTable - lsls r0, r1, 2 - lsls r1, r3, 3 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end GetItemIconPicOrPalette - - thumb_func_start sub_81B0038 -sub_81B0038: @ 81B0038 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - lsls r4, 24 - lsrs r6, r4, 24 - bl reset_brm - ldr r0, =gUnknown_0203CEC4 - mov r10, r0 - movs r0, 0x8E - lsls r0, 2 - bl Alloc - adds r5, r0, 0 - mov r1, r10 - str r5, [r1] - cmp r5, 0 - bne _081B0088 - ldr r0, [sp, 0x2C] - bl SetMainCallback2 - b _081B0194 - .pool -_081B0088: - ldr r3, =gUnknown_0203CEC8 - movs r1, 0xF - mov r4, r8 - ands r1, r4 - ldrb r2, [r3, 0x8] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x8] - ldr r0, [sp, 0x2C] - str r0, [r3] - movs r4, 0 - strb r7, [r3, 0xB] - lsls r2, r6, 2 - ldrh r1, [r5, 0xA] - movs r0, 0x3 - ands r0, r1 - orrs r0, r2 - strh r0, [r5, 0xA] - ldr r0, [sp, 0x28] - str r0, [r5] - str r4, [r5, 0x4] - ldrb r1, [r5, 0x8] - movs r0, 0xF - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x8] - mov r1, r10 - ldr r2, [r1] - ldrh r0, [r2, 0x8] - movs r4, 0xFE - lsls r4, 3 - adds r1, r4, 0 - orrs r0, r1 - strh r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xFE - lsls r1, 10 - orrs r0, r1 - str r0, [r2, 0x8] - adds r6, r3, 0 - mov r5, r8 - cmp r5, 0x4 - bne _081B00F0 - ldrb r0, [r2, 0x8] - movs r1, 0x1 - orrs r0, r1 - b _081B00F8 - .pool -_081B00F0: - ldrb r1, [r2, 0x8] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 -_081B00F8: - strb r0, [r2, 0x8] - mov r0, r9 - cmp r0, 0xFF - beq _081B0114 - movs r0, 0x3 - mov r1, r9 - ands r0, r1 - lsls r0, 4 - ldrb r2, [r6, 0x8] - movs r1, 0x31 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x8] -_081B0114: - movs r2, 0 - ldr r5, =gUnknown_0203CEC4 - movs r4, 0x86 - lsls r4, 2 - movs r3, 0 -_081B011E: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, r4 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _081B011E - movs r2, 0 - ldr r4, =gUnknown_0203CEC4 - movs r3, 0xFF -_081B0138: - ldr r0, [r4] - adds r0, 0xC - adds r0, r2 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x2 - bls _081B0138 - ldr r4, [sp] - cmp r4, 0 - bne _081B015C - strb r4, [r6, 0x9] - b _081B017E - .pool -_081B015C: - adds r1, r6, 0 - movs r0, 0x9 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _081B017A - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - bne _081B017E -_081B017A: - movs r0, 0 - strb r0, [r6, 0x9] -_081B017E: - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl CalculatePlayerPartyCount - ldr r0, =c2_811EBD0 - bl SetMainCallback2 -_081B0194: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0038 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s index 06c0a86ed..010e83c49 100755..100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -121,7 +121,7 @@ sub_81AAC28: @ 81AAC28 ldr r0, =gSpecialVar_0x8005 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] pop {r0} bx r0 @@ -135,7 +135,7 @@ sub_81AAC50: @ 81AAC50 movs r0, 0x7 movs r1, 0x5 bl GoToBagMenu - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] pop {r0} @@ -150,7 +150,7 @@ sub_81AAC70: @ 81AAC70 movs r0, 0x8 movs r1, 0x5 bl GoToBagMenu - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] pop {r0} @@ -343,7 +343,7 @@ _081AAE34: bl clear_scheduled_bg_copies_to_vram b _081AB012 _081AAE3E: - bl remove_some_task + bl ScanlineEffect_Stop ldr r1, =gMain movs r2, 0x87 lsls r2, 3 @@ -463,7 +463,7 @@ _081AAF54: adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrb r2, [r4, 0x5] lsls r2, 1 adds r1, r4, 0 @@ -568,7 +568,7 @@ _081AB046: thumb_func_start bag_menu_init_bgs bag_menu_init_bgs: @ 81AB050 push {r4,lr} - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs ldr r4, =gUnknown_0203CE54 ldr r0, [r4] adds r0, 0x4 @@ -586,7 +586,7 @@ bag_menu_init_bgs: @ 81AB050 adds r1, 0x4 movs r0, 0x2 bl SetBgTilemapBuffer - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram movs r1, 0x82 @@ -637,7 +637,7 @@ _081AB0E8: .4byte _081AB1A8 _081AB0FC: bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9A620 + ldr r1, =gBagScreen_Gfx movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -670,14 +670,14 @@ _081AB13C: ldrb r0, [r0, 0x8] cmp r0, 0 beq _081AB164 - ldr r0, =gUnknown_08D9A5D4 + ldr r0, =gBagScreenFemale_Pal movs r1, 0 movs r2, 0x40 bl LoadCompressedPalette b _081AB1AE .pool _081AB164: - ldr r0, =gUnknown_08D9A588 + ldr r0, =gBagScreenMale_Pal movs r1, 0 movs r2, 0x40 bl LoadCompressedPalette @@ -719,7 +719,7 @@ _081AB1B2: b _081AB1E4 .pool _081AB1CC: - bl sub_8122328 + bl LoadListMenuArrowsGfx ldr r0, [r4] ldr r1, =0x00000834 adds r0, r1 @@ -902,7 +902,7 @@ _081AB30C: cmp r6, r0 bcc _081AB30C _081AB34A: - ldr r2, =gUnknown_03006310 + ldr r2, =gMultiuseListMenuTemplate adds r1, r2, 0 ldr r0, =gUnknown_08613F9C ldm r0!, {r3-r5} @@ -1164,7 +1164,7 @@ _081AB570: lsrs r0, 16 cmp r0, 0x7 bhi _081AB5BE - ldr r1, =gUnknown_08DC6378 + ldr r1, =gBagMenuHMIcon_Gfx subs r3, r7, 0x1 lsls r3, 16 lsrs r3, 16 @@ -1863,7 +1863,7 @@ DisplayItemMessage: @ 81ABB4C strh r0, [r4, 0x14] movs r1, 0x11 bl FillWindowPixelBuffer - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 ldrb r1, [r4, 0x14] @@ -1924,7 +1924,7 @@ bag_menu_inits_lists_menu: @ 81ABBBC bl sub_81ABA88 ldrb r0, [r7, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r8 ldrh r1, [r2] ldrh r2, [r4] @@ -2133,7 +2133,7 @@ _081ABDCC: ldrb r0, [r6] adds r1, r7, 0 mov r2, r8 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldrh r2, [r7] mov r3, r8 ldrh r0, [r3] @@ -2157,12 +2157,12 @@ _081ABDCC: .pool _081ABE10: ldrb r0, [r6] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r4, r0, 0 ldrb r0, [r6] adds r1, r7, 0 mov r2, r8 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r4, r0 @@ -2181,7 +2181,7 @@ _081ABE32: _081ABE40: movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId mov r1, r10 strh r1, [r0] ldr r0, =gTasks + 0x8 @@ -2215,7 +2215,7 @@ _081ABE68: lsrs r0, 24 adds r1, r4, 0 bl BagGetItemIdByPocketPosition - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId strh r0, [r1] ldr r1, =gUnknown_08614054 ldrb r0, [r5, 0x4] @@ -2603,7 +2603,7 @@ _081AC1DC: subs r5, r4, 0x5 ldrb r0, [r5, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrb r2, [r5, 0x5] lsls r2, 1 adds r1, r4, 0 @@ -2847,12 +2847,12 @@ sub_81AC3C0: @ 81AC3C0 adds r1, r2, r1 adds r3, 0x8 adds r2, r3 - bl get_coro_args_x18_x1A + bl sub_81AE860 b _081AC472 .pool _081AC418: ldrb r0, [r4] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r7, r0, 0 ldrb r0, [r4] ldr r5, =gUnknown_0203CE58 @@ -2864,7 +2864,7 @@ _081AC418: adds r4, r5, 0 adds r4, 0x8 adds r2, r4 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0 bl sub_80D4FC8 ldrb r0, [r5, 0x5] @@ -2989,7 +2989,7 @@ _081AC4F8: _081AC538: ldrb r0, [r5, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r8 ldrh r1, [r2] ldrh r2, [r7] @@ -3070,7 +3070,7 @@ sub_81AC590: @ 81AC590 _081AC5F2: ldrb r0, [r4, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r6] ldrh r2, [r5] bl ListMenuInit @@ -3125,7 +3125,7 @@ _081AC668: .4byte _081AC70C .4byte _081AC690 _081AC690: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetBattleUsage lsls r0, 24 @@ -3170,7 +3170,7 @@ _081AC6E8: b _081ACA10 .pool _081AC70C: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -3205,7 +3205,7 @@ _081AC748: b _081ACA10 .pool _081AC76C: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -3240,7 +3240,7 @@ _081AC7A8: b _081ACA10 .pool _081AC7CC: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -3288,7 +3288,7 @@ _081AC840: ldrb r0, [r0, 0x5] cmp r0, 0x4 beq _081AC856 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl sub_8122148 lsls r0, 24 @@ -3358,9 +3358,9 @@ _081AC8D4: ldr r1, =gUnknown_0861402C movs r2, 0x4 bl memcpy - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3396,7 +3396,7 @@ _081AC92C: ldr r0, [r0] ldr r1, =0x00000496 adds r0, r1 - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r2] cmp r0, r1 @@ -3472,7 +3472,7 @@ _081ACA12: bne _081ACA50 movs r0, 0x1 bl ClearWindowTilemap - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl PrintTMHMMoveData movs r0, 0x3 @@ -3484,7 +3484,7 @@ _081ACA12: b _081ACA86 .pool _081ACA50: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -3985,7 +3985,7 @@ ItemMenu_UseOutOfBattle: @ 81ACE7C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] bl ItemId_GetFieldFunc cmp r0, 0 @@ -4015,7 +4015,7 @@ _081ACEB8: ldrb r0, [r0, 0x5] cmp r0, 0x3 beq _081ACEE8 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetFieldFunc adds r1, r0, 0 @@ -4055,7 +4055,7 @@ ItemMenu_Toss: @ 81ACEF4 b _081ACF6A .pool _081ACF24: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4105,7 +4105,7 @@ BagMenuConfirmToss: @ 81ACF88 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4242,7 +4242,7 @@ BagMenuActuallyToss: @ 81AD0CC lsls r4, 3 ldr r5, =gTasks + 0x8 adds r6, r4, r5 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4312,7 +4312,7 @@ Task_ActuallyToss: @ 81AD150 beq _081AD1CE movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r5, 0x10] bl RemoveBagItem @@ -4326,7 +4326,7 @@ Task_ActuallyToss: @ 81AD150 bl sub_81ABA88 ldrb r0, [r4, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r8 ldrh r1, [r2] ldrh r2, [r7] @@ -4369,7 +4369,7 @@ ItemMenu_Register: @ 81AD1EC ldr r0, [r0] ldr r2, =0x00000496 adds r1, r0, r2 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r2, [r0] ldrh r0, [r1] cmp r0, r2 @@ -4388,7 +4388,7 @@ _081AD23A: ldr r0, =gUnknown_0203CE58 ldrb r0, [r0, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r6] ldrh r2, [r5] bl ListMenuInit @@ -4412,7 +4412,7 @@ ItemMenu_Give: @ 81AD278 lsrs r4, r0, 24 adds r6, r4, 0 bl bag_menu_remove_some_window - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -4476,7 +4476,7 @@ bag_menu_print_cant_be_held_msg: @ 81AD30C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4524,7 +4524,7 @@ ItemMenu_CheckTag: @ 81AD378 lsrs r0, 24 ldr r1, =gUnknown_0203CE54 ldr r2, [r1] - ldr r1, =sub_8177C14 + ldr r1, =DoBerryTagScreen str r1, [r2] bl unknown_ItemMenu_Confirm pop {r0} @@ -4567,7 +4567,7 @@ ItemMenu_UseInBattle: @ 81AD3DC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl ItemId_GetBattleFunc cmp r0, 0 @@ -4601,7 +4601,7 @@ item_menu_type_2: @ 81AD41C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -4662,9 +4662,9 @@ item_menu_type_b: @ 81AD4B4 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4748,10 +4748,10 @@ _081AD550: cmp r6, 0x1 bne _081AD5C4 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId ldr r0, [r4] adds r0, r5 ldrh r1, [r0] @@ -4775,7 +4775,7 @@ _081AD5C4: adds r0, r5 strh r7, [r0] _081AD5CA: - ldr r0, =gUnknown_082736B3 + ldr r0, =EventScript_2736B3 bl ScriptContext1_SetupScript _081AD5D0: movs r0, 0x1 @@ -4798,7 +4798,7 @@ display_sell_item_ask_str: @ 81AD5DC lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 - ldr r6, =gScriptItemId + ldr r6, =gSpecialVar_ItemId ldrh r0, [r6] bl itemid_get_market_price lsls r0, 16 @@ -4861,7 +4861,7 @@ sub_81AD680: @ 81AD680 ldr r0, =gTasks + 0x8 adds r4, r0 ldr r6, =gStringVar1 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -4944,7 +4944,7 @@ sub_81AD730: @ 81AD730 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -4996,7 +4996,7 @@ sub_81AD794: @ 81AD794 ldrb r4, [r0] movs r2, 0x10 ldrsh r5, [r6, r2] - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -5061,7 +5061,7 @@ sub_81AD84C: @ 81AD84C lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r6, =gScriptItemId + ldr r6, =gSpecialVar_ItemId ldrh r0, [r6] ldr r1, =gStringVar2 bl CopyItemName @@ -5122,7 +5122,7 @@ sub_81AD8C8: @ 81AD8C8 adds r5, r0 movs r0, 0x5F bl PlaySE - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId mov r8, r2 ldrh r0, [r2] mov r3, r10 @@ -5155,7 +5155,7 @@ sub_81AD8C8: @ 81AD8C8 bl sub_81ABA88 ldrb r0, [r7, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r9 ldrh r1, [r2] ldrh r2, [r5] @@ -5241,7 +5241,7 @@ display_deposit_item_ask_str: @ 81AD9EC b _081ADA5E .pool _081ADA18: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -5366,7 +5366,7 @@ sub_81ADB14: @ 81ADB14 movs r0, 0x1 movs r1, 0 bl FillWindowPixelBuffer - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -5690,7 +5690,7 @@ _081ADDEC: ldrb r0, [r4] movs r1, 0x2 bl bag_menu_print_cursor_ - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId movs r0, 0x4 strh r0, [r1] adds r0, r5, 0 @@ -5726,10 +5726,10 @@ unknown_ItemMenu_Show: @ 81ADE38 lsls r4, 24 lsrs r4, 24 ldr r1, =gSpecialVar_0x8005 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] strh r0, [r1] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl bag_menu_remove_some_window @@ -5760,11 +5760,11 @@ unknown_ItemMenu_Give2: @ 81ADE8C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl bag_menu_remove_some_window @@ -5795,7 +5795,7 @@ unknown_ItemMenu_Confirm2: @ 81ADEDC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl bag_menu_remove_some_window @@ -6043,7 +6043,7 @@ bag_menu_print: @ 81AE0BC str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/item_menu_icons.s b/asm/item_menu_icons.s index 1adc0feb7..8068e37c2 100755..100644 --- a/asm/item_menu_icons.s +++ b/asm/item_menu_icons.s @@ -348,7 +348,7 @@ AddBagItemIconObject: @ 80D4F38 adds r0, r4, 0 adds r1, r4, 0 adds r2, r6, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 @@ -527,8 +527,8 @@ _080D5082: .pool thumb_func_end sub_80D5070 - thumb_func_start sub_80D50D4 -sub_80D50D4: @ 80D50D4 + thumb_func_start CreateBerryTagSprite +CreateBerryTagSprite: @ 80D50D4 push {r4,r5,lr} adds r4, r1, 0 adds r5, r2, 0 @@ -554,17 +554,17 @@ sub_80D50D4: @ 80D50D4 pop {r1} bx r1 .pool - thumb_func_end sub_80D50D4 + thumb_func_end CreateBerryTagSprite - thumb_func_start sub_80D510C -sub_80D510C: @ 80D510C + thumb_func_start FreeBerryTagSpritePalette +FreeBerryTagSpritePalette: @ 80D510C push {lr} ldr r0, =0x00007544 bl FreeSpritePaletteByTag pop {r0} bx r0 .pool - thumb_func_end sub_80D510C + thumb_func_end FreeBerryTagSpritePalette thumb_func_start sub_80D511C sub_80D511C: @ 80D511C @@ -617,8 +617,8 @@ _080D5172: .pool thumb_func_end sub_80D511C - thumb_func_start sub_80D518C -sub_80D518C: @ 80D518C + thumb_func_start CreateBerryFlavorCircleSprite +CreateBerryFlavorCircleSprite: @ 80D518C push {lr} adds r1, r0, 0 ldr r0, =gUnknown_0857FE10 @@ -632,6 +632,6 @@ sub_80D518C: @ 80D518C pop {r1} bx r1 .pool - thumb_func_end sub_80D518C + thumb_func_end CreateBerryFlavorCircleSprite .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_use.s b/asm/item_use.s deleted file mode 100644 index d3c724166..000000000 --- a/asm/item_use.s +++ /dev/null @@ -1,2863 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpItemUseCallback -@ void SetUpItemUseCallback(u8 taskId) -SetUpItemUseCallback: @ 80FD060 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gScriptItemId - ldrh r0, [r1] - cmp r0, 0xAF - bne _080FD084 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x10] - b _080FD08A - .pool -_080FD084: - ldrh r0, [r1] - bl ItemId_GetType -_080FD08A: - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FD0B8 - ldr r0, =gUnknown_0203CE54 - ldr r2, [r0] - ldr r1, =gUnknown_085920D8 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - adds r0, r5, 0 - bl unknown_ItemMenu_Confirm - b _080FD0CC - .pool -_080FD0B8: - ldr r0, =gUnknown_0203CF2C - ldr r2, [r0] - ldr r1, =gUnknown_085920D8 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - adds r0, r5, 0 - bl sub_81C5B14 -_080FD0CC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetUpItemUseCallback - - thumb_func_start SetUpItemUseOnFieldCallback -@ void SetUpItemUseOnFieldCallback() -SetUpItemUseOnFieldCallback: @ 80FD0DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080FD110 - ldr r1, =gFieldCallback - ldr r0, =MapPostLoadHook_UseItem - str r0, [r1] - adds r0, r2, 0 - bl SetUpItemUseCallback - b _080FD11A - .pool -_080FD110: - ldr r0, =gUnknown_0203A0F4 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 -_080FD11A: - pop {r0} - bx r0 - .pool - thumb_func_end SetUpItemUseOnFieldCallback - - thumb_func_start MapPostLoadHook_UseItem -@ void MapPostLoadHook_UseItem() -MapPostLoadHook_UseItem: @ 80FD124 - push {lr} - bl pal_fill_black - ldr r0, =Task_CallItemUseOnFieldCallback - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end MapPostLoadHook_UseItem - - thumb_func_start Task_CallItemUseOnFieldCallback -@ void Task_CallItemUseOnFieldCallback(u8 taskId) -Task_CallItemUseOnFieldCallback: @ 80FD13C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80ABDFC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD158 - ldr r0, =gUnknown_0203A0F4 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_080FD158: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Task_CallItemUseOnFieldCallback - - thumb_func_start DisplayCannotUseItemMessage -@ void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, u8 *str) -DisplayCannotUseItemMessage: @ 80FD164 - push {r4-r6,lr} - adds r4, r1, 0 - adds r1, r2, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gStringVar4 - adds r0, r6, 0 - bl StringExpandPlaceholders - cmp r4, 0 - bne _080FD1B4 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FD1A0 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r6, 0 - bl DisplayItemMessage - b _080FD1BE - .pool -_080FD1A0: - ldr r1, =gText_DadsAdvice - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid - b _080FD1BE - .pool -_080FD1B4: - ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField - adds r0, r5, 0 - adds r1, r6, 0 - bl DisplayItemMessageOnField -_080FD1BE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end DisplayCannotUseItemMessage - - thumb_func_start DisplayDadsAdviceCannotUseItemMessage -@ void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) -DisplayDadsAdviceCannotUseItemMessage: @ 80FD1C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gText_DadsAdvice - bl DisplayCannotUseItemMessage - pop {r0} - bx r0 - .pool - thumb_func_end DisplayDadsAdviceCannotUseItemMessage - - thumb_func_start DisplayCannotDismountBikeMessage -@ void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) -DisplayCannotDismountBikeMessage: @ 80FD1E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gText_CantDismountBike - bl DisplayCannotUseItemMessage - pop {r0} - bx r0 - .pool - thumb_func_end DisplayCannotDismountBikeMessage - - thumb_func_start CleanUpAfterFailingToUseRegisteredKeyItemOnField -@ void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId) -CleanUpAfterFailingToUseRegisteredKeyItemOnField: @ 80FD1F8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - adds r0, r4, 0 - bl DestroyTask - bl sub_80984F4 - bl ScriptContext2_Disable - pop {r4} - pop {r0} - bx r0 - thumb_func_end CleanUpAfterFailingToUseRegisteredKeyItemOnField - - thumb_func_start CheckIfItemIsTMHMOrEvolutionStone -@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) -CheckIfItemIsTMHMOrEvolutionStone: @ 80FD21C - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl ItemId_GetFieldFunc - ldr r1, =ItemUseOutOfBattle_TMHM - cmp r0, r1 - bne _080FD238 - movs r0, 0x1 - b _080FD24E - .pool -_080FD238: - adds r0, r4, 0 - bl ItemId_GetFieldFunc - ldr r1, =ItemUseOutOfBattle_EvolutionStone - cmp r0, r1 - beq _080FD24C - movs r0, 0 - b _080FD24E - .pool -_080FD24C: - movs r0, 0x2 -_080FD24E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckIfItemIsTMHMOrEvolutionStone - - thumb_func_start sub_80FD254 -sub_80FD254: @ 80FD254 - push {lr} - sub sp, 0x24 - mov r1, sp - ldr r0, =gScriptItemId - ldrh r0, [r0] - strh r0, [r1, 0x20] - ldr r1, =bag_menu_mail_related - mov r0, sp - movs r2, 0 - bl sub_8121478 - add sp, 0x24 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FD254 - - thumb_func_start ItemUseOutOfBattle_Mail -@ void ItemUseOutOfBattle_Mail(int taskId) -ItemUseOutOfBattle_Mail: @ 80FD278 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CE54 - ldr r2, [r1] - ldr r1, =sub_80FD254 - str r1, [r2] - bl unknown_ItemMenu_Confirm - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Mail - - thumb_func_start ItemUseOutOfBattle_Bike -@ void ItemUseOutOfBattle_Bike(int taskId) -ItemUseOutOfBattle_Bike: @ 80FD298 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =0x0000088b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsHorizontalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedVerticalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD320 -_080FD30E: - ldrb r1, [r6, 0x6] - adds r0, r5, 0 - bl DisplayCannotDismountBikeMessage - b _080FD350 - .pool -_080FD320: - bl sav1_map_is_biking_allowed - cmp r0, 0x1 - bne _080FD348 - bl sub_8119FF8 - lsls r0, 24 - cmp r0, 0 - bne _080FD348 - ldr r1, =gUnknown_0203A0F4 - ldr r0, =ItemUseOnFieldCB_Bike - str r0, [r1] - adds r0, r5, 0 - bl SetUpItemUseOnFieldCallback - b _080FD350 - .pool -_080FD348: - ldrb r1, [r6, 0x6] - adds r0, r5, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FD350: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ItemUseOutOfBattle_Bike - - thumb_func_start ItemUseOnFieldCB_Bike -ItemUseOnFieldCB_Bike: @ 80FD358 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetSecondaryId - lsls r0, 24 - cmp r0, 0 - bne _080FD378 - movs r0, 0x2 - bl GetOnOffBike - b _080FD37E - .pool -_080FD378: - movs r0, 0x4 - bl GetOnOffBike -_080FD37E: - bl sub_80984F4 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end ItemUseOnFieldCB_Bike - - thumb_func_start CanFish -@ bool8 CanFish() -CanFish: @ 80FD394 - push {r4-r6,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r6, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - cmp r0, 0 - bne _080FD41C - movs r0, 0x10 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080FD41C - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080FD3EC - bl IsPlayerFacingSurfableFishableWater - lsls r0, 24 - cmp r0, 0 - beq _080FD41C -_080FD3E8: - movs r0, 0x1 - b _080FD41E -_080FD3EC: - adds r0, r5, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - beq _080FD40C - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridIsImpassableAt - lsls r0, 24 - cmp r0, 0 - beq _080FD3E8 -_080FD40C: - lsls r0, r6, 24 - lsrs r0, 24 - bl MetatileBehavior_8089510 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD3E8 -_080FD41C: - movs r0, 0 -_080FD41E: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CanFish - - thumb_func_start ItemUseOutOfBattle_Rod -ItemUseOutOfBattle_Rod: @ 80FD428 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl CanFish - cmp r0, 0x1 - bne _080FD44C - ldr r1, =gUnknown_0203A0F4 - ldr r0, =ItemUseOnFieldCB_Rod - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - b _080FD45E - .pool -_080FD44C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FD45E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Rod - - thumb_func_start ItemUseOnFieldCB_Rod -ItemUseOnFieldCB_Rod: @ 80FD468 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetSecondaryId - lsls r0, 24 - lsrs r0, 24 - bl StartFishing - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOnFieldCB_Rod - - thumb_func_start ItemUseOutOfBattle_Itemfinder -ItemUseOutOfBattle_Itemfinder: @ 80FD490 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x27 - bl IncrementGameStat - ldr r1, =gUnknown_0203A0F4 - ldr r0, =ItemUseOnFieldCB_Itemfinder - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Itemfinder - - thumb_func_start ItemUseOnFieldCB_Itemfinder -ItemUseOnFieldCB_Itemfinder: @ 80FD4B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMapHeader - ldr r0, [r0, 0x4] - adds r1, r4, 0 - bl ItemfinderCheckForHiddenItems - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD4EC - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80FD504 - str r0, [r1] - b _080FD4F6 - .pool -_080FD4EC: - ldr r1, =gText_ItemFinderNothing - ldr r2, =sub_80FD5CC - adds r0, r4, 0 - bl DisplayItemMessageOnField -_080FD4F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOnFieldCB_Itemfinder - - thumb_func_start sub_80FD504 -sub_80FD504: @ 80FD504 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r6, r5, 2 - adds r0, r6, r5 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r4, r7, r0 - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080FD5B8 - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x4 - bne _080FD5AC - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl sub_80FD9B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080FD564 - ldr r1, =gUnknown_085920E4 - subs r0, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80FDA24 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, =sub_80FDA94 - str r1, [r0] - b _080FD5C2 - .pool -_080FD564: - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - adds r3, r6, 0 - ldr r7, =gUnknown_085920E4 - movs r6, 0x3 -_080FD574: - adds r0, r1, r7 - adds r1, 0x1 - ldrb r0, [r0] - cmp r2, r0 - bne _080FD584 - adds r0, r1, 0 - ands r0, r6 - strh r0, [r4, 0xA] -_080FD584: - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080FD574 - ldr r1, =gTasks - adds r0, r3, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80FDADC - str r1, [r0] - movs r0, 0 - strh r0, [r4, 0x6] - strh r0, [r4, 0x4] - b _080FD5C2 - .pool -_080FD5AC: - movs r0, 0x48 - bl PlaySE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080FD5B8: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r4, 0x6] -_080FD5C2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FD504 - - thumb_func_start sub_80FD5CC -sub_80FD5CC: @ 80FD5CC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - bl sub_80984F4 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FD5CC - - thumb_func_start ItemfinderCheckForHiddenItems -@ bool8 ItemfinderCheckForHiddenItems(struct map_events *events, u8 taskId) -ItemfinderCheckForHiddenItems: @ 80FD5F0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - movs r3, 0 - mov r9, r4 - ldrb r0, [r5, 0x3] - cmp r3, r0 - bge _080FD6A4 - subs r1, 0x5 - mov r8, r1 -_080FD628: - lsls r3, 16 - asrs r1, r3, 16 - ldr r2, [r5, 0x10] - lsls r0, r1, 1 - adds r0, r1 - lsls r4, r0, 2 - adds r1, r4, r2 - ldrb r0, [r1, 0x5] - adds r7, r3, 0 - cmp r0, 0x7 - bne _080FD694 - movs r2, 0xFA - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r1, 0xA] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080FD694 - ldr r1, [r5, 0x10] - adds r1, r4, r1 - ldrh r2, [r1] - adds r2, 0x7 - mov r0, sp - ldrh r0, [r0] - subs r2, r0 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - mov r3, r9 - ldrh r1, [r3] - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - asrs r1, r2, 16 - movs r3, 0xE0 - lsls r3, 11 - adds r2, r3 - lsrs r2, 16 - cmp r2, 0xE - bhi _080FD694 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, r8 - blt _080FD694 - cmp r2, 0x5 - bgt _080FD694 - adds r0, r6, 0 - bl sub_80FD8E0 -_080FD694: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r3, r0, 16 - asrs r0, 16 - ldrb r2, [r5, 0x3] - cmp r0, r2 - blt _080FD628 -_080FD6A4: - adds r0, r6, 0 - bl sub_80FD7C8 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x1 - beq _080FD6C4 - movs r0, 0 - b _080FD6C6 - .pool -_080FD6C4: - movs r0, 0x1 -_080FD6C6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ItemfinderCheckForHiddenItems - - thumb_func_start sub_80FD6D4 -sub_80FD6D4: @ 80FD6D4 - push {r4-r6,lr} - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - ldrb r2, [r0, 0x3] - ldr r5, [r0, 0x10] - movs r1, 0 - cmp r1, r2 - bge _080FD728 - lsls r0, r3, 16 - asrs r6, r0, 16 - lsls r0, r4, 16 - asrs r4, r0, 16 - adds r3, r5, 0 -_080FD6F2: - ldrb r0, [r3, 0x5] - cmp r0, 0x7 - bne _080FD720 - ldrh r0, [r3] - cmp r6, r0 - bne _080FD720 - ldrh r0, [r3, 0x2] - cmp r4, r0 - bne _080FD720 - movs r1, 0xFA - lsls r1, 1 - adds r0, r1, 0 - ldrh r3, [r3, 0xA] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080FD728 - movs r0, 0x1 - b _080FD72A -_080FD720: - adds r3, 0xC - adds r1, 0x1 - cmp r1, r2 - blt _080FD6F2 -_080FD728: - movs r0, 0 -_080FD72A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FD6D4 - - thumb_func_start sub_80FD730 -sub_80FD730: @ 80FD730 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl mapconnection_get_mapheader - adds r3, r0, 0 - ldrb r0, [r4] - cmp r0, 0x2 - beq _080FD758 - cmp r0, 0x2 - bgt _080FD74E - cmp r0, 0x1 - beq _080FD76C - b _080FD7AC -_080FD74E: - cmp r0, 0x3 - beq _080FD784 - cmp r0, 0x4 - beq _080FD78E - b _080FD7AC -_080FD758: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0x7 - adds r0, r6 - b _080FD7A2 -_080FD76C: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gMapHeader - ldr r0, [r0] - ldr r0, [r0, 0x4] - b _080FD79E - .pool -_080FD784: - ldr r0, [r3] - ldr r0, [r0] - subs r0, 0x7 - adds r0, r5 - b _080FD798 -_080FD78E: - ldr r0, =gMapHeader - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x7 - subs r0, r5, r0 -_080FD798: - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r4, 0x4] -_080FD79E: - adds r0, 0x7 - subs r0, r6, r0 -_080FD7A2: - lsls r0, 16 - lsrs r2, r0, 16 - b _080FD7B0 - .pool -_080FD7AC: - movs r0, 0 - b _080FD7C2 -_080FD7B0: - ldr r0, [r3, 0x4] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - bl sub_80FD6D4 - lsls r0, 24 - lsrs r0, 24 -_080FD7C2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FD730 - - thumb_func_start sub_80FD7C8 -sub_80FD7C8: @ 80FD7C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, =gMapHeader - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldr r0, [r1, 0x4] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - adds r1, 0x7 - cmp r0, r1 - bgt _080FD8CC -_080FD816: - mov r5, sp - ldrh r0, [r5, 0x2] - subs r0, 0x5 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - movs r6, 0x2 - ldrsh r0, [r5, r6] - adds r0, 0x5 - lsls r3, 16 - mov r8, r3 - cmp r1, r0 - bgt _080FD8B6 - movs r0, 0x7 - str r0, [sp, 0x10] - mov r1, r8 - asrs r1, 16 - mov r9, r1 - mov r10, r0 -_080FD83E: - ldr r3, [sp, 0x10] - cmp r3, r9 - bgt _080FD860 - ldr r5, [sp, 0x8] - lsls r0, r5, 16 - asrs r0, 16 - cmp r9, r0 - bge _080FD860 - asrs r1, r2, 16 - cmp r10, r1 - bgt _080FD860 - ldr r6, [sp, 0xC] - lsls r0, r6, 16 - asrs r0, 16 - lsls r7, r4, 16 - cmp r1, r0 - blt _080FD89E -_080FD860: - mov r0, r8 - asrs r5, r0, 16 - lsls r4, 16 - asrs r6, r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8088A8C - adds r7, r4, 0 - cmp r0, 0 - beq _080FD89E - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_80FD730 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD89E - mov r0, sp - ldrh r1, [r0] - subs r1, r5, r1 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, r6, r2 - lsls r2, 16 - asrs r2, 16 - ldr r0, [sp, 0x4] - bl sub_80FD8E0 -_080FD89E: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - mov r3, sp - movs r5, 0x2 - ldrsh r0, [r3, r5] - adds r0, 0x5 - cmp r1, r0 - ble _080FD83E -_080FD8B6: - movs r1, 0x80 - lsls r1, 9 - add r1, r8 - lsrs r3, r1, 16 - asrs r1, 16 - mov r0, sp - movs r6, 0 - ldrsh r0, [r0, r6] - adds r0, 0x7 - cmp r1, r0 - ble _080FD816 -_080FD8CC: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FD7C8 - - thumb_func_start sub_80FD8E0 -sub_80FD8E0: @ 80FD8E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r3, r1, r0 - movs r1, 0x4 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080FD918 - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] - movs r0, 0x1 - strh r0, [r3, 0x4] - b _080FD9A2 - .pool -_080FD918: - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0 - bge _080FD928 - negs r0, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _080FD92A -_080FD928: - ldrh r4, [r3] -_080FD92A: - movs r1, 0x2 - ldrsh r0, [r3, r1] - ldrh r1, [r3, 0x2] - mov r9, r1 - cmp r0, 0 - bge _080FD93E - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - b _080FD940 -_080FD93E: - ldrh r2, [r3, 0x2] -_080FD940: - lsls r1, r7, 16 - asrs r0, r1, 16 - cmp r0, 0 - bge _080FD950 - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - b _080FD952 -_080FD950: - lsrs r6, r1, 16 -_080FD952: - mov r1, r12 - lsls r0, r1, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r1, 0 - bge _080FD964 - negs r0, r1 - lsls r0, 16 - b _080FD966 -_080FD964: - mov r0, r8 -_080FD966: - lsrs r5, r0, 16 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r2, r1, 16 - adds r4, r0, r2 - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - adds r0, r1 - cmp r4, r0 - ble _080FD988 - strh r7, [r3] - mov r1, r12 - strh r1, [r3, 0x2] - b _080FD9A2 -_080FD988: - cmp r4, r0 - bne _080FD9A2 - cmp r2, r1 - bgt _080FD99C - cmp r2, r1 - bne _080FD9A2 - mov r1, r9 - lsls r0, r1, 16 - cmp r0, r8 - bge _080FD9A2 -_080FD99C: - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] -_080FD9A2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FD8E0 - - thumb_func_start sub_80FD9B0 -sub_80FD9B0: @ 80FD9B0 - push {r4,r5,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r0, 16 - cmp r0, 0 - bne _080FD9C2 - cmp r1, 0 - beq _080FDA1C -_080FD9C2: - lsls r0, r2, 16 - asrs r2, r0, 16 - adds r5, r0, 0 - cmp r2, 0 - bge _080FD9D4 - negs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - b _080FD9D6 -_080FD9D4: - lsrs r4, r5, 16 -_080FD9D6: - lsls r0, r1, 16 - asrs r2, r0, 16 - adds r1, r0, 0 - cmp r2, 0 - bge _080FD9E8 - negs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - b _080FD9EA -_080FD9E8: - lsrs r3, r1, 16 -_080FD9EA: - lsls r0, r4, 16 - asrs r2, r0, 16 - lsls r0, r3, 16 - asrs r0, 16 - cmp r2, r0 - ble _080FDA02 - cmp r5, 0 - bge _080FD9FE - movs r0, 0x4 - b _080FDA1E -_080FD9FE: - movs r0, 0x2 - b _080FDA1E -_080FDA02: - cmp r2, r0 - bge _080FDA0C - cmp r1, 0 - blt _080FDA14 - b _080FDA18 -_080FDA0C: - cmp r2, r0 - bne _080FDA1C - cmp r1, 0 - bge _080FDA18 -_080FDA14: - movs r0, 0x1 - b _080FDA1E -_080FDA18: - movs r0, 0x3 - b _080FDA1E -_080FDA1C: - movs r0, 0 -_080FDA1E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FD9B0 - - thumb_func_start sub_80FDA24 -sub_80FDA24: @ 80FDA24 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, =gMapObjects - adds r0, r4 - bl FieldObjectClearAnimIfSpecialAnimFinished - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FieldObjectClearAnim - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl npc_sync_anim_pause_bits - adds r0, r5, 0 - bl PlayerTurnInPlace - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDA24 - - thumb_func_start sub_80FDA94 -sub_80FDA94: @ 80FDA94 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDACA - ldr r1, =gText_ItemFinderNearby - ldr r2, =sub_80FD5CC - adds r0, r4, 0 - bl DisplayItemMessageOnField -_080FDACA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDA94 - - thumb_func_start sub_80FDADC -sub_80FDADC: @ 80FDADC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FDB1C - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080FDB50 -_080FDB1C: - ldr r1, =gUnknown_085920E4 - movs r2, 0xA - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - bl sub_80FDA24 - movs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080FDB50 - ldr r1, =gText_ItemFinderOnTop - ldr r2, =sub_80FD5CC - adds r0, r5, 0 - bl DisplayItemMessageOnField -_080FDB50: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDADC - - thumb_func_start ItemUseOutOfBattle_PokeblockCase -ItemUseOutOfBattle_PokeblockCase: @ 80FDB6C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDB98 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage - b _080FDBDA - .pool -_080FDB98: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r5, r1, r0 - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080FDBC8 - ldr r0, =gUnknown_0203CE54 - ldr r1, [r0] - ldr r0, =sub_80FDBEC - str r0, [r1] - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FDBDA - .pool -_080FDBC8: - ldr r0, =gFieldCallback - ldr r1, =sub_80AF6D4 - str r1, [r0] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r0, =sub_80FDC00 - str r0, [r5] -_080FDBDA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PokeblockCase - - thumb_func_start sub_80FDBEC -sub_80FDBEC: @ 80FDBEC - push {lr} - ldr r1, =bag_menu_mail_related - movs r0, 0 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDBEC - - thumb_func_start sub_80FDC00 -sub_80FDC00: @ 80FDC00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080FDC24 - bl overworld_free_bg_tilemaps - ldr r1, =c2_exit_to_overworld_2_switch - movs r0, 0 - bl sub_81357FC - adds r0, r4, 0 - bl DestroyTask -_080FDC24: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDC00 - - thumb_func_start ItemUseOutOfBattle_CoinCase -ItemUseOutOfBattle_CoinCase: @ 80FDC34 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gStringVar1 - bl GetCoins - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_CoinCase - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080FDC90 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl DisplayItemMessage - b _080FDC9A - .pool -_080FDC90: - ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField - adds r0, r5, 0 - adds r1, r4, 0 - bl DisplayItemMessageOnField -_080FDC9A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_CoinCase - - thumb_func_start ItemUseOutOfBattle_PowderJar -ItemUseOutOfBattle_PowderJar: @ 80FDCA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gStringVar1 - bl sub_80247BC - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_PowderQty - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080FDCFC - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl DisplayItemMessage - b _080FDD06 - .pool -_080FDCFC: - ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField - adds r0, r5, 0 - adds r1, r4, 0 - bl DisplayItemMessageOnField -_080FDD06: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PowderJar - - thumb_func_start sub_80FDD10 -sub_80FDD10: @ 80FDD10 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsPlayerFacingPlantedBerryTree - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDD58 - ldr r1, =gUnknown_0203A0F4 - ldr r0, =sub_80FDD74 - str r0, [r1] - ldr r1, =gFieldCallback - ldr r0, =MapPostLoadHook_UseItem - str r0, [r1] - ldr r0, =gUnknown_0203CE54 - ldr r1, [r0] - ldr r0, =c2_exit_to_overworld_2_switch - str r0, [r1] - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FDD68 - .pool -_080FDD58: - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r4, 0 - bl _call_via_r1 -_080FDD68: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDD10 - - thumb_func_start sub_80FDD74 -sub_80FDD74: @ 80FDD74 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem - bl ScriptContext2_Enable - ldr r0, =gUnknown_08274482 - bl ScriptContext1_SetupScript - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDD74 - - thumb_func_start ItemUseOutOfBattle_WailmerPail -ItemUseOutOfBattle_WailmerPail: @ 80FDDA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80FDE2C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDDC8 - ldr r1, =gUnknown_0203A0F4 - ldr r0, =sub_80FDE7C - b _080FDDD8 - .pool -_080FDDC8: - bl TryToWaterBerryTree - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDDEC - ldr r1, =gUnknown_0203A0F4 - ldr r0, =sub_80FDE08 -_080FDDD8: - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - b _080FDDFE - .pool -_080FDDEC: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r5, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FDDFE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_WailmerPail - - thumb_func_start sub_80FDE08 -sub_80FDE08: @ 80FDE08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - ldr r0, =gUnknown_082744C0 - bl ScriptContext1_SetupScript - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDE08 - - thumb_func_start sub_80FDE2C -sub_80FDE2C: @ 80FDE2C - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - bl PlayerGetZCoord - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - mov r0, sp - ldrh r0, [r0] - ldrh r1, [r4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _080FDE68 - ldr r0, =gMapObjects - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x5] - cmp r0, 0xE4 - beq _080FDE70 -_080FDE68: - movs r0, 0 - b _080FDE72 - .pool -_080FDE70: - movs r0, 0x1 -_080FDE72: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FDE2C - - thumb_func_start sub_80FDE7C -sub_80FDE7C: @ 80FDE7C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - ldr r0, =gUnknown_08242CFC - bl ScriptContext1_SetupScript - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDE7C - - thumb_func_start ItemUseOutOfBattle_Medicine -ItemUseOutOfBattle_Medicine: @ 80FDEA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =ItemUseCB_Medicine - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Medicine - - thumb_func_start ItemUseOutOfBattle_ReduceEV -ItemUseOutOfBattle_ReduceEV: @ 80FDEBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B67C8 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_ReduceEV - - thumb_func_start ItemUseOutOfBattle_SacredAsh -ItemUseOutOfBattle_SacredAsh: @ 80FDED8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B79E8 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_SacredAsh - - thumb_func_start ItemUseOutOfBattle_PPRecovery -ItemUseOutOfBattle_PPRecovery: @ 80FDEF4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_ether - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PPRecovery - - thumb_func_start ItemUseOutOfBattle_PPUp -ItemUseOutOfBattle_PPUp: @ 80FDF10 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_pp_up - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PPUp - - thumb_func_start ItemUseOutOfBattle_RareCandy -ItemUseOutOfBattle_RareCandy: @ 80FDF2C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_rare_candy - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_RareCandy - - thumb_func_start ItemUseOutOfBattle_TMHM -ItemUseOutOfBattle_TMHM: @ 80FDF48 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r1, [r0] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bls _080FDF74 - ldr r2, =gText_BootedUpHM - ldr r3, =sub_80FDF90 - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FDF80 - .pool -_080FDF74: - ldr r2, =gText_BootedUpTM - ldr r3, =sub_80FDF90 - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage -_080FDF80: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_TMHM - - thumb_func_start sub_80FDF90 -sub_80FDF90: @ 80FDF90 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - bl PlaySE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task08_0809AD8C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDF90 - - thumb_func_start task08_0809AD8C -task08_0809AD8C: @ 80FDFBC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080FE000 - ldr r4, =gStringVar1 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_TMHMContainedVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, =sub_80FE024 - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl DisplayItemMessage -_080FE000: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task08_0809AD8C - - thumb_func_start sub_80FE024 -sub_80FE024: @ 80FE024 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_085920E8 - movs r1, 0x6 - bl bag_menu_yes_no - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE024 - - thumb_func_start sub_80FE03C -sub_80FE03C: @ 80FE03C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B6DC4 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE03C - - thumb_func_start sub_80FE058 -sub_80FE058: @ 80FE058 - push {r4,lr} - ldr r4, =gScriptItemId - ldrh r0, [r4] - movs r1, 0x1 - bl RemoveBagItem - ldrh r0, [r4] - ldr r1, =gStringVar2 - bl CopyItemName - ldr r0, =gStringVar4 - ldr r1, =gText_PlayerUsedVar2 - bl StringExpandPlaceholders - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE0AC - ldrh r0, [r4] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - bl sub_81AB9A8 - ldrh r0, [r4] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - bl sub_81ABA88 - b _080FE0B4 - .pool -_080FE0AC: - bl sub_81C5924 - bl sub_81C59BC -_080FE0B4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FE058 - - thumb_func_start ItemUseOutOfBattle_Repel -ItemUseOutOfBattle_Repel: @ 80FE0BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =0x00004021 - bl VarGet - lsls r0, 16 - cmp r0, 0 - bne _080FE0EC - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80FE124 - str r0, [r1] - b _080FE116 - .pool -_080FE0EC: - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE10C - ldr r2, =gText_RepelEffectsLingered - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE116 - .pool -_080FE10C: - ldr r1, =gText_RepelEffectsLingered - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid -_080FE116: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Repel - - thumb_func_start sub_80FE124 -sub_80FE124: @ 80FE124 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r5, =gTasks + 0x8 - adds r1, r4, r5 - ldrh r0, [r1, 0x10] - adds r0, 0x1 - strh r0, [r1, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080FE156 - movs r0, 0 - strh r0, [r1, 0x10] - movs r0, 0x2F - bl PlaySE - adds r0, r5, 0 - subs r0, 0x8 - adds r0, r4, r0 - ldr r1, =sub_80FE164 - str r1, [r0] -_080FE156: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE124 - - thumb_func_start sub_80FE164 -sub_80FE164: @ 80FE164 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _080FE1C2 - ldr r4, =0x00004021 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetHoldEffectParam - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl VarSet - bl sub_80FE058 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE1B8 - ldr r2, =gStringVar4 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE1C2 - .pool -_080FE1B8: - ldr r1, =gStringVar4 - ldr r2, =sub_81C6714 - adds r0, r6, 0 - bl DisplayItemMessageInBattlePyramid -_080FE1C2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE164 - - thumb_func_start sub_80FE1D0 -sub_80FE1D0: @ 80FE1D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080FE226 - movs r0, 0x75 - bl PlaySE - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE21C - ldr r2, =gStringVar4 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE226 - .pool -_080FE21C: - ldr r1, =gStringVar4 - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid -_080FE226: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE1D0 - - thumb_func_start ItemUseOutOfBattle_BlackWhiteFlute -ItemUseOutOfBattle_BlackWhiteFlute: @ 80FE234 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gScriptItemId - ldrh r0, [r4] - ldr r1, =gStringVar2 - bl CopyItemName - ldrh r0, [r4] - cmp r0, 0x2B - bne _080FE278 - ldr r0, =0x000008ad - bl FlagSet - ldr r0, =0x000008ae - bl FlagClear - ldr r0, =gStringVar4 - ldr r1, =gText_UsedVar2WildLured - bl StringExpandPlaceholders - b _080FE28C - .pool -_080FE278: - ldr r0, =0x000008ae - bl FlagSet - ldr r0, =0x000008ad - bl FlagClear - ldr r0, =gStringVar4 - ldr r1, =gText_UsedVar2WildRepelled - bl StringExpandPlaceholders -_080FE28C: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x18] - ldr r1, =sub_80FE1D0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_BlackWhiteFlute - - thumb_func_start task08_080A1C44 -task08_080A1C44: @ 80FE2BC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl player_avatar_init_params_reset - bl sub_80B7CC8 - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end task08_080A1C44 - - thumb_func_start re_escape_rope -re_escape_rope: @ 80FE2D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl flagmods_08054D70 - bl sub_80FE058 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =gStringVar4 - ldr r2, =task08_080A1C44 - adds r0, r4, 0 - bl DisplayItemMessageOnField - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end re_escape_rope - - thumb_func_start sub_80FE314 -sub_80FE314: @ 80FE314 - push {lr} - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080FE32C - movs r0, 0 - b _080FE32E - .pool -_080FE32C: - movs r0, 0x1 -_080FE32E: - pop {r1} - bx r1 - thumb_func_end sub_80FE314 - - thumb_func_start ItemUseOutOfBattle_EscapeRope -ItemUseOutOfBattle_EscapeRope: @ 80FE334 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80FE314 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FE35C - ldr r1, =gUnknown_0203A0F4 - ldr r0, =re_escape_rope - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - b _080FE36E - .pool -_080FE35C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FE36E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_EscapeRope - - thumb_func_start ItemUseOutOfBattle_EvolutionStone -ItemUseOutOfBattle_EvolutionStone: @ 80FE378 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B7C74 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_EvolutionStone - - thumb_func_start ItemUseInBattle_PokeBall -ItemUseInBattle_PokeBall: @ 80FE394 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl IsPlayerPartyAndPokemonStorageFull - lsls r0, 24 - cmp r0, 0 - bne _080FE3D0 - ldr r0, =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE3C8 - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FE3FA - .pool -_080FE3C8: - adds r0, r4, 0 - bl sub_81C5B14 - b _080FE3FA -_080FE3D0: - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE3F0 - ldr r2, =gText_BoxFull - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE3FA - .pool -_080FE3F0: - ldr r1, =gText_BoxFull - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid -_080FE3FA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_PokeBall - - thumb_func_start sub_80FE408 -sub_80FE408: @ 80FE408 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080FE43A - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE434 - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FE43A - .pool -_080FE434: - adds r0, r5, 0 - bl sub_81C5B14 -_080FE43A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FE408 - - thumb_func_start sub_80FE440 -sub_80FE440: @ 80FE440 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080FE4AC - movs r0, 0x1 - bl PlaySE - ldr r4, =gScriptItemId - ldrh r0, [r4] - movs r1, 0x1 - bl RemoveBagItem - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE49C - ldrh r0, [r4] - bl sub_806CF78 - adds r2, r0, 0 - ldr r3, =sub_80FE408 - adds r0, r5, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE4AC - .pool -_080FE49C: - ldrh r0, [r4] - bl sub_806CF78 - adds r1, r0, 0 - ldr r2, =sub_80FE408 - adds r0, r6, 0 - bl DisplayItemMessageInBattlePyramid -_080FE4AC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE440 - - thumb_func_start ItemUseInBattle_StatIncrease -ItemUseInBattle_StatIncrease: @ 80FE4B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gBattlePartyID - ldr r0, =gBankInMenu - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gScriptItemId - ldrh r1, [r1] - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - bl ExecuteTableBasedItemEffect_ - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080FE52C - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE518 - ldr r2, =gText_WontHaveEffect - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE53C - .pool -_080FE518: - ldr r1, =gText_WontHaveEffect - ldr r2, =sub_81C6714 - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _080FE53C - .pool -_080FE52C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80FE440 - str r0, [r1] - strh r2, [r1, 0x18] -_080FE53C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_StatIncrease - - thumb_func_start sub_80FE54C -sub_80FE54C: @ 80FE54C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE574 - ldr r0, =gUnknown_0203CE54 - ldr r1, [r0] - ldr r0, =sub_81B89F0 - str r0, [r1] - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FE582 - .pool -_080FE574: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =sub_81B89F0 - str r0, [r1] - adds r0, r4, 0 - bl sub_81C5B14 -_080FE582: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE54C - - thumb_func_start ItemUseInBattle_Medicine -ItemUseInBattle_Medicine: @ 80FE590 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =ItemUseCB_Medicine - str r1, [r2] - bl sub_80FE54C - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_Medicine - - thumb_func_start sub_80FE5AC -sub_80FE5AC: @ 80FE5AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B79E8 - str r1, [r2] - bl sub_80FE54C - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE5AC - - thumb_func_start ItemUseInBattle_PPRecovery -ItemUseInBattle_PPRecovery: @ 80FE5C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_ether - str r1, [r2] - bl sub_80FE54C - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_PPRecovery - - thumb_func_start ItemUseInBattle_Escape -ItemUseInBattle_Escape: @ 80FE5E4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080FE634 - bl sub_80FE058 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE620 - ldr r2, =gStringVar4 - ldr r3, =unknown_ItemMenu_Confirm - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE646 - .pool -_080FE620: - ldr r1, =gStringVar4 - ldr r2, =sub_81C5B14 - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _080FE646 - .pool -_080FE634: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FE646: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_Escape - - thumb_func_start ItemUseOutOfBattle_EnigmaBerry -ItemUseOutOfBattle_EnigmaBerry: @ 80FE650 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x14 - bls _080FE66A - b _080FE75C -_080FE66A: - lsls r0, 2 - ldr r1, =_080FE67C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FE67C: - .4byte _080FE708 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE75C - .4byte _080FE75C - .4byte _080FE6EC - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE75C - .4byte _080FE724 - .4byte _080FE724 - .4byte _080FE740 -_080FE6D0: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_Medicine - b _080FE770 - .pool -_080FE6EC: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_SacredAsh - b _080FE770 - .pool -_080FE708: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_RareCandy - b _080FE770 - .pool -_080FE724: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_PPUp - b _080FE770 - .pool -_080FE740: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_PPRecovery - b _080FE770 - .pool -_080FE75C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x4 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_CannotUse -_080FE770: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_EnigmaBerry - - thumb_func_start ItemUseInBattle_EnigmaBerry -ItemUseInBattle_EnigmaBerry: @ 80FE77C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x15 - bhi _080FE814 - lsls r0, 2 - ldr r1, =_080FE7A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FE7A4: - .4byte _080FE7FC - .4byte _080FE814 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE814 - .4byte _080FE804 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE80C -_080FE7FC: - adds r0, r4, 0 - bl ItemUseInBattle_StatIncrease - b _080FE81A -_080FE804: - adds r0, r4, 0 - bl ItemUseInBattle_Medicine - b _080FE81A -_080FE80C: - adds r0, r4, 0 - bl ItemUseInBattle_PPRecovery - b _080FE81A -_080FE814: - adds r0, r4, 0 - bl ItemUseOutOfBattle_CannotUse -_080FE81A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ItemUseInBattle_EnigmaBerry - - thumb_func_start ItemUseOutOfBattle_CannotUse -ItemUseOutOfBattle_CannotUse: @ 80FE820 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0xE] - bl DisplayDadsAdviceCannotUseItemMessage - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_CannotUse - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/landmark.s b/asm/landmark.s deleted file mode 100644 index 12bb39885..000000000 --- a/asm/landmark.s +++ /dev/null @@ -1,128 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8145CF4 -sub_8145CF4: @ 8145CF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - bl sub_8145D48 - adds r4, r0, 0 - cmp r4, 0 - bne _08145D10 -_08145D0C: - movs r0, 0 - b _08145D42 -_08145D10: - ldr r6, =0x0000ffff - b _08145D26 - .pool -_08145D18: - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08145D1E: - adds r4, 0x4 - ldr r0, [r4] - cmp r0, 0 - beq _08145D0C -_08145D26: - ldr r1, [r4] - ldrh r0, [r1, 0x4] - cmp r0, r6 - beq _08145D3A - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08145D1E -_08145D3A: - cmp r5, 0 - bne _08145D18 - ldr r0, [r4] - ldr r0, [r0] -_08145D42: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8145CF4 - - thumb_func_start sub_8145D48 -sub_8145D48: @ 8145D48 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - movs r2, 0 - ldr r0, =gUnknown_085B91B8 - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0xD5 - beq _08145DB8 - adds r1, r4, 0 -_08145D60: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, r3 - bhi _08145DB8 - cmp r0, r3 - beq _08145D7E - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xD5 - bne _08145D60 -_08145D7E: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xD5 - bne _08145D98 - b _08145DB8 - .pool -_08145D90: - adds r0, r4, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - b _08145DBA -_08145D98: - cmp r0, r3 - bne _08145DB8 - ldr r5, =gUnknown_085B91B8 -_08145D9E: - lsls r1, r2, 3 - adds r0, r1, r5 - ldrb r0, [r0, 0x1] - cmp r0, r6 - beq _08145D90 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, r3 - beq _08145D9E -_08145DB8: - movs r0, 0 -_08145DBA: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8145D48 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/learn_move.s b/asm/learn_move.s index 159b16f7e..f42514e68 100755..100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -94,7 +94,7 @@ sub_81606A0: @ 81606A0 ldr r0, =gUnknown_085CEBB8 bl LoadSpritePalette bl sub_81610B8 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4] ldrh r2, [r4, 0x2] bl ListMenuInit @@ -151,7 +151,7 @@ sub_8160740: @ 8160740 ldr r0, =gUnknown_085CEBB8 bl LoadSpritePalette bl sub_81610B8 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4] ldrh r2, [r4, 0x2] bl ListMenuInit @@ -175,14 +175,14 @@ sub_8160740: @ 8160740 thumb_func_start sub_81607EC sub_81607EC: @ 81607EC push {lr} - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs movs r0, 0 bl ResetBgsAndClearDma3BusyFlags ldr r1, =gUnknown_085CEC28 movs r0, 0 movs r2, 0x2 bl InitBgsFromTemplates - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r1, 0x82 lsls r1, 5 movs r0, 0 @@ -353,7 +353,7 @@ _08160994: b _08160E88 .pool _081609A8: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -433,7 +433,7 @@ _08160A50: b _08160E88 .pool _08160A64: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -493,7 +493,7 @@ _08160ADC: b _08160E88 .pool _08160AEC: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -551,7 +551,7 @@ _08160B6C: b _08160E88 .pool _08160B80: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -980,7 +980,7 @@ sub_8160F50: @ 8160F50 lsls r4, 1 adds r0, r4 ldrb r0, [r0] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r5, r0, 0 ldr r0, [r6] adds r0, r4 @@ -988,7 +988,7 @@ sub_8160F50: @ 8160F50 ldr r4, =gUnknown_0203BC38 adds r2, r4, 0x2 adds r1, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r5, r0 diff --git a/asm/link.s b/asm/link.s index 6fc5a6dff..656ac40bf 100644 --- a/asm/link.s +++ b/asm/link.s @@ -15,7 +15,7 @@ sub_80093CC: @ 80093CC cmp r0, r1 beq _080093F4 bl sub_800B4A4 - bl sub_80097E8 + bl CloseLink bl RestoreSerialTimer3IntrHandlers movs r0, 0 b _080093FE @@ -29,15 +29,15 @@ _080093FE: bx r1 thumb_func_end sub_80093CC - thumb_func_start sub_8009404 -sub_8009404: @ 8009404 + thumb_func_start Task_DestroySelf +Task_DestroySelf: @ 8009404 push {lr} lsls r0, 24 lsrs r0, 24 bl DestroyTask pop {r0} bx r0 - thumb_func_end sub_8009404 + thumb_func_end Task_DestroySelf thumb_func_start sub_8009414 sub_8009414: @ 8009414 @@ -206,11 +206,11 @@ sub_8009570: @ 8009570 ldr r0, =sub_80096BC bl SetVBlankCallback bl sub_800A2E0 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001111 adds r0, r2, 0 strh r0, [r1] - bl sub_8009734 + bl OpenLink ldr r0, =gMain ldrh r0, [r0, 0x24] bl SeedRng @@ -236,7 +236,7 @@ _080095A0: lsls r1, 5 movs r0, 0 bl SetGpuReg - ldr r0, =sub_8009404 + ldr r0, =Task_DestroySelf movs r1, 0 bl CreateTask bl RunTasks @@ -291,7 +291,7 @@ sub_8009638: @ 8009638 ldr r0, [r4] ldrb r0, [r0, 0x8] strb r0, [r5, 0x13] - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType ldrh r0, [r0] str r0, [r5, 0x14] ldr r0, =gGameLanguage @@ -339,7 +339,7 @@ sub_80096BC: @ 80096BC sub_80096D0: @ 80096D0 push {lr} ldr r3, =gUnknown_020229C4 - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd ldr r2, =0x0000efff adds r0, r1, 0 adds r0, 0xE @@ -384,8 +384,8 @@ _08009726: .pool thumb_func_end task02_080097CC - thumb_func_start sub_8009734 -sub_8009734: @ 8009734 + thumb_func_start OpenLink +OpenLink: @ 8009734 push {r4-r6,lr} ldr r0, =gLinkVSyncDisabled ldrb r4, [r0] @@ -443,10 +443,10 @@ _080097BE: pop {r0} bx r0 .pool - thumb_func_end sub_8009734 + thumb_func_end OpenLink - thumb_func_start sub_80097E8 -sub_80097E8: @ 80097E8 + thumb_func_start CloseLink +CloseLink: @ 80097E8 push {r4,lr} ldr r0, =gReceivedRemoteLinkPlayers movs r4, 0 @@ -464,7 +464,7 @@ _080097FC: pop {r0} bx r0 .pool - thumb_func_end sub_80097E8 + thumb_func_end CloseLink thumb_func_start sub_8009818 sub_8009818: @ 8009818 @@ -646,7 +646,7 @@ _08009976: orrs r1, r0 _08009990: adds r0, r2, 0 - bl sub_800A994 + bl SetLinkDebugValues _08009996: add sp, 0x4 pop {r4,r5} @@ -685,7 +685,7 @@ sub_80099E0: @ 80099E0 _080099F4: movs r1, 0 ldr r5, =gUnknown_03003084 - ldr r3, =gUnknown_03003110 + ldr r3, =gSendCmd movs r2, 0 _080099FC: lsls r0, r1, 1 @@ -698,7 +698,7 @@ _080099FC: bls _080099FC ldrh r0, [r4] strh r0, [r5] - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x40 ands r0, r1 @@ -717,7 +717,7 @@ _080099FC: _08009A34: bl sub_800AEB4 _08009A38: - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldrh r0, [r0] _08009A3C: pop {r4,r5} @@ -745,7 +745,7 @@ _08009A70: adds r5, r0 adds r4, 0x1 _08009A78: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -781,7 +781,7 @@ _08009AAE: movs r0, 0 strh r0, [r3] lsls r4, r6, 4 - ldr r5, =gUnknown_03003090 + ldr r5, =gRecvCmds adds r2, r4, r5 ldrh r0, [r2] mov r12, r1 @@ -901,12 +901,12 @@ _08009BC4: adds r1, r0 movs r2, 0 strh r2, [r1] - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r0, [r0] strh r0, [r1, 0x2] - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x4 adds r0, r4, r0 ldrh r0, [r0] @@ -930,7 +930,7 @@ _08009BF0: mov r8, r0 movs r2, 0 adds r5, r3, 0 - ldr r7, =gUnknown_03003090 + ldr r7, =gRecvCmds adds r3, r4, 0 _08009C14: ldrh r1, [r5] @@ -955,7 +955,7 @@ _08009C40: ldr r1, =gBlockRecvBuffer mov r9, r1 adds r7, r3, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds mov r8, r3 lsls r5, r6, 8 adds r3, r4, 0 @@ -1069,7 +1069,7 @@ _08009D38: b _08009D6E _08009D3E: ldr r3, =gUnknown_082ED1A8 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r2, [r0] @@ -1084,7 +1084,7 @@ _08009D3E: b _08009D6E .pool _08009D64: - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r0, [r0] @@ -1183,26 +1183,26 @@ _08009E2C: b _08009F06 .pool _08009E38: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldrh r1, [r1] b _08009F04 .pool _08009E4C: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] ldr r1, =gMain ldrh r1, [r1, 0x2C] b _08009F04 .pool _08009E60: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd movs r1, 0 b _08009F02 .pool _08009E6C: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] movs r1, 0 adds r3, r0, 0 @@ -1219,7 +1219,7 @@ _08009E76: b _08009F06 .pool _08009E8C: - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd strh r2, [r1] ldr r2, =gUnknown_03000D10 ldrh r0, [r2, 0x2] @@ -1230,28 +1230,28 @@ _08009E8C: b _08009F06 .pool _08009EA8: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] b _08009F04 .pool _08009EBC: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] ldr r1, =gUnknown_03003150 ldrb r1, [r1] b _08009F04 .pool _08009ED0: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] ldr r1, =gUnknown_030030F4 ldrh r1, [r1] b _08009F04 .pool _08009EE4: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] b _08009F06 .pool @@ -1264,7 +1264,7 @@ _08009EF0: ldrb r0, [r0] cmp r0, 0 bne _08009F06 - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd _08009F02: strh r2, [r0] _08009F04: @@ -1378,7 +1378,7 @@ GetLinkPlayerCount: @ 8009FCC ldrb r0, [r0] cmp r0, 0 bne _08009FEC - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x1C ands r0, r1 @@ -1516,7 +1516,7 @@ sub_800A0AC: @ 800A0AC str r1, [r0] ldr r0, =gUnknown_020229C8 strh r1, [r0] - bl sub_8009734 + bl OpenLink pop {r0} bx r0 .pool @@ -1534,7 +1534,7 @@ sub_800A0C8: @ 800A0C8 beq _0800A0DA b _0800A214 _0800A0DA: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r5, r0 @@ -1554,7 +1554,7 @@ _0800A0FC: bne _0800A10E ldr r0, =gUnknown_0300306C strb r4, [r0] - bl sub_80097E8 + bl CloseLink _0800A10E: movs r6, 0 ldr r4, =gLinkPlayers @@ -1816,7 +1816,7 @@ _0800A30C: str r7, [r4, 0x4] b _0800A336 _0800A324: - ldr r5, =gUnknown_020228C4 + ldr r5, =gBlockSendBuffer cmp r7, r5 beq _0800A334 adds r0, r5, 0 @@ -1865,7 +1865,7 @@ sub_800A388: @ 800A388 push {r4-r6,lr} ldr r0, =gUnknown_03000D10 ldr r5, [r0, 0x4] - ldr r2, =gUnknown_03003110 + ldr r2, =gSendCmd ldr r1, =0x00008888 strh r1, [r2] movs r3, 0 @@ -2213,7 +2213,7 @@ _0800A616: thumb_func_start sub_800A620 sub_800A620: @ 800A620 push {lr} - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r1, [r0] movs r0, 0x20 ands r0, r1 @@ -2501,7 +2501,7 @@ _0800A81C: thumb_func_start sub_800A824 sub_800A824: @ 800A824 push {lr} - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x20 ands r0, r1 @@ -2536,7 +2536,7 @@ task00_link_test: @ 800A850 movs r2, 0x1 movs r3, 0x2 bl sub_800A6E8 - ldr r4, =gUnknown_030030E0 + ldr r4, =gLinkStatus ldr r0, [r4] movs r1, 0xF movs r2, 0x1 @@ -2608,7 +2608,7 @@ task00_link_test: @ 800A850 movs r2, 0x6 movs r3, 0x1 bl sub_800A6E8 - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 lsrs r0, 24 movs r1, 0x19 @@ -2646,15 +2646,15 @@ _0800A94E: .pool thumb_func_end task00_link_test - thumb_func_start sub_800A994 -sub_800A994: @ 800A994 + thumb_func_start SetLinkDebugValues +SetLinkDebugValues: @ 800A994 ldr r2, =gUnknown_0300302C str r0, [r2] ldr r0, =gUnknown_03003070 str r1, [r0] bx lr .pool - thumb_func_end sub_800A994 + thumb_func_end SetLinkDebugValues thumb_func_start sub_800A9A8 sub_800A9A8: @ 800A9A8 @@ -2774,7 +2774,7 @@ sub_800AA60: @ 800AA60 ldr r0, =gUnknown_02022A74 ldr r2, =0x00002288 mov r8, r2 - ldr r7, =gUnknown_020229C6 + ldr r7, =gLinkType mov r6, r12 adds r6, 0x14 adds r5, r0, 0x4 @@ -2809,7 +2809,7 @@ _0800AAB4: ldrb r0, [r0] cmp r3, r0 bne _0800AAE4 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 mov r1, r9 @@ -2889,7 +2889,7 @@ _0800AB5A: ldr r1, =gUnknown_0300306C movs r0, 0x1 strb r0, [r1] - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 _0800AB6A: @@ -2920,25 +2920,25 @@ sub_800AB98: @ 800AB98 .pool thumb_func_end sub_800AB98 - thumb_func_start sub_800ABAC -sub_800ABAC: @ 800ABAC - ldr r0, =gUnknown_030030E0 + thumb_func_start GetLinkPlayerCount_2 +GetLinkPlayerCount_2: @ 800ABAC + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x1C ands r0, r1 lsrs r0, 2 bx lr .pool - thumb_func_end sub_800ABAC + thumb_func_end GetLinkPlayerCount_2 - thumb_func_start sub_800ABBC -sub_800ABBC: @ 800ABBC + thumb_func_start IsLinkMaster +IsLinkMaster: @ 800ABBC push {lr} ldr r0, =gLinkVSyncDisabled ldrb r0, [r0] cmp r0, 0 bne _0800ABDC - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] lsrs r0, 5 movs r1, 0x1 @@ -2952,7 +2952,7 @@ _0800ABDC: _0800ABE4: pop {r1} bx r1 - thumb_func_end sub_800ABBC + thumb_func_end IsLinkMaster thumb_func_start sub_800ABE8 sub_800ABE8: @ 800ABE8 @@ -3076,7 +3076,7 @@ _0800ACD0: ldr r0, =gUnknown_03002748 movs r4, 0x1 strb r4, [r0] - bl sub_80097E8 + bl CloseLink ldr r1, =gUnknown_03003140 movs r0, 0 str r0, [r1] @@ -3180,7 +3180,7 @@ _0800ADB6: ldr r0, =gUnknown_03002748 movs r4, 0x1 strb r4, [r0] - bl sub_80097E8 + bl CloseLink ldr r1, =gUnknown_03003140 movs r0, 0 str r0, [r1] @@ -3292,7 +3292,7 @@ sub_800AEB4: @ 800AEB4 ldrb r0, [r0] cmp r0, 0 beq _0800AEF4 - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r2, [r0] movs r0, 0xFE lsls r0, 11 @@ -3317,7 +3317,7 @@ _0800AEEA: ldr r1, =gUnknown_0300306C movs r0, 0x1 strb r0, [r1] - bl sub_80097E8 + bl CloseLink _0800AEF4: pop {r0} bx r0 @@ -3344,11 +3344,11 @@ c2_800ACD4: @ 800AF30 movs r0, 0 movs r1, 0 bl SetGpuReg - ldr r0, =gMPlay_SE1 + ldr r0, =gMPlayInfo_SE1 bl m4aMPlayStop - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 bl m4aMPlayStop - ldr r0, =gMPlay_SE3 + ldr r0, =gMPlayInfo_SE3 bl m4aMPlayStop ldr r0, =0x02000000 movs r1, 0xE0 @@ -3362,7 +3362,7 @@ c2_800ACD4: @ 800AF30 movs r2, 0x2 bl FillPalette bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop ldr r1, =gLinkVSyncDisabled ldrb r0, [r1] cmp r0, 0 @@ -3428,7 +3428,7 @@ _0800AF8C: ldr r1, =gSoftResetDisabled movs r0, 0 strb r0, [r1] - ldr r0, =sub_8009404 + ldr r0, =Task_DestroySelf movs r1, 0 bl CreateTask bl StopMapMusic @@ -3742,16 +3742,16 @@ _0800B314: .pool thumb_func_end sub_800B2F8 - thumb_func_start sub_800B320 -sub_800B320: @ 800B320 - ldr r0, =gUnknown_030030E0 + thumb_func_start IsLinkConnectionEstablished +IsLinkConnectionEstablished: @ 800B320 + ldr r0, =gLinkStatus ldr r0, [r0] lsrs r0, 6 movs r1, 0x1 ands r0, r1 bx lr .pool - thumb_func_end sub_800B320 + thumb_func_end IsLinkConnectionEstablished thumb_func_start sub_800B330 sub_800B330: @ 800B330 @@ -3800,7 +3800,7 @@ sub_800B348: @ 800B348 strh r2, [r0] ldrb r2, [r3, 0x2] strb r2, [r0, 0x2] - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r2, 0x3C bl memcpy pop {r4-r6} @@ -3863,10 +3863,10 @@ HandleLinkConnection: @ 800B40C cmp r0, 0 bne _0800B45C ldr r0, =gUnknown_03003144 - ldr r1, =gUnknown_03003110 - ldr r2, =gUnknown_03003090 + ldr r1, =gSendCmd + ldr r2, =gRecvCmds bl sub_800B638 - ldr r4, =gUnknown_030030E0 + ldr r4, =gLinkStatus str r0, [r4] ldr r0, =gUnknown_030022EC bl sub_80099E0 @@ -10249,13 +10249,13 @@ _0800E64A: adds r0, r4, 0 bl sub_800D724 strh r5, [r7] - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd ldr r2, =0x01000008 adds r0, r7, 0 bl CpuSet mov r0, r8 strh r5, [r0] - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds ldr r2, =0x01000028 bl CpuSet mov r0, r9 @@ -10308,7 +10308,7 @@ sub_800E700: @ 800E700 lsrs r1, r0, 16 cmp r1, 0 bne _0800E732 - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType strh r1, [r0] bl sub_800AAF4 movs r0, 0 @@ -11280,7 +11280,7 @@ sub_800EFB0: @ 800EFB0 push {r4-r7,lr} sub sp, 0x4 movs r2, 0 - ldr r7, =gUnknown_03003090 + ldr r7, =gRecvCmds ldr r0, =gUnknown_03005000 adds r6, r7, 0 ldr r1, =0x00000c87 @@ -11325,8 +11325,8 @@ _0800EFD0: thumb_func_start sub_800F014 sub_800F014: @ 800F014 push {lr} - ldr r3, =gUnknown_03003110 - ldr r2, =gUnknown_03003090 + ldr r3, =gSendCmd + ldr r2, =gRecvCmds movs r1, 0x6 _0800F01C: ldrh r0, [r3] @@ -11336,7 +11336,7 @@ _0800F01C: subs r1, 0x1 cmp r1, 0 bge _0800F01C - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd movs r2, 0 adds r0, r1, 0 adds r0, 0xC @@ -11415,7 +11415,7 @@ _0800F0C4: .pool _0800F0CC: movs r3, 0 - ldr r4, =gUnknown_03003090 + ldr r4, =gRecvCmds _0800F0D0: movs r2, 0 lsls r0, r3, 4 @@ -11683,7 +11683,7 @@ _0800F2E0: str r2, [sp, 0x4] adds r5, 0x1 str r5, [sp] - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds mov r9, r1 adds r5, r3, 0 adds r7, r4, 0 @@ -11910,7 +11910,7 @@ sub_800F4F0: @ 800F4F0 mov r1, sp bl sub_800D934 movs r1, 0 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds mov r12, r0 _0800F506: movs r4, 0 @@ -12014,7 +12014,7 @@ _0800F5C0: ldrb r1, [r2] strb r0, [r2] bl sub_8010528 - ldr r5, =gUnknown_03003110 + ldr r5, =gSendCmd add r4, sp, 0x48 adds r0, r5, 0 adds r1, r4, 0 @@ -12307,8 +12307,8 @@ sub_800F820: @ 800F820 lsls r0, 24 cmp r0, 0 bne _0800F83C - bl sub_8082D18 - ldr r1, =gUnknown_03003110 + bl GetBlenderArrowPosition + ldr r1, =gSendCmd strh r0, [r1, 0xC] _0800F83C: ldr r1, =gUnknown_020223C0 @@ -12347,7 +12347,7 @@ sub_800F86C: @ 800F86C _0800F87A: mov r1, r8 lsls r0, r1, 4 - ldr r2, =gUnknown_03003090 + ldr r2, =gRecvCmds adds r1, r0, r2 ldrh r7, [r1] movs r3, 0xFF @@ -12557,7 +12557,7 @@ _0800FA0E: adds r2, r4, 0x1 lsls r0, r2, 1 adds r0, r3 - ldr r4, =gUnknown_03003090 + ldr r4, =gRecvCmds adds r0, r4 ldrh r0, [r0] strh r0, [r1] @@ -12688,7 +12688,7 @@ _0800FB10: adds r0, r7, r2 strb r1, [r0] _0800FB48: - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x6 adds r0, r5, r0 ldrh r0, [r0] @@ -12701,7 +12701,7 @@ _0800FB78: movs r0, 0xEE lsls r0, 8 bl sub_800FD14 - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd ldr r3, =gUnknown_03003092 adds r0, r5, r3 ldrh r0, [r0] @@ -12710,7 +12710,7 @@ _0800FB78: adds r0, r5, r4 ldrh r0, [r0] strh r0, [r1, 0x4] - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x6 adds r0, r5, r0 ldrh r0, [r0] @@ -12912,7 +12912,7 @@ sub_800FD14: @ 800FD14 push {r4,r5,lr} lsls r0, 16 lsrs r1, r0, 16 - ldr r5, =gUnknown_03003110 + ldr r5, =gSendCmd strh r1, [r5] movs r0, 0xF0 lsls r0, 7 @@ -13065,7 +13065,7 @@ _0800FE46: sub_800FE50: @ 800FE50 push {r4,lr} adds r4, r0, 0 - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0800FE76 @@ -13099,7 +13099,7 @@ sub_800FE84: @ 800FE84 ldr r0, [r5] cmp r0, 0 bne _0800FEB8 - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0800FEB8 @@ -13151,7 +13151,7 @@ _0800FEC8: str r7, [r5, 0x70] b _0800FF1C _0800FF0A: - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer cmp r7, r4 beq _0800FF1A adds r0, r4, 0 @@ -13184,7 +13184,7 @@ _0800FF32: thumb_func_start rfufunc_80F9F44 rfufunc_80F9F44: @ 800FF4C push {r4,r5,lr} - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0800FFA0 @@ -13209,7 +13209,7 @@ rfufunc_80F9F44: @ 800FF4C .pool _0800FF84: bl GetMultiplayerId - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds lsls r0, 24 lsrs r0, 20 adds r0, r1 @@ -13235,7 +13235,7 @@ sub_800FFB0: @ 800FFB0 ldr r0, =gUnknown_03005000 mov r12, r0 ldr r5, [r0, 0x70] - ldr r3, =gUnknown_03003110 + ldr r3, =gSendCmd mov r2, r12 adds r2, 0x6C ldrh r1, [r2] @@ -13304,7 +13304,7 @@ rfufunc_80FA020: @ 8010028 ldrb r0, [r5, 0xC] cmp r0, 0 bne _080100F0 - ldr r3, =gUnknown_03003110 + ldr r3, =gSendCmd adds r2, r5, 0 adds r2, 0x6E ldrh r0, [r2] @@ -13315,7 +13315,7 @@ rfufunc_80FA020: @ 8010028 strh r0, [r3] movs r4, 0 mov r9, r5 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds mov r12, r0 lsls r5, r6, 4 adds r7, r2, 0 @@ -13541,7 +13541,7 @@ _08010220: thumb_func_start sub_801022C sub_801022C: @ 801022C push {r4,lr} - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801024E @@ -13696,7 +13696,7 @@ sub_8010358: @ 8010358 ldrb r0, [r0] cmp r0, 0 bne _0801037A - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801037A @@ -13725,7 +13725,7 @@ sub_8010390: @ 8010390 ldrb r0, [r0] cmp r0, 0 bne _0801041E - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801041E @@ -13768,7 +13768,7 @@ _080103FA: ldrb r0, [r0] cmp r0, 0 bne _0801041E - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801041E @@ -14406,7 +14406,7 @@ _080108F0: b _080109D2 .pool _08010904: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080109D2 @@ -14678,7 +14678,7 @@ _08010B28: .4byte _08010C0A .4byte _08010C94 _08010B40: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 beq _08010B4A @@ -14692,7 +14692,7 @@ _08010B4A: b _08010C4A .pool _08010B60: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 beq _08010B6A @@ -14736,7 +14736,7 @@ _08010B8C: b _08010C4A .pool _08010BC0: - ldr r5, =gUnknown_020228C4 + ldr r5, =gBlockSendBuffer adds r1, r5, 0 ldr r0, =gUnknown_082ED7EC ldm r0!, {r2-r4} @@ -14774,7 +14774,7 @@ _08010BE2: adds r0, 0x1 strh r0, [r1, 0x8] _08010C0A: - ldr r5, =gUnknown_020228C4 + ldr r5, =gBlockSendBuffer ldr r1, =gUnknown_03005000 ldrb r0, [r1, 0xD] strb r0, [r5, 0xF] @@ -14798,7 +14798,7 @@ _08010C20: mov r1, r12 movs r2, 0x8C bl memcpy - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0 movs r2, 0xA0 bl SendBlock @@ -14923,7 +14923,7 @@ _08010D56: cmp r0, 0 beq _08010DA6 bl sub_800B348 - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0 movs r2, 0x3C bl SendBlock @@ -15027,7 +15027,7 @@ _08010E20: ldrb r1, [r0] movs r1, 0x2 strb r1, [r0] - bl sub_80097E8 + bl CloseLink b _08010E8E .pool _08010E5C: @@ -16577,7 +16577,7 @@ sub_8011AC8: @ 8011AC8 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds ldr r2, =0x05000014 mov r0, sp bl CpuSet @@ -16610,12 +16610,12 @@ sub_8011AFC: @ 8011AFC lsls r0, 24 cmp r0, 0 beq _08011B70 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001111 adds r0, r2, 0 strh r0, [r1] bl sub_800B488 - bl sub_8009734 + bl OpenLink ldr r0, =gMain ldrh r0, [r0, 0x24] bl SeedRng @@ -16970,7 +16970,7 @@ sub_8011E2C: @ 8011E2C push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r6, =gUnknown_03003110 + ldr r6, =gSendCmd ldrh r0, [r6] cmp r0, 0 bne _08011E7A @@ -18046,7 +18046,7 @@ BerryBlenderLinkBecomeLeader: @ 801273C movs r0, 0 strb r0, [r1, 0xC] strb r0, [r1, 0xD] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result strh r0, [r1] pop {r0} bx r0 @@ -18144,7 +18144,7 @@ _08012848: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink ldrb r1, [r4] movs r0, 0xF ands r0, r1 @@ -18244,8 +18244,8 @@ _08012938: bl CopyWindowToVram ldrb r0, [r6, 0xF] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F015C ldm r1!, {r3,r5,r7} @@ -18260,7 +18260,7 @@ _08012938: strb r0, [r6, 0x12] ldrb r0, [r6, 0x11] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6, 0x11] bl PutWindowTilemap ldrb r0, [r6, 0x11] @@ -18893,7 +18893,7 @@ _08012EE6: bl EnableBothScriptContexts adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08012F50 @@ -18902,7 +18902,7 @@ _08012EFC: bl EnableBothScriptContexts adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x8 strh r0, [r1] b _08012F50 @@ -19571,7 +19571,7 @@ BerryBlenderLinkJoinGroup: @ 80134A4 movs r0, 0 strb r0, [r1, 0x8] strb r0, [r1, 0x9] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result strh r0, [r1] pop {r0} bx r0 @@ -19652,7 +19652,7 @@ _08013590: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x70 bl AllocZeroed @@ -19725,8 +19725,8 @@ _0801360C: bl CopyWindowToVram ldrb r0, [r6, 0xB] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F0204 ldm r1!, {r3,r5,r7} @@ -19741,7 +19741,7 @@ _0801360C: strb r0, [r6, 0xE] ldrb r0, [r6, 0xD] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6, 0xD] bl PutWindowTilemap ldrb r0, [r6, 0xD] @@ -19771,7 +19771,7 @@ _080136EA: b _08013A72 _080136F2: ldrb r0, [r6, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r4, r0, 0 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -20196,13 +20196,13 @@ _08013AE4: lsls r0, 24 cmp r0, 0 beq _08013B82 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0x6 b _08013B58 .pool _08013B14: bl sub_800E084 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0x5 b _08013B58 .pool @@ -20228,7 +20228,7 @@ _08013B4A: lsls r0, 24 cmp r0, 0 beq _08013B82 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0x8 _08013B58: strh r1, [r0] @@ -20400,7 +20400,7 @@ _08013CD0: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x1 bl sub_80111B0 @@ -20834,7 +20834,7 @@ _08013FFC: b _0801405A .pool _08014038: - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer ldr r0, =gSaveBlock1Ptr ldr r1, [r0] ldr r0, =0x00002be0 @@ -21040,7 +21040,7 @@ sub_8014210: @ 8014210 adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks ldr r5, =gLinkPlayers @@ -21405,10 +21405,10 @@ _080145D8: .pool _080145F4: bl overworld_free_bg_tilemaps - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks movs r0, 0x1 @@ -21421,10 +21421,10 @@ _080145F4: .pool _08014620: bl overworld_free_bg_tilemaps - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 movs r0, 0x2 @@ -21437,10 +21437,10 @@ _08014620: .pool _0801464C: bl overworld_free_bg_tilemaps - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 movs r0, 0x5 @@ -21452,7 +21452,7 @@ _0801464C: b _080146B0 .pool _08014678: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 bl overworld_free_bg_tilemaps @@ -21465,7 +21465,7 @@ _08014678: b _080146B0 .pool _08014698: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 bl overworld_free_bg_tilemaps @@ -21505,7 +21505,7 @@ _080146F6: bl sub_801DD98 b _08014764 _080146FC: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0 bl sub_80143E4 ldr r0, =sub_80141A4 @@ -21517,7 +21517,7 @@ _08014714: movs r1, 0x5 movs r2, 0x1 bl sub_8014290 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 ldr r1, =c2_load_new_map @@ -21538,7 +21538,7 @@ _0801474C: movs r1, 0x5 movs r2, 0x1 bl sub_8014290 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 ldr r1, =c2_load_new_map @@ -21546,7 +21546,7 @@ _0801474C: _08014764: adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] ldr r0, =gUnknown_02022C2C @@ -21575,7 +21575,7 @@ sub_8014790: @ 8014790 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r7, r0, r1 - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer mov r9, r0 movs r1, 0 ldrsh r0, [r7, r1] @@ -21602,7 +21602,7 @@ _080147CC: .4byte _08014992 .4byte _0801499C _080147F0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] ldr r0, =gUnknown_02022C2C @@ -21686,7 +21686,7 @@ _080148CC: bne _080149B2 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen movs r0, 0x2 strh r0, [r7] b _080149B2 @@ -21746,7 +21746,7 @@ _0801494A: bl sub_80B2AF4 cmp r0, 0 beq _08014980 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0xB strh r1, [r0] movs r0, 0x7 @@ -21837,7 +21837,7 @@ sub_8014A00: @ 8014A00 strb r2, [r1, 0xC] strb r2, [r1, 0xD] strb r4, [r1, 0x18] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -21899,7 +21899,7 @@ _08014AB0: movs r1, 0 bl sub_8010FA0 bl sub_800B488 - bl sub_8009734 + bl OpenLink movs r0, 0x2 bl sub_8011C10 movs r0, 0x1 @@ -21971,7 +21971,7 @@ _08014AEC: strb r0, [r5, 0xF] ldrb r0, [r5, 0xF] bl sub_8018784 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F015C ldm r1!, {r3,r4,r6} @@ -22297,7 +22297,7 @@ _08014E4E: beq _08014EF2 adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08014EF2 @@ -22386,7 +22386,7 @@ sub_8014EFC: @ 8014EFC strb r2, [r1, 0x9] subs r4, 0x15 strb r4, [r1, 0x12] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -22437,7 +22437,7 @@ _08014FA4: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x70 bl AllocZeroed @@ -22503,7 +22503,7 @@ _08014FE8: strb r0, [r7, 0xD] ldrb r0, [r7, 0xB] bl sub_8018784 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F0204 ldm r1!, {r3-r5} @@ -22551,7 +22551,7 @@ _080150CE: b _080152A0 _080150D6: ldrb r0, [r7, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r2, r0, 0 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -22727,7 +22727,7 @@ _0801526A: adds r0, r6, 0 bl DestroyTask bl sub_800EDD4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _080152A0 @@ -22775,7 +22775,7 @@ sub_80152A8: @ 80152A8 strb r2, [r1, 0x9] subs r4, 0x15 strb r4, [r1, 0x12] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -22825,7 +22825,7 @@ _08015358: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x70 bl AllocZeroed @@ -22876,7 +22876,7 @@ _08015398: strb r0, [r5, 0xB] ldrb r0, [r5, 0xB] bl sub_8018784 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F0204 ldm r1!, {r3,r4,r6} @@ -22922,7 +22922,7 @@ _08015446: cmp r0, 0 beq _08015452 ldrb r0, [r5, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId _08015452: ldrb r0, [r5, 0x14] cmp r0, 0x78 @@ -23099,7 +23099,7 @@ _080155C2: adds r0, r4, 0 bl DestroyTask bl sub_800EDD4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08015604 @@ -23143,7 +23143,7 @@ UnionRoomSpecial: @ 801560C strb r1, [r0, 0x16] strh r1, [r0, 0x10] strh r1, [r0, 0x12] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] movs r0, 0xD0 movs r1, 0x1 @@ -23375,7 +23375,7 @@ _08015878: ldrh r2, [r2, 0xC] bl sub_8010FCC bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C84 ldr r0, [r6, 0x8] movs r1, 0x1 @@ -23386,7 +23386,7 @@ _08015878: ldr r0, [r6, 0xC] movs r1, 0x4 bl sub_80175EC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r0, 0x3 @@ -23408,7 +23408,7 @@ _080158E0: ldrh r0, [r4] cmp r0, 0 beq _080159A0 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r5, r0, 24 ldrh r0, [r4] @@ -23436,7 +23436,7 @@ _08015900: b _0801598E .pool _0801592C: - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 @@ -23470,7 +23470,7 @@ _0801596C: ldr r1, =gUnknown_02022C2C movs r0, 0x44 strb r0, [r1] - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 @@ -23488,7 +23488,7 @@ _080159A0: movs r0, 0x4 bl _08016876 _080159A6: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldrh r0, [r4] cmp r0, 0 beq _08015A0A @@ -23722,7 +23722,7 @@ _08015BBE: bne _08015BCA bl _08016878 _08015BCA: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 ldr r0, =sub_80140E0 @@ -24249,7 +24249,7 @@ _080160DA: bne _080160E4 b _08016878 _080160E4: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 ldr r0, =sub_80140E0 @@ -25071,7 +25071,7 @@ var_800D_set_xB: @ 8016884 bl InUnionRoom cmp r0, 0x1 bne _08016894 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xB strh r0, [r1] _08016894: @@ -25084,7 +25084,7 @@ _08016894: sub_801689C: @ 801689C push {r4,r5,lr} adds r2, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r5, [r3, 0x12] adds r4, r5, 0 cmp r4, 0 @@ -25225,7 +25225,7 @@ _080169BE: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C84 movs r0, 0x1 bl sub_80111B0 @@ -26038,7 +26038,7 @@ sub_8017020: @ 8017020 bl sub_81973A4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r0, =gStringVar4 adds r1, r4, 0 bl StringExpandPlaceholders @@ -26083,7 +26083,7 @@ _08017076: bl sub_81973A4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r0, =gStringVar4 adds r1, r5, 0 bl StringExpandPlaceholders @@ -26144,7 +26144,7 @@ _080170E0: negs r0, r0 b _08017110 _080170F2: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r2, 0x80 @@ -26175,7 +26175,7 @@ sub_8017118: @ 8017118 lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame adds r0, r4, 0 movs r1, 0xFF bl FillWindowPixelBuffer @@ -26271,8 +26271,8 @@ _080171DC: strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x24] ldm r1!, {r3,r4,r6} @@ -26297,7 +26297,7 @@ _080171DC: _08017228: mov r3, r9 ldrb r0, [r3] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId mov r8, r0 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -26384,8 +26384,8 @@ _080172C8: strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x24] ldm r1!, {r3,r4,r7} @@ -26413,7 +26413,7 @@ _08017314: _0801731C: mov r3, r10 ldrb r0, [r3] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r1, r0, 0 ldr r0, =gMain ldrh r2, [r0, 0x2E] @@ -28009,14 +28009,14 @@ _08017F8A: lsls r0, r4, 24 lsrs r0, 24 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI adds r5, 0x10 adds r4, 0x1 cmp r4, 0x3 ble _08017F8A ldr r1, =gUnknown_082EE47C adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders b _08017FB4 .pool _08017FAC: @@ -28047,7 +28047,7 @@ _08017FC6: sub_8017FD8: @ 8017FD8 push {lr} adds r2, r0, 0 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds ldrh r1, [r0, 0x2] cmp r1, 0 beq _08017FFC @@ -28381,7 +28381,7 @@ sub_8018220: @ 8018220 ldr r0, =gUnknown_02039B58 adds r1, r0 mov r8, r1 - bl sub_81AFBF0 + bl UnkTextUtil_Reset mov r6, r9 adds r6, 0xC0 bl sub_8068BB0 @@ -28395,11 +28395,11 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0 adds r1, r6, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r1, r8 adds r1, 0x30 movs r0, 0x1 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r4, 0xBA lsls r4, 1 add r4, r9 @@ -28413,7 +28413,7 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0x2 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r5, r9 adds r5, 0xDE mov r0, r8 @@ -28424,7 +28424,7 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r2, 0xED add r2, r9 mov r10, r2 @@ -28444,16 +28444,16 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x4 mov r1, r10 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x5 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r4, 0xD2 lsls r4, 1 add r4, r9 ldr r1, =gUnknown_082EFF64 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r0, =gStringVar4 adds r1, r4, 0 bl StringCopy @@ -28470,7 +28470,7 @@ _0801830C: bl ConvertIntToDecimalStringN movs r0, 0 adds r1, r6, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r2, r8 ldrh r1, [r2, 0x16] cmp r1, r4 @@ -28485,7 +28485,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x2 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r0, r8 ldrh r1, [r0, 0x20] adds r0, r5, 0 @@ -28494,7 +28494,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r7, 0 movs r6, 0x80 lsls r6, 19 @@ -28507,7 +28507,7 @@ _08018360: bl CopyEasyChatWord lsrs r0, r6, 24 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r2, 0x80 lsls r2, 17 adds r6, r2 @@ -28521,7 +28521,7 @@ _08018360: add r4, r9 ldr r1, =gUnknown_082EFFA4 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r5, =gStringVar4 adds r0, r5, 0 adds r1, r4, 0 @@ -28531,7 +28531,7 @@ _08018360: bne _080183D0 ldr r1, =gUnknown_082F0020 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -28548,7 +28548,7 @@ _080183D0: adds r1, r0 ldr r1, [r1] adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -28639,7 +28639,7 @@ _08018482: bl ResetSpriteData bl FreeAllSpritePalettes bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0 bl ResetBgsAndClearDma3BusyFlags ldr r1, =gUnknown_082F0598 @@ -28869,7 +28869,7 @@ sub_80186A4: @ 80186A4 movs r0, 0x3 bl GetBgTilemapBuffer bl Free - ldr r0, =c2_title_screen_1 + ldr r0, =CB2_InitTitleScreen bl SetMainCallback2 pop {r0} bx r0 @@ -28913,7 +28913,7 @@ _08018720: movs r1, 0x1 movs r2, 0x4 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0 adds r1, r7, 0 movs r2, 0xDE @@ -28929,7 +28929,7 @@ _08018720: movs r0, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x2 bl CopyWindowToVram @@ -29101,7 +29101,7 @@ sub_8018884: @ 8018884 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0x1 movs r1, 0x1 movs r2, 0xF @@ -29454,7 +29454,7 @@ _08018B4A: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r0, [r4] movs r1, 0x1 movs r2, 0xF @@ -29502,7 +29502,7 @@ _08018BD6: b _08018C3E .pool _08018BE4: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r6, r0, 24 movs r1, 0x80 @@ -29600,7 +29600,7 @@ _08018C8C: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r0, [r5] movs r1, 0x1 movs r2, 0xF @@ -30493,7 +30493,7 @@ _0801940C: b _08019922 .pool _0801942C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x5 beq _08019436 @@ -30994,7 +30994,7 @@ _080197F8: b _08019922 .pool _08019810: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x5 beq _0801981A @@ -31100,7 +31100,7 @@ _080198FE: b _08019922 .pool _0801990C: - bl sub_80097E8 + bl CloseLink ldr r0, [r5, 0x10] bl Free adds r0, r4, 0 @@ -31435,7 +31435,7 @@ _08019B84: b _08019B9C _08019B96: adds r0, r4, 0 - bl sub_8097404 + bl FreezeMapObject _08019B9C: movs r0, 0x1 _08019B9E: @@ -32622,7 +32622,7 @@ sub_801A43C: @ 801A43C bl ResetPaletteFade bl ResetSpriteData bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop bl m4aSoundVSyncOn ldr r0, =sub_801A418 bl SetVBlankCallback @@ -32661,7 +32661,7 @@ sub_801A43C: @ 801A43C bl LoadPalette movs r0, 0xF0 bl sub_81978B0 - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0x20 str r0, [sp] str r0, [sp, 0x4] @@ -33152,7 +33152,7 @@ _0801A93A: adds r0, r7, 0 adds r1, r6, 0 adds r2, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4-r7} pop {r0} @@ -33473,7 +33473,7 @@ sub_801AB68: @ 801AB68 movs r1, 0x1 adds r2, r6, 0 ldr r3, [sp, 0x14] - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r3-r5} mov r8, r3 @@ -33723,7 +33723,7 @@ _0801AE48: beq _0801AE54 b _0801AFAE _0801AE54: - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer adds r0, r4, 0 movs r1, 0 movs r2, 0x20 @@ -33740,7 +33740,7 @@ _0801AE78: movs r0, 0x51 _0801AE7A: strb r0, [r4] - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0 movs r2, 0x20 bl SendBlock @@ -38870,7 +38870,7 @@ _0801D7D0: ldr r1, [r4, 0x18] movs r2, 0xBC bl memcpy - bl sub_81652B4 + bl ValidateEReaderTrainer b _0801D804 .pool _0801D7F0: @@ -39454,7 +39454,7 @@ _0801DC10: thumb_func_start sub_801DC20 sub_801DC20: @ 801DC20 push {r4-r6,lr} - ldr r6, =gScriptResult + ldr r6, =gSpecialVar_Result bl sub_801B044 adds r4, r0, 0 bl IsMysteryEventEnabled @@ -39839,7 +39839,7 @@ sub_801DF20: @ 801DF20 bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 thumb_func_end sub_801DF20 @@ -41938,10 +41938,10 @@ _0801F020: ldrb r1, [r4, 0x8] cmp r0, r1 beq _0801F0A8 - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r1, =gText_F700JoinedChat b _0801F094 .pool @@ -41978,14 +41978,14 @@ _0801F07A: ldrb r5, [r5] cmp r0, r5 beq _0801F0A8 - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r1, =gText_F700LeftChat _0801F094: adds r0, r6, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x1 b _0801F0AA .pool @@ -42570,7 +42570,7 @@ sub_801F544: @ 801F544 str r0, [r4] _0801F55A: bl FreeAllWindowBuffers - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] pop {r4} @@ -43458,11 +43458,11 @@ sub_801FBF8: @ 801FBF8 beq _0801FC38 b _0801FC42 _0801FC08: - bl sub_81AFBF0 + bl UnkTextUtil_Reset bl sub_801F1D0 adds r1, r0, 0 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x5 movs r1, 0 bl sub_801FF18 @@ -43619,11 +43619,11 @@ sub_801FD30: @ 801FD30 beq _0801FD74 b _0801FD7E _0801FD40: - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r0, =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x9 movs r1, 0 bl sub_801FF18 @@ -43927,7 +43927,7 @@ _0801FF98: adds r0, r1, 0 adds r0, 0x22 ldr r1, [r4] - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r0, [r5] adds r6, r0, 0 adds r6, 0x22 @@ -44697,11 +44697,11 @@ sub_80205B4: @ 80205B4 task_tutorial_story_unknown: @ 8020604 push {r4,r5,lr} sub sp, 0x4 - ldr r0, =gUnknown_08DD4860 + ldr r0, =gLinkMiscMenu_Pal movs r1, 0 movs r2, 0x20 bl LoadPalette - ldr r1, =gUnknown_08DD4880 + ldr r1, =gLinkMiscMenu_Gfx movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -44729,7 +44729,7 @@ task_tutorial_story_unknown: @ 8020604 movs r2, 0x8 bl CpuFastSet _0802064E: - ldr r1, =gUnknown_08DD4AB8 + ldr r1, =gLinkMiscMenu_Tilemap movs r0, 0x2 movs r2, 0 movs r3, 0 @@ -44877,13 +44877,13 @@ sub_8020770: @ 8020770 strh r1, [r0, 0x20] str r1, [sp, 0xC] add r0, sp, 0xC - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers ldr r2, =0x010003c0 bl CpuFastSet ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams add sp, 0x10 pop {r0} bx r0 @@ -44898,12 +44898,12 @@ sub_80207C0: @ 80207C0 lsrs r0, 16 mov r1, sp strh r0, [r1] - ldr r5, =gUnknown_02039B28 + ldr r5, =gScanlineEffect ldrb r0, [r5, 0x14] lsls r1, r0, 4 subs r1, r0 lsls r1, 7 - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers adds r1, r4 ldr r2, =0x01000090 mov r0, sp @@ -44941,7 +44941,7 @@ sub_8020818: @ 8020818 lsrs r4, 16 mov r0, sp strh r4, [r0] - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers ldr r0, =0x01000090 mov r9, r0 mov r0, sp @@ -45607,7 +45607,7 @@ _08020D74: sub_8020D8C: @ 8020D8C push {r4,lr} sub sp, 0xC - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r0, [r1] subs r0, 0x85 lsls r0, 16 @@ -45628,7 +45628,7 @@ _08020DB0: ldrb r0, [r2, 0x8] lsls r0, 5 adds r0, r2, r0 - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] subs r1, 0x85 adds r0, 0xA4 @@ -46001,7 +46001,7 @@ _080210A0: movs r0, 0 movs r1, 0 bl SetGpuReg - bl remove_some_task + bl ScanlineEffect_Stop bl reset_temp_tile_data_buffers b _080212FC _080210BE: @@ -46464,7 +46464,7 @@ _080214C6: lsrs r3, 16 ldr r0, =gUnknown_082F436C adds r1, r2, 0 - bl AddItemIconObjectWithCustomObjectTemplate + bl AddCustomItemIconSprite lsls r0, 24 lsrs r0, 24 mov r2, r9 @@ -47206,7 +47206,7 @@ _08021A92: lsls r4, 2 str r4, [sp, 0x24] _08021A98: - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r0, [sp, 0x10] cmp r0, 0x1 beq _08021B48 @@ -47465,10 +47465,10 @@ _08021CC8: ldr r0, [sp, 0xC] adds r1, r0, r1 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, =gStringVar4 adds r1, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r1, [sp, 0xC] movs r2, 0xDD lsls r2, 1 @@ -48550,7 +48550,7 @@ _08022616: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 b _0802269C .pool _08022668: @@ -48577,7 +48577,7 @@ _08022668: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _0802269C: ldr r1, =0x000001bb adds r0, r6, r1 @@ -49425,7 +49425,7 @@ _08022D38: _08022D42: movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldrb r1, [r5, 0x1] movs r0, 0x2 mov r8, r0 @@ -49453,7 +49453,7 @@ _08022D42: movs r0, 0 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _08022DB2 .pool _08022D90: @@ -49472,7 +49472,7 @@ _08022D90: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized _08022DB2: movs r0, 0 movs r1, 0x3 @@ -50251,7 +50251,7 @@ sub_802339C: @ 802339C mov r10, r3 _080233C0: lsls r0, r7, 4 - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds adds r2, r0, r1 ldrh r1, [r2] movs r0, 0xFF @@ -50860,7 +50860,7 @@ sub_802385C: @ 802385C push {r4,r5,lr} adds r5, r0, 0 movs r4, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrb r0, [r5, 0x9] cmp r4, r0 bcs _08023880 @@ -52023,8 +52023,8 @@ _080241A6: beq _0802421E movs r0, 0 movs r1, 0 - bl sub_81973C4 - ldr r2, =gUnknown_082C8959 + bl NewMenuHelpers_DrawDialogueFrame + ldr r2, =gText_SavingDontTurnOffPower movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -52036,7 +52036,7 @@ _080241A6: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -52114,7 +52114,7 @@ _0802426A: bl sub_8197930 b _080242D0 _08024270: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r4, r0, 24 movs r0, 0x2 @@ -52380,7 +52380,7 @@ _0802445A: _08024460: movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldrh r1, [r5, 0x14] cmp r1, 0x3 bne _08024490 @@ -52395,7 +52395,7 @@ _08024460: str r1, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _080244AC .pool _08024490: @@ -52411,7 +52411,7 @@ _08024490: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized _080244AC: movs r0, 0 movs r1, 0x3 @@ -52674,8 +52674,8 @@ SetBerryPowder: @ 802467C .pool thumb_func_end SetBerryPowder - thumb_func_start ApplyNewEncyprtionKeyToBerryPowder -ApplyNewEncyprtionKeyToBerryPowder: @ 8024690 + thumb_func_start ApplyNewEncryptionKeyToBerryPowder +ApplyNewEncryptionKeyToBerryPowder: @ 8024690 push {lr} adds r1, r0, 0 ldr r0, =gSaveBlock2Ptr @@ -52683,11 +52683,11 @@ ApplyNewEncyprtionKeyToBerryPowder: @ 8024690 movs r2, 0xFA lsls r2, 1 adds r0, r2 - bl ApplyNewEncyprtionKeyToWord + bl ApplyNewEncryptionKeyToWord pop {r0} bx r0 .pool - thumb_func_end ApplyNewEncyprtionKeyToBerryPowder + thumb_func_end ApplyNewEncryptionKeyToBerryPowder thumb_func_start sub_80246AC sub_80246AC: @ 80246AC @@ -59192,7 +59192,7 @@ sub_8027A48: @ 8027A48 sub_8027A5C: @ 8027A5C push {r4-r6,lr} movs r5, 0 - ldr r6, =gScriptResult + ldr r6, =gSpecialVar_Result _08027A62: movs r0, 0x64 adds r1, r5, 0 @@ -59217,7 +59217,7 @@ _08027A94: adds r5, 0x1 cmp r5, 0x5 ble _08027A62 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _08027AA0: @@ -59628,7 +59628,7 @@ sub_8027DD0: @ 8027DD0 sub_8027DFC: @ 8027DFC push {lr} adds r2, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r0, [r3] movs r1, 0xFF lsls r1, 8 @@ -60084,7 +60084,7 @@ sub_8028164: @ 8028164 mov r9, r0 adds r2, r7, 0 adds r2, 0x14 - ldr r4, =gUnknown_03003090 + ldr r4, =gRecvCmds ldrh r0, [r4] movs r1, 0xFF lsls r1, 8 @@ -60297,7 +60297,7 @@ sub_8028318: @ 8028318 push {r4,lr} adds r2, r0, 0 adds r4, r1, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r0, [r3] movs r1, 0xFF lsls r1, 8 @@ -60349,7 +60349,7 @@ sub_8028350: @ 8028350 sub_8028374: @ 8028374 push {lr} adds r2, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r0, [r3] movs r1, 0xFF lsls r1, 8 @@ -61953,7 +61953,7 @@ sub_8028FF8: @ 8028FF8 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r1, [r0] movs r2, 0x90 lsls r2, 1 @@ -61961,7 +61961,7 @@ sub_8028FF8: @ 8028FF8 movs r3, 0x1 bl LoadBgTiles adds r0, r4, 0 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r0, [r0, 0x4] movs r1, 0xA0 movs r2, 0x20 @@ -63516,7 +63516,7 @@ _08029DA0: movs r1, 0x1 adds r2, r5, 0 bl PrintTextOnWindow - bl sub_81AFBF0 + bl UnkTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -63525,11 +63525,11 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r7, =gStringVar4 ldr r1, =gText_FirstPlacePrize adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r0, [r4] add r0, r10 ldrb r0, [r0] @@ -63550,7 +63550,7 @@ _08029DA0: beq _08029EC8 cmp r4, 0x3 beq _08029EC8 - bl sub_81AFBF0 + bl UnkTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -63558,12 +63558,12 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI cmp r4, 0x2 bne _08029E9C ldr r1, =gText_CantHoldAnyMore adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders b _08029EA8 .pool _08029E9C: @@ -63571,7 +63571,7 @@ _08029E9C: bne _08029EA8 ldr r1, =gText_FilledStorageSpace adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders _08029EA8: ldr r0, =gUnknown_02022CF8 ldr r0, [r0] @@ -64113,8 +64113,8 @@ _0802A3A4: _0802A3AE: movs r0, 0 movs r1, 0 - bl sub_81973C4 - ldr r2, =gUnknown_082C8959 + bl NewMenuHelpers_DrawDialogueFrame + ldr r2, =gText_SavingDontTurnOffPower str r4, [sp] movs r0, 0x2 str r0, [sp, 0x4] @@ -64125,7 +64125,7 @@ _0802A3AE: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _0802A410 .pool _0802A3D8: @@ -68864,7 +68864,7 @@ _0802C924: bl sub_802C908 cmp r0, 0 beq _0802C95C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _0802C966 .pool @@ -68872,7 +68872,7 @@ _0802C95C: adds r5, 0x1 cmp r5, 0x5 ble _0802C924 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 _0802C966: strh r0, [r1] @@ -69006,7 +69006,7 @@ _0802CA32: ldrh r0, [r7] ldr r1, [r7, 0x4] ldr r2, [r7, 0x8] - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality str r0, [sp, 0x20] add r0, sp, 0x20 ldr r1, [r0, 0x4] @@ -70357,7 +70357,7 @@ _0802D516: strh r0, [r1, 0x12] lsls r0, 24 lsrs r0, 24 - ldr r2, =gUnknown_082C8959 + ldr r2, =gText_SavingDontTurnOffPower movs r1, 0x1 str r1, [sp] movs r1, 0xFF @@ -70731,19 +70731,19 @@ sub_802D7E8: @ 802D7E8 movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, [r5] adds r1, 0x26 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r1, [r5] adds r1, 0x66 movs r0, 0x1 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, [r5] adds r0, 0xA6 ldr r1, =gText_AwesomeWonF701F700 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -70788,15 +70788,15 @@ sub_802D884: @ 802D884 ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_FilledStorageSpace2 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -70841,15 +70841,15 @@ sub_802D8FC: @ 802D8FC ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_CantHoldMore - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x4 movs r1, 0x9 movs r2, 0x16 @@ -71035,7 +71035,7 @@ _0802DA84: thumb_func_start sub_802DA8C sub_802DA8C: @ 802DA8C push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r0, 24 pop {r1} @@ -71821,7 +71821,7 @@ sub_802E0D0: @ 802E0D0 push {r4,lr} sub sp, 0xC adds r4, r1, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds lsls r2, r0, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -71948,7 +71948,7 @@ sub_802E1BC: @ 802E1BC sub sp, 0xC adds r5, r0, 0 adds r4, r1, 0 - ldr r2, =gUnknown_03003090 + ldr r2, =gRecvCmds ldrh r0, [r2] movs r1, 0xFF lsls r1, 8 @@ -72038,7 +72038,7 @@ sub_802E264: @ 802E264 adds r4, r0, 0 adds r5, r2, 0 adds r6, r3, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds lsls r2, r1, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -72093,7 +72093,7 @@ sub_802E2D0: @ 802E2D0 push {r4,lr} sub sp, 0xC adds r4, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds lsls r2, r1, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -73087,7 +73087,7 @@ sub_802EAB0: @ 802EAB0 ldrb r0, [r0] cmp r0, 0 beq _0802EB14 - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds ldrh r0, [r1, 0x2] ldr r5, =0x00007fff cmp r0, r5 diff --git a/asm/list_menu.s b/asm/list_menu.s index 5e6da159e..58719093c 100755..100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -64,7 +64,7 @@ _081AE4B0: ldr r1, [sp, 0x4] bl sub_8098858 _081AE4C0: - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp] ldm r1!, {r3-r5} @@ -87,7 +87,7 @@ _081AE4C0: .pool _081AE4F4: ldrb r0, [r5, 0x6] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId str r0, [r5] ldr r1, =gMain ldrh r0, [r1, 0x2E] @@ -227,9 +227,9 @@ _081AE5F0: bx r1 thumb_func_end Unused_ListMenuInit2 - thumb_func_start ListMenuHandleInput -@ int ListMenuHandleInput(u8 taskId) -ListMenuHandleInput: @ 81AE604 + thumb_func_start ListMenuHandleInputGetItemId +@ int ListMenuHandleInputGetItemId(u8 taskId) +ListMenuHandleInputGetItemId: @ 81AE604 push {lr} lsls r0, 24 lsrs r0, 24 @@ -337,7 +337,7 @@ _081AE6BE: _081AE6C2: pop {r1} bx r1 - thumb_func_end ListMenuHandleInput + thumb_func_end ListMenuHandleInputGetItemId thumb_func_start sub_81AE6C8 sub_81AE6C8: @ 81AE6C8 @@ -557,8 +557,8 @@ _081AE856: .pool thumb_func_end sub_81AE838 - thumb_func_start get_coro_args_x18_x1A -get_coro_args_x18_x1A: @ 81AE860 + thumb_func_start sub_81AE860 +sub_81AE860: @ 81AE860 push {lr} adds r3, r1, 0 lsls r0, 24 @@ -581,7 +581,7 @@ _081AE882: pop {r0} bx r0 .pool - thumb_func_end get_coro_args_x18_x1A + thumb_func_end sub_81AE860 thumb_func_start ListMenuGetYCoordForPrintingArrowCursor @ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId) @@ -773,7 +773,7 @@ ListMenuPrint: @ 81AE9B4 str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r1, [r5, 0x3] movs r0, 0x7F ands r0, r1 @@ -810,7 +810,7 @@ _081AEA20: str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _081AEA5E: add sp, 0x18 pop {r4-r7} diff --git a/asm/load_save.s b/asm/load_save.s deleted file mode 100644 index 2b4be8e67..000000000 --- a/asm/load_save.s +++ /dev/null @@ -1,669 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start MoveSaveBlocks_ResetHeap -MoveSaveBlocks_ResetHeap: @ 8076C2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r5, =gMain - ldr r0, [r5, 0xC] - str r0, [sp] - ldr r1, [r5, 0x10] - str r1, [sp, 0x4] - movs r0, 0 - str r0, [r5, 0xC] - str r0, [r5, 0x10] - ldr r1, =gUnknown_0203CF5C - str r0, [r1] - ldr r4, =0x02000000 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r6, =0x00000f2c - adds r0, r4, 0 - adds r2, r6, 0 - bl memcpy - ldr r1, =gSaveBlock1Ptr - mov r10, r1 - ldr r1, [r1] - ldr r7, =0x00003d88 - ldr r0, =0x02000f2c - adds r2, r7, 0 - bl memcpy - ldr r0, =gPokemonStoragePtr - mov r8, r0 - ldr r1, [r0] - ldr r0, =0x000083d0 - mov r9, r0 - ldr r0, =0x02004cb4 - mov r2, r9 - bl memcpy - ldrb r1, [r4, 0xA] - ldrb r0, [r4, 0xB] - adds r1, r0 - ldrb r0, [r4, 0xC] - adds r1, r0 - ldrb r0, [r4, 0xD] - adds r0, r1 - bl SetSaveBlocksPointers - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - adds r1, r4, 0 - adds r2, r6, 0 - bl memcpy - mov r1, r10 - ldr r0, [r1] - ldr r1, =0x02000f2c - adds r2, r7, 0 - bl memcpy - mov r1, r8 - ldr r0, [r1] - ldr r1, =0x02004cb4 - mov r2, r9 - bl memcpy - movs r1, 0xE0 - lsls r1, 9 - adds r0, r4, 0 - bl InitHeap - ldr r0, [sp, 0x4] - str r0, [r5, 0x10] - ldr r1, [sp] - str r1, [r5, 0xC] - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - adds r4, r0 - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToAllEncryptedData - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - adds r0, 0xAC - str r4, [r0] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MoveSaveBlocks_ResetHeap - - thumb_func_start sav2_x1_query_bit1 -sav2_x1_query_bit1: @ 8076D24 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sav2_x1_query_bit1 - - thumb_func_start sav2_x9_clear_bit1 -sav2_x9_clear_bit1: @ 8076D34 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0xFE - ands r0, r1 - strb r0, [r2, 0x9] - bx lr - .pool - thumb_func_end sav2_x9_clear_bit1 - - thumb_func_start sub_8076D48 -sub_8076D48: @ 8076D48 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - bx lr - .pool - thumb_func_end sub_8076D48 - - thumb_func_start sub_8076D5C -sub_8076D5C: @ 8076D5C - push {lr} - movs r0, 0 - bl sub_8084FAC - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076D5C - - thumb_func_start sav2_gender2_inplace_and_xFE -sav2_gender2_inplace_and_xFE: @ 8076D78 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0xFE - ands r0, r1 - strb r0, [r2, 0x9] - bx lr - .pool - thumb_func_end sav2_gender2_inplace_and_xFE - - thumb_func_start copy_player_party_to_sav1 -@ void copy_player_party_to_sav1() -copy_player_party_to_sav1: @ 8076D8C - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - movs r2, 0x8D - lsls r2, 2 - adds r0, r2 - strb r1, [r0] - movs r4, 0 -_08076DA0: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x64 - muls r1, r4 - adds r0, r1 - movs r2, 0x8E - lsls r2, 2 - adds r0, r2 - ldr r2, =gPlayerParty - adds r1, r2 - movs r2, 0x64 - bl memcpy - adds r4, 0x1 - cmp r4, 0x5 - ble _08076DA0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end copy_player_party_to_sav1 - - thumb_func_start copy_player_party_from_sav1 -copy_player_party_from_sav1: @ 8076DD4 - push {r4,r5,lr} - ldr r1, =gPlayerPartyCount - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r2, 0x8D - lsls r2, 2 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - movs r4, 0 - ldr r5, =gPlayerParty -_08076DEA: - movs r0, 0x64 - adds r2, r4, 0 - muls r2, r0 - adds r0, r2, r5 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - adds r1, r2 - movs r2, 0x8E - lsls r2, 2 - adds r1, r2 - movs r2, 0x64 - bl memcpy - adds r4, 0x1 - cmp r4, 0x5 - ble _08076DEA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end copy_player_party_from_sav1 - - thumb_func_start save_serialize_npcs -save_serialize_npcs: @ 8076E1C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gSaveBlock1Ptr - mov r12, r0 - movs r5, 0xA3 - lsls r5, 4 - mov r8, r5 - ldr r4, =gMapObjects - movs r3, 0 - movs r2, 0xF -_08076E32: - mov r6, r12 - ldr r1, [r6] - adds r1, r3 - add r1, r8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08076E32 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end save_serialize_npcs - - thumb_func_start save_deserialize_npcs -save_deserialize_npcs: @ 8076E64 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gSaveBlock1Ptr - mov r12, r0 - movs r5, 0xA3 - lsls r5, 4 - mov r8, r5 - ldr r4, =gMapObjects - movs r3, 0 - movs r2, 0xF -_08076E7A: - mov r6, r12 - ldr r1, [r6] - adds r1, r3 - adds r0, r4, 0 - add r1, r8 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08076E7A - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end save_deserialize_npcs - - thumb_func_start SaveSerializedGame -SaveSerializedGame: @ 8076EAC - push {lr} - bl copy_player_party_to_sav1 - bl save_serialize_npcs - pop {r0} - bx r0 - thumb_func_end SaveSerializedGame - - thumb_func_start LoadSerializedGame -LoadSerializedGame: @ 8076EBC - push {lr} - bl copy_player_party_from_sav1 - bl save_deserialize_npcs - pop {r0} - bx r0 - thumb_func_end LoadSerializedGame - - thumb_func_start copy_bags_and_unk_data_from_save_blocks -copy_bags_and_unk_data_from_save_blocks: @ 8076ECC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r2, 0 - ldr r0, =gUnknown_02032180 - mov r12, r0 - ldr r1, =gSaveBlock2Ptr - mov r10, r1 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xAC - lsls r3, 3 - ldr r4, =gUnknown_02031C58 -_08076EE8: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x1D - ble _08076EE8 - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xBB - lsls r3, 3 - adds r4, r0, 0 - adds r4, 0x78 -_08076F08: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x1D - ble _08076F08 - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xCA - lsls r3, 3 - adds r4, r0, 0 - adds r4, 0xF0 -_08076F28: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0xF - ble _08076F28 - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r6, 0x98 - lsls r6, 1 - adds r4, r0, r6 - movs r3, 0xD2 - lsls r3, 3 -_08076F4A: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x3F - ble _08076F4A - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r7, 0x8C - lsls r7, 2 - adds r4, r0, r7 - movs r3, 0xF2 - lsls r3, 3 -_08076F6C: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x2D - ble _08076F6C - ldr r0, =gUnknown_02031C58 - ldr r1, =gSaveBlock1Ptr - mov r8, r1 - movs r5, 0xBA - lsls r5, 2 - adds r4, r0, r5 - movs r3, 0 - ldr r6, =0x00002be0 - mov r9, r6 - movs r2, 0xF -_08076F92: - mov r7, r8 - ldr r1, [r7] - adds r1, r3 - adds r0, r4, 0 - add r1, r9 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08076F92 - mov r1, r10 - ldr r0, [r1] - adds r0, 0xAC - ldr r0, [r0] - mov r5, r12 - str r0, [r5] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end copy_bags_and_unk_data_from_save_blocks - - thumb_func_start copy_bags_and_unk_data_to_save_blocks -copy_bags_and_unk_data_to_save_blocks: @ 8076FE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r2, 0 - ldr r0, =gSaveBlock2Ptr - mov r8, r0 - ldr r1, =gUnknown_02032180 - mov r12, r1 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xAC - lsls r3, 3 - ldr r4, =gUnknown_02031C58 -_08076FFC: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r3 - adds r0, r1 - ldm r4!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x1D - ble _08076FFC - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xBB - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - adds r3, r0, 0 - adds r3, 0x78 -_0807701C: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x1D - ble _0807701C - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xCA - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - adds r3, r0, 0 - adds r3, 0xF0 -_0807703C: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0xF - ble _0807703C - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xD2 - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - movs r6, 0x98 - lsls r6, 1 - adds r3, r0, r6 -_0807705E: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x3F - ble _0807705E - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xF2 - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - movs r7, 0x8C - lsls r7, 2 - adds r3, r0, r7 -_08077080: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x2D - ble _08077080 - ldr r0, =gSaveBlock1Ptr - mov r9, r0 - ldr r1, =0x00002be0 - mov r10, r1 - ldr r4, =gUnknown_02031C58 - movs r3, 0 - movs r2, 0xF -_080770A0: - mov r5, r9 - ldr r1, [r5] - adds r1, r3 - add r1, r10 - movs r6, 0xBA - lsls r6, 2 - adds r0, r4, r6 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _080770A0 - mov r7, r8 - ldr r0, [r7] - adds r0, 0xAC - ldr r4, [r0] - mov r2, r12 - ldr r1, [r2] - str r1, [r0] - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToBagItems - ldr r0, [r7] - adds r0, 0xAC - str r4, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end copy_bags_and_unk_data_to_save_blocks - - thumb_func_start ApplyNewEncyprtionKeyToHword -ApplyNewEncyprtionKeyToHword: @ 8077100 - ldr r2, =gSaveBlock2Ptr - ldr r2, [r2] - adds r2, 0xAC - ldr r2, [r2] - ldrh r3, [r0] - eors r2, r3 - eors r2, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ApplyNewEncyprtionKeyToHword - - thumb_func_start ApplyNewEncyprtionKeyToWord -ApplyNewEncyprtionKeyToWord: @ 8077118 - ldr r2, =gSaveBlock2Ptr - ldr r3, [r2] - adds r3, 0xAC - ldr r2, [r0] - ldr r3, [r3] - eors r2, r3 - eors r2, r1 - str r2, [r0] - bx lr - .pool - thumb_func_end ApplyNewEncyprtionKeyToWord - - thumb_func_start ApplyNewEncyprtionKeyToAllEncryptedData -ApplyNewEncyprtionKeyToAllEncryptedData: @ 8077130 - push {r4,r5,lr} - adds r4, r0, 0 - bl ApplyNewEncyprtionKeyToGameStats - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToBagItems_ - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToBerryPowder - ldr r5, =gSaveBlock1Ptr - ldr r0, [r5] - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - adds r1, r4, 0 - bl ApplyNewEncyprtionKeyToWord - ldr r0, [r5] - ldr r1, =0x00000494 - adds r0, r1 - adds r1, r4, 0 - bl ApplyNewEncyprtionKeyToHword - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ApplyNewEncyprtionKeyToAllEncryptedData - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros.inc b/asm/macros.inc index 135cfac61..7c35e059d 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -1,5 +1,6 @@ .include "asm/macros/asm.inc" .include "asm/macros/function.inc" + .include "asm/macros/movement.inc" .include "asm/macros/window.inc" .include "asm/macros/pokemon_data.inc" .include "asm/macros/ec.inc" @@ -64,7 +65,7 @@ .byte 3, 4, \slot, \slot, \slot .endm - .macro sprite_oam x, y, priority, tile_num_offset, size + .macro subsprite x, y, priority, tile_num_offset, size .byte \x .byte \y .2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size @@ -113,7 +114,22 @@ .4byte 0 @ padding .endm - .macro obj_rot_scal_anim_end + .macro obj_rot_scal_anim_end unknown=0 .2byte 0x7fff - .fill 6 @ padding + .2byte \unknown + .fill 4 @ padding + .endm + + .macro door_anim_frame unknown, offset + .byte \unknown + .byte 0 @ padding + .2byte \offset + .endm + + .macro door_anim_gfx metatile_num, unknown, unknown2, tile_addr, palette_addr + .2byte \metatile_num + .byte \unknown + .byte \unknown2 + .4byte \tile_addr + .4byte \palette_addr .endm diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc new file mode 100644 index 000000000..5e81686bf --- /dev/null +++ b/asm/macros/battle_ai_script.inc @@ -0,0 +1,619 @@ + .macro if_random_less_than param0, param1 + .byte 0x0 + .byte \param0 + .4byte \param1 + .endm + + .macro if_random_greater_than param0, param1 + .byte 0x1 + .byte \param0 + .4byte \param1 + .endm + + .macro if_random_equal param0, param1 + .byte 0x2 + .byte \param0 + .4byte \param1 + .endm + + .macro if_random_not_equal param0, param1 + .byte 0x3 + .byte \param0 + .4byte \param1 + .endm + + .macro score param0 + .byte 0x4 + .byte \param0 + .endm + + .macro if_hp_less_than bank, param1, param2 + .byte 0x5 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_hp_more_than bank, param1, param2 + .byte 0x6 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_hp_equal bank, param1, param2 + .byte 0x7 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_hp_not_equal bank, param1, param2 + .byte 0x8 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_status bank, status1, param2 + .byte 0x9 + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro if_not_status bank, status1, param2 + .byte 0xa + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro if_status2 bank, status2, param2 + .byte 0xb + .byte \bank + .4byte \status2 + .4byte \param2 + .endm + + .macro if_not_status2 bank, status2, param2 + .byte 0xc + .byte \bank + .4byte \status2 + .4byte \param2 + .endm + + .macro if_status3 bank, status3, param2 + .byte 0xd + .byte \bank + .4byte \status3 + .4byte \param2 + .endm + + .macro if_not_status3 bank, status3, param2 + .byte 0xe + .byte \bank + .4byte \status3 + .4byte \param2 + .endm + + .macro if_side_affecting bank, sidestatus, param2 + .byte 0xf + .byte \bank + .4byte \sidestatus + .4byte \param2 + .endm + + .macro if_not_side_affecting bank, sidestatus, param2 + .byte 0x10 + .byte \bank + .4byte \sidestatus + .4byte \param2 + .endm + + .macro if_less_than param0, param1 + .byte 0x11 + .byte \param0 + .4byte \param1 + .endm + + .macro if_more_than param0, param1 + .byte 0x12 + .byte \param0 + .4byte \param1 + .endm + + .macro if_equal param0, param1 + .byte 0x13 + .byte \param0 + .4byte \param1 + .endm + + .macro if_not_equal param0, param1 + .byte 0x14 + .byte \param0 + .4byte \param1 + .endm + + .macro if_less_than_ptr param0, param1 + .byte 0x15 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_more_than_ptr param0, param1 + .byte 0x16 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_equal_ptr param0, param1 + .byte 0x17 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_not_equal_ptr param0, param1 + .byte 0x18 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_move param0, param1 + .byte 0x19 + .2byte \param0 + .4byte \param1 + .endm + + .macro if_not_move param0, param1 + .byte 0x1a + .2byte \param0 + .4byte \param1 + .endm + + .macro if_in_bytes param0, param1 + .byte 0x1b + .4byte \param0 + .4byte \param1 + .endm + + .macro if_not_in_bytes param0, param1 + .byte 0x1c + .4byte \param0 + .4byte \param1 + .endm + + .macro if_in_hwords param0, param1 + .byte 0x1d + .4byte \param0 + .4byte \param1 + .endm + + .macro if_not_in_hwords param0, param1 + .byte 0x1e + .4byte \param0 + .4byte \param1 + .endm + + .macro if_user_has_attacking_move param0 + .byte 0x1f + .4byte \param0 + .endm + + .macro if_user_has_no_attacking_moves param0 + .byte 0x20 + .4byte \param0 + .endm + + .macro get_turn_count + .byte 0x21 + .endm + + .macro get_type param0 + .byte 0x22 + .byte \param0 + .endm + + .macro get_considered_move_power + .byte 0x23 + .endm + + .macro get_how_powerful_move_is + .byte 0x24 + .endm + + .macro get_last_used_bank_move bank + .byte 0x25 + .byte \bank + .endm + + .macro if_equal_ param0, param1 + .byte 0x26 + .byte \param0 + .4byte \param1 + .endm + + .macro if_not_equal_ param0, param1 + .byte 0x27 + .byte \param0 + .4byte \param1 + .endm + + .macro if_user_goes param0, param1 + .byte 0x28 + .byte \param0 + .4byte \param1 + .endm + + .macro if_user_doesnt_go param0, param1 + .byte 0x29 + .byte \param0 + .4byte \param1 + .endm + + .macro nullsub_2A + .byte 0x2a + .endm + + .macro nullsub_2B + .byte 0x2b + .endm + + .macro count_usable_party_mons bank + .byte 0x2c + .byte \bank + .endm + + .macro get_considered_move + .byte 0x2d + .endm + + .macro get_considered_move_effect + .byte 0x2e + .endm + + .macro get_ability bank + .byte 0x2f + .byte \bank + .endm + + .macro get_highest_type_effectiveness + .byte 0x30 + .endm + + .macro if_type_effectiveness param0, param1 + .byte 0x31 + .byte \param0 + .4byte \param1 + .endm + + .macro nullsub_32 + .byte 0x32 + .endm + + .macro nullsub_33 + .byte 0x33 + .endm + + .macro if_status_in_party bank, status1, param2 + .byte 0x34 + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro if_status_not_in_party bank, status1, param2 + .byte 0x35 + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro get_weather + .byte 0x36 + .endm + + .macro if_effect param0, param1 + .byte 0x37 + .byte \param0 + .4byte \param1 + .endm + + .macro if_not_effect param0, param1 + .byte 0x38 + .byte \param0 + .4byte \param1 + .endm + + .macro if_stat_level_less_than bank, stat, param2, param3 + .byte 0x39 + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_stat_level_more_than bank, stat, param2, param3 + .byte 0x3a + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_stat_level_equal bank, stat, param2, param3 + .byte 0x3b + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_stat_level_not_equal bank, stat, param2, param3 + .byte 0x3c + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_can_faint param0 + .byte 0x3d + .4byte \param0 + .endm + + .macro if_cant_faint param0 + .byte 0x3e + .4byte \param0 + .endm + + .macro if_has_move bank, param1, param2 + .byte 0x3f + .byte \bank + .2byte \param1 + .4byte \param2 + .endm + + .macro if_doesnt_have_move bank, param1, param2 + .byte 0x40 + .byte \bank + .2byte \param1 + .4byte \param2 + .endm + + .macro if_has_move_with_effect bank, param1, param2 + .byte 0x41 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_doesnt_have_move_with_effect bank, param1, param2 + .byte 0x42 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_any_move_disabled_or_encored bank, param1, param2 + .byte 0x43 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_curr_move_disabled_or_encored param0, param1 + .byte 0x44 + .byte \param0 + .4byte \param1 + .endm + + .macro flee + .byte 0x45 + .endm + + .macro if_random_safari_flee param0 + .byte 0x46 + .4byte \param0 + .endm + + .macro watch + .byte 0x47 + .endm + + .macro get_hold_effect bank + .byte 0x48 + .byte \bank + .endm + + .macro get_gender bank + .byte 0x49 + .byte \bank + .endm + + .macro is_first_turn_for bank + .byte 0x4a + .byte \bank + .endm + + .macro get_stockpile_count bank + .byte 0x4b + .byte \bank + .endm + + .macro is_double_battle + .byte 0x4c + .endm + + .macro get_used_held_item bank + .byte 0x4d + .byte \bank + .endm + + .macro get_move_type_from_result + .byte 0x4e + .endm + + .macro get_move_power_from_result + .byte 0x4f + .endm + + .macro get_move_effect_from_result + .byte 0x50 + .endm + + .macro get_protect_count bank + .byte 0x51 + .byte \bank + .endm + + .macro nullsub_52 + .byte 0x52 + .endm + + .macro nullsub_53 + .byte 0x53 + .endm + + .macro nullsub_54 + .byte 0x54 + .endm + + .macro nullsub_55 + .byte 0x55 + .endm + + .macro nullsub_56 + .byte 0x56 + .endm + + .macro nullsub_57 + .byte 0x57 + .endm + + .macro call param0 + .byte 0x58 + .4byte \param0 + .endm + + .macro goto param0 + .byte 0x59 + .4byte \param0 + .endm + + .macro end + .byte 0x5a + .endm + + .macro if_level_cond param0, param1 + .byte 0x5b + .byte \param0 + .4byte \param1 + .endm + + .macro if_target_taunted param0 + .byte 0x5c + .4byte \param0 + .endm + + .macro if_target_not_taunted param0 + .byte 0x5d + .4byte \param0 + .endm + + .macro if_target_is_ally param0 + .byte 0x5e + .4byte \param0 + .endm + + .macro is_of_type bank, type + .byte 0x5f + .byte \bank + .byte \type + .endm + + .macro check_ability bank, ability + .byte 0x60 + .byte \bank + .byte \ability + .endm + + .macro if_flash_fired bank, param1 + .byte 0x61 + .byte \bank + .4byte \param1 + .endm + + .macro if_holds_item bank, param1, param2 + .byte 0x62 + .byte \bank + .2byte \param1 + .4byte \param2 + .endm + +@ useful script macros + .macro get_curr_move_type + get_type AI_TYPE_MOVE + .endm + + .macro get_user_type1 + get_type AI_TYPE1_USER + .endm + + .macro get_user_type2 + get_type AI_TYPE2_USER + .endm + + .macro get_target_type1 + get_type AI_TYPE1_TARGET + .endm + + .macro get_target_type2 + get_type AI_TYPE2_TARGET + .endm + + .macro if_ability bank, ability, ptr + check_ability \bank, \ability + if_equal 1, \ptr + .endm + + .macro if_no_ability bank, ability, ptr + check_ability \bank, \ability + if_equal 0, \ptr + .endm + + .macro if_type bank, type, ptr + is_of_type \bank, \type + if_equal 1, \ptr + .endm + + .macro if_no_type bank, type, ptr + is_of_type \bank, \type + if_equal 0, \ptr + .endm + + .macro if_target_faster ptr + if_user_goes 1, \ptr + .endm + + .macro if_user_faster ptr + if_user_goes 0, \ptr + .endm + + .macro if_double_battle ptr + is_double_battle + if_equal 1, \ptr + .endm + + .macro if_not_double_battle ptr + is_double_battle + if_equal 0, \ptr + .endm + + .macro if_any_move_disabled bank, ptr + if_any_move_disabled_or_encored \bank, 0, \ptr + .endm + + .macro if_any_move_encored bank, ptr + if_any_move_disabled_or_encored \bank, 1, \ptr + .endm diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc new file mode 100644 index 000000000..b26d1218d --- /dev/null +++ b/asm/macros/battle_anim_script.inc @@ -0,0 +1,268 @@ +@ commands + + .macro loadspritegfx param0 + .byte 0x0 + .2byte \param0 + .endm + + .macro unloadspritegfx param0 + .byte 0x1 + .2byte \param0 + .endm + + .macro createsprite template, priority, argv:vararg + .byte 0x02 + .4byte \template + .byte \priority + .byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2 +.Lsprite_\@_1: + .2byte \argv +.Lsprite_\@_2: + .endm + + .macro createvisualtask addr, priority, argv:vararg + .byte 0x03 + .4byte \addr + .byte \priority + .byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2 +.Lcreatetask_\@_1: + .2byte \argv +.Lcreatetask_\@_2: + .endm + + .macro delay param0 + .byte 0x4 + .byte \param0 + .endm + + .macro waitforvisualfinish + .byte 0x5 + .endm + + .macro hang1 + .byte 0x6 + .endm + + .macro hang2 + .byte 0x7 + .endm + + .macro end + .byte 0x8 + .endm + + .macro playse param0 + .byte 0x9 + .2byte \param0 + .endm + + .macro monbg bank + .byte 0xa + .byte \bank + .endm + + .macro clearmonbg bank + .byte 0xb + .byte \bank + .endm + + .macro setalpha param0 + .byte 0xc + .2byte \param0 + .endm + + .macro blendoff + .byte 0xd + .endm + + .macro call param0 + .byte 0xe + .4byte \param0 + .endm + + .macro return + .byte 0xf + .endm + + .macro setarg param0, param1 + .byte 0x10 + .byte \param0 + .2byte \param1 + .endm + + .macro choosetwoturnanim param0, param1 + .byte 0x11 + .4byte \param0 + .4byte \param1 + .endm + + .macro jumpifmoveturn param0, param1 + .byte 0x12 + .byte \param0 + .4byte \param1 + .endm + + .macro goto param0 + .byte 0x13 + .4byte \param0 + .endm + + .macro fadetobg param0 + .byte 0x14 + .byte \param0 + .endm + + .macro restorebg + .byte 0x15 + .endm + + .macro waitbgfadeout + .byte 0x16 + .endm + + .macro waitbgfadein + .byte 0x17 + .endm + + .macro changebg param0 + .byte 0x18 + .byte \param0 + .endm + + .macro playsewithpan param0, param1 + .byte 0x19 + .2byte \param0 + .byte \param1 + .endm + + .macro setpan param0 + .byte 0x1a + .byte \param0 + .endm + + .macro panse_1B param0, param1, param2, param3, param4 + .byte 0x1b + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro loopsewithpan param0, param1, param2, param3 + .byte 0x1c + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .endm + + .macro waitplaysewithpan param0, param1, param2 + .byte 0x1d + .2byte \param0 + .byte \param1 + .byte \param2 + .endm + + .macro setbldcnt param0 + .byte 0x1e + .2byte \param0 + .endm + + .macro createsoundtask addr, argv:vararg + .byte 0x1F + .4byte \addr + .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2 +.Lcreatetask_1F_\@_1: + .2byte \argv +.Lcreatetask_1F_\@_2: + .endm + + .macro waitsound + .byte 0x20 + .endm + + .macro jumpargeq param0, param1, param2 + .byte 0x21 + .byte \param0 + .2byte \param1 + .4byte \param2 + .endm + + .macro monbg_22 bank + .byte 0x22 + .byte \bank + .endm + + .macro clearmonbg_23 bank + .byte 0x23 + .byte \bank + .endm + + .macro jumpifcontest param0 + .byte 0x24 + .4byte \param0 + .endm + + .macro fadetobgfromset param0, param1, param2 + .byte 0x25 + .byte \param0 + .byte \param1 + .byte \param2 + .endm + + .macro panse_26 param0, param1, param2, param3, param4 + .byte 0x26 + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro panse_27 param0, param1, param2, param3, param4 + .byte 0x27 + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro monbgprio_28 bank + .byte 0x28 + .byte \bank + .endm + + .macro monbgprio_29 + .byte 0x29 + .endm + + .macro monbgprio_2A bank + .byte 0x2a + .byte \bank + .endm + + .macro invisible bank + .byte 0x2b + .byte \bank + .endm + + .macro visible bank + .byte 0x2c + .byte \bank + .endm + + .macro doublebattle_2D bank + .byte 0x2d + .byte \bank + .endm + + .macro doublebattle_2E bank + .byte 0x2e + .byte \bank + .endm + + .macro stopsound + .byte 0x2f + .endm diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc new file mode 100644 index 000000000..083107c08 --- /dev/null +++ b/asm/macros/battle_script.inc @@ -0,0 +1,1401 @@ +@ commands + .macro attackcanceler + .byte 0x0 + .endm + + .macro accuracycheck param0, param1 + .byte 0x1 + .4byte \param0 + .2byte \param1 + .endm + + .macro attackstring + .byte 0x2 + .endm + + .macro ppreduce + .byte 0x3 + .endm + + .macro critcalc + .byte 0x4 + .endm + + .macro damagecalc + .byte 0x5 + .endm + + .macro typecalc + .byte 0x6 + .endm + + .macro adjustnormaldamage + .byte 0x7 + .endm + + .macro adjustnormaldamage2 + .byte 0x8 + .endm + + .macro attackanimation + .byte 0x9 + .endm + + .macro waitanimation + .byte 0xa + .endm + + .macro healthbarupdate bank + .byte 0xb + .byte \bank + .endm + + .macro datahpupdate bank + .byte 0xc + .byte \bank + .endm + + .macro critmessage + .byte 0xd + .endm + + .macro effectivenesssound + .byte 0xe + .endm + + .macro resultmessage + .byte 0xf + .endm + + .macro printstring param0 + .byte 0x10 + .2byte \param0 + .endm + + .macro printselectionstring param0 + .byte 0x11 + .2byte \param0 + .endm + + .macro waitmessage param0 + .byte 0x12 + .2byte \param0 + .endm + + .macro printfromtable param0 + .byte 0x13 + .4byte \param0 + .endm + + .macro printselectionstringfromtable param0 + .byte 0x14 + .4byte \param0 + .endm + + .macro seteffectwithchance + .byte 0x15 + .endm + + .macro seteffectprimary + .byte 0x16 + .endm + + .macro seteffectsecondary + .byte 0x17 + .endm + + .macro clearstatusfromeffect bank + .byte 0x18 + .byte \bank + .endm + + .macro tryfaintmon bank, param1, param2 + .byte 0x19 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro dofaintanimation bank + .byte 0x1a + .byte \bank + .endm + + .macro cleareffectsonfaint bank + .byte 0x1b + .byte \bank + .endm + + .macro jumpifstatus bank, status1, param2 + .byte 0x1c + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro jumpifstatus2 bank, status2, param2 + .byte 0x1d + .byte \bank + .4byte \status2 + .4byte \param2 + .endm + + .macro jumpifability param0, ability, param2 + .byte 0x1e + .byte \param0 + .byte \ability + .4byte \param2 + .endm + + .macro jumpifsideaffecting bank, sidestatus, param2 + .byte 0x1f + .byte \bank + .2byte \sidestatus + .4byte \param2 + .endm + + .macro jumpifstat bank, ifflag, stat, param3, param4 + .byte 0x20 + .byte \bank + .byte \ifflag + .byte \stat + .byte \param3 + .4byte \param4 + .endm + + .macro jumpifstatus3condition bank, status3, param2, param3 + .byte 0x21 + .byte \bank + .4byte \status3 + .byte \param2 + .4byte \param3 + .endm + + .macro jumpiftype bank, type, param2 + .byte 0x22 + .byte \bank + .byte \type + .4byte \param2 + .endm + + .macro getexp bank + .byte 0x23 + .byte \bank + .endm + + .macro atk24 param0 + .byte 0x24 + .4byte \param0 + .endm + + .macro movevaluescleanup + .byte 0x25 + .endm + + .macro setmultihit param0 + .byte 0x26 + .byte \param0 + .endm + + .macro decrementmultihit param0 + .byte 0x27 + .4byte \param0 + .endm + + .macro goto param0 + .byte 0x28 + .4byte \param0 + .endm + + .macro jumpifbyte ifflag, param1, param2, param3 + .byte 0x29 + .byte \ifflag + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro jumpifhalfword ifflag, param1, param2, param3 + .byte 0x2a + .byte \ifflag + .4byte \param1 + .2byte \param2 + .4byte \param3 + .endm + + .macro jumpifword ifflag, param1, param2, param3 + .byte 0x2b + .byte \ifflag + .4byte \param1 + .4byte \param2 + .4byte \param3 + .endm + + .macro jumpifarrayequal param0, param1, param2, param3 + .byte 0x2c + .4byte \param0 + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro jumpifarraynotequal param0, param1, param2, param3 + .byte 0x2d + .4byte \param0 + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro setbyte param0, param1 + .byte 0x2e + .4byte \param0 + .byte \param1 + .endm + + .macro addbyte param0, param1 + .byte 0x2f + .4byte \param0 + .byte \param1 + .endm + + .macro subbyte param0, param1 + .byte 0x30 + .4byte \param0 + .byte \param1 + .endm + + .macro copyarray param0, param1, param2 + .byte 0x31 + .4byte \param0 + .4byte \param1 + .byte \param2 + .endm + + .macro copyarraywithindex param0, param1, param2, param3 + .byte 0x32 + .4byte \param0 + .4byte \param1 + .4byte \param2 + .byte \param3 + .endm + + .macro orbyte param0, param1 + .byte 0x33 + .4byte \param0 + .byte \param1 + .endm + + .macro orhalfword param0, param1 + .byte 0x34 + .4byte \param0 + .2byte \param1 + .endm + + .macro orword param0, param1 + .byte 0x35 + .4byte \param0 + .4byte \param1 + .endm + + .macro bicbyte param0, param1 + .byte 0x36 + .4byte \param0 + .byte \param1 + .endm + + .macro bichalfword param0, param1 + .byte 0x37 + .4byte \param0 + .2byte \param1 + .endm + + .macro bicword param0, param1 + .byte 0x38 + .4byte \param0 + .4byte \param1 + .endm + + .macro pause param0 + .byte 0x39 + .2byte \param0 + .endm + + .macro waitstate + .byte 0x3a + .endm + + .macro healthbar_update bank + .byte 0x3b + .byte \bank + .endm + + .macro return + .byte 0x3c + .endm + + .macro end + .byte 0x3d + .endm + + .macro end2 + .byte 0x3e + .endm + + .macro end3 + .byte 0x3f + .endm + + .macro jumpifaffectedbyprotect param0 + .byte 0x40 + .4byte \param0 + .endm + + .macro call param0 + .byte 0x41 + .4byte \param0 + .endm + + .macro jumpiftype2 bank, type, param2 + .byte 0x42 + .byte \bank + .byte \type + .4byte \param2 + .endm + + .macro jumpifabilitypresent ability, param1 + .byte 0x43 + .byte \ability + .4byte \param1 + .endm + + .macro endselectionscript + .byte 0x44 + .endm + + .macro playanimation bank, param1, param2 + .byte 0x45 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro playanimation2 bank, param1, param2 + .byte 0x46 + .byte \bank + .4byte \param1 + .4byte \param2 + .endm + + .macro setgraphicalstatchangevalues + .byte 0x47 + .endm + + .macro playstatchangeanimation bank, param1, param2 + .byte 0x48 + .byte \bank + .byte \param1 + .byte \param2 + .endm + + .macro moveend param0, param1 + .byte 0x49 + .byte \param0 + .byte \param1 + .endm + + .macro typecalc2 + .byte 0x4a + .endm + + .macro returnatktoball + .byte 0x4b + .endm + + .macro getswitchedmondata bank + .byte 0x4c + .byte \bank + .endm + + .macro switchindataupdate bank + .byte 0x4d + .byte \bank + .endm + + .macro switchinanim bank, dontclearsubstitutebit + .byte 0x4e + .byte \bank + .byte \dontclearsubstitutebit + .endm + + .macro jumpifcantswitch bank, param1 + .byte 0x4f + .byte \bank + .4byte \param1 + .endm + + .macro openpartyscreen param0, param1 + .byte 0x50 + .byte \param0 + .4byte \param1 + .endm + + .macro switchhandleorder bank, param1 + .byte 0x51 + .byte \bank + .byte \param1 + .endm + + .macro switchineffects bank + .byte 0x52 + .byte \bank + .endm + + .macro trainerslidein bank + .byte 0x53 + .byte \bank + .endm + + .macro playse param0 + .byte 0x54 + .2byte \param0 + .endm + + .macro fanfare param0 + .byte 0x55 + .2byte \param0 + .endm + + .macro playfaintcry bank + .byte 0x56 + .byte \bank + .endm + + .macro atk57 + .byte 0x57 + .endm + + .macro returntoball bank + .byte 0x58 + .byte \bank + .endm + + .macro handlelearnnewmove param0, param1, param2 + .byte 0x59 + .4byte \param0 + .4byte \param1 + .byte \param2 + .endm + + .macro yesnoboxlearnmove param0 + .byte 0x5a + .4byte \param0 + .endm + + .macro yesnoboxstoplearningmove param0 + .byte 0x5b + .4byte \param0 + .endm + + .macro hitanimation bank + .byte 0x5c + .byte \bank + .endm + + .macro getmoneyreward + .byte 0x5d + .endm + + .macro atk5E bank + .byte 0x5e + .byte \bank + .endm + + .macro atk5F + .byte 0x5f + .endm + + .macro incrementgamestat param0 + .byte 0x60 + .byte \param0 + .endm + + .macro drawpartystatussummary bank + .byte 0x61 + .byte \bank + .endm + + .macro atk62 bank + .byte 0x62 + .byte \bank + .endm + + .macro jumptorandomattack param0 + .byte 0x63 + .byte \param0 + .endm + + .macro statusanimation bank + .byte 0x64 + .byte \bank + .endm + + .macro status2animation bank, status2 + .byte 0x65 + .byte \bank + .4byte \status2 + .endm + + .macro chosenstatusanimation bank, param1, param2 + .byte 0x66 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro yesnobox + .byte 0x67 + .endm + + .macro cancelallactions + .byte 0x68 + .endm + + .macro adjustsetdamage + .byte 0x69 + .endm + + .macro removeitem bank + .byte 0x6a + .byte \bank + .endm + + .macro atknameinbuff1 + .byte 0x6b + .endm + + .macro drawlvlupbox + .byte 0x6c + .endm + + .macro resetsentmonsvalue + .byte 0x6d + .endm + + .macro setatktoplayer0 + .byte 0x6e + .endm + + .macro makevisible bank + .byte 0x6f + .byte \bank + .endm + + .macro recordlastability bank + .byte 0x70 + .byte \bank + .endm + + .macro buffermovetolearn + .byte 0x71 + .endm + + .macro jumpifplayerran param0 + .byte 0x72 + .4byte \param0 + .endm + + .macro hpthresholds bank + .byte 0x73 + .byte \bank + .endm + + .macro hpthresholds2 bank + .byte 0x74 + .byte \bank + .endm + + .macro useitemonopponent + .byte 0x75 + .endm + + .macro various bank, param1 + .byte 0x76 + .byte \bank + .byte \param1 + .endm + + .macro setprotectlike + .byte 0x77 + .endm + + .macro faintifabilitynotdamp + .byte 0x78 + .endm + + .macro setatkhptozero + .byte 0x79 + .endm + + .macro jumpifnexttargetvalid param0 + .byte 0x7a + .4byte \param0 + .endm + + .macro tryhealhalfhealth param0, bank + .byte 0x7b + .4byte \param0 + .byte \bank + .endm + + .macro trymirrormove + .byte 0x7c + .endm + + .macro setrain + .byte 0x7d + .endm + + .macro setreflect + .byte 0x7e + .endm + + .macro setseeded + .byte 0x7f + .endm + + .macro manipulatedamage param0 + .byte 0x80 + .byte \param0 + .endm + + .macro trysetrest param0 + .byte 0x81 + .4byte \param0 + .endm + + .macro jumpifnotfirstturn param0 + .byte 0x82 + .4byte \param0 + .endm + + .macro nop + .byte 0x83 + .endm + + .macro jumpifcantmakeasleep param0 + .byte 0x84 + .4byte \param0 + .endm + + .macro stockpile + .byte 0x85 + .endm + + .macro stockpiletobasedamage param0 + .byte 0x86 + .4byte \param0 + .endm + + .macro stockpiletohpheal param0 + .byte 0x87 + .4byte \param0 + .endm + + .macro negativedamage + .byte 0x88 + .endm + + .macro statbuffchange param0, param1 + .byte 0x89 + .byte \param0 + .4byte \param1 + .endm + + .macro normalisebuffs + .byte 0x8a + .endm + + .macro setbide + .byte 0x8b + .endm + + .macro confuseifrepeatingattackends + .byte 0x8c + .endm + + .macro setmultihitcounter param0 + .byte 0x8d + .byte \param0 + .endm + + .macro initmultihitstring + .byte 0x8e + .endm + + .macro forcerandomswitch param0 + .byte 0x8f + .4byte \param0 + .endm + + .macro tryconversiontypechange param0 + .byte 0x90 + .4byte \param0 + .endm + + .macro givepaydaymoney + .byte 0x91 + .endm + + .macro setlightscreen + .byte 0x92 + .endm + + .macro tryKO param0 + .byte 0x93 + .4byte \param0 + .endm + + .macro damagetohalftargethp + .byte 0x94 + .endm + + .macro setsandstorm + .byte 0x95 + .endm + + .macro weatherdamage + .byte 0x96 + .endm + + .macro tryinfatuating param0 + .byte 0x97 + .4byte \param0 + .endm + + .macro updatestatusicon bank + .byte 0x98 + .byte \bank + .endm + + .macro setmist + .byte 0x99 + .endm + + .macro setfocusenergy + .byte 0x9a + .endm + + .macro transformdataexecution + .byte 0x9b + .endm + + .macro setsubstitute + .byte 0x9c + .endm + + .macro mimicattackcopy param0 + .byte 0x9d + .4byte \param0 + .endm + + .macro metronome + .byte 0x9e + .endm + + .macro dmgtolevel + .byte 0x9f + .endm + + .macro psywavedamageeffect + .byte 0xa0 + .endm + + .macro counterdamagecalculator param0 + .byte 0xa1 + .4byte \param0 + .endm + + .macro mirrorcoatdamagecalculator param0 + .byte 0xa2 + .4byte \param0 + .endm + + .macro disablelastusedattack param0 + .byte 0xa3 + .4byte \param0 + .endm + + .macro trysetencore param0 + .byte 0xa4 + .4byte \param0 + .endm + + .macro painsplitdmgcalc param0 + .byte 0xa5 + .4byte \param0 + .endm + + .macro settypetorandomresistance param0 + .byte 0xa6 + .4byte \param0 + .endm + + .macro setalwayshitflag + .byte 0xa7 + .endm + + .macro copymovepermanently param0 + .byte 0xa8 + .4byte \param0 + .endm + + .macro trychoosesleeptalkmove param0 + .byte 0xa9 + .4byte \param0 + .endm + + .macro setdestinybond + .byte 0xaa + .endm + + .macro trysetdestinybondtohappen + .byte 0xab + .endm + + .macro remaininghptopower + .byte 0xac + .endm + + .macro tryspiteppreduce param0 + .byte 0xad + .4byte \param0 + .endm + + .macro healpartystatus + .byte 0xae + .endm + + .macro cursetarget param0 + .byte 0xaf + .4byte \param0 + .endm + + .macro trysetspikes param0 + .byte 0xb0 + .4byte \param0 + .endm + + .macro setforesight + .byte 0xb1 + .endm + + .macro trysetperishsong param0 + .byte 0xb2 + .4byte \param0 + .endm + + .macro rolloutdamagecalculation + .byte 0xb3 + .endm + + .macro jumpifconfusedandstatmaxed stat, param1 + .byte 0xb4 + .byte \stat + .4byte \param1 + .endm + + .macro furycuttercalc + .byte 0xb5 + .endm + + .macro happinesstodamagecalculation + .byte 0xb6 + .endm + + .macro presentdamagecalculation + .byte 0xb7 + .endm + + .macro setsafeguard + .byte 0xb8 + .endm + + .macro magnitudedamagecalculation + .byte 0xb9 + .endm + + .macro jumpifnopursuitswitchdmg param0 + .byte 0xba + .4byte \param0 + .endm + + .macro setsunny + .byte 0xbb + .endm + + .macro maxattackhalvehp param0 + .byte 0xbc + .4byte \param0 + .endm + + .macro copyfoestats param0 + .byte 0xbd + .4byte \param0 + .endm + + .macro rapidspinfree + .byte 0xbe + .endm + + .macro setdefensecurlbit + .byte 0xbf + .endm + + .macro recoverbasedonsunlight param0 + .byte 0xc0 + .4byte \param0 + .endm + + .macro hiddenpowercalc + .byte 0xc1 + .endm + + .macro selectfirstvalidtarget + .byte 0xc2 + .endm + + .macro trysetfutureattack param0 + .byte 0xc3 + .4byte \param0 + .endm + + .macro trydobeatup param0, param1 + .byte 0xc4 + .4byte \param0 + .4byte \param1 + .endm + + .macro setsemiinvulnerablebit + .byte 0xc5 + .endm + + .macro clearsemiinvulnerablebit + .byte 0xc6 + .endm + + .macro setminimize + .byte 0xc7 + .endm + + .macro sethail + .byte 0xc8 + .endm + + .macro jumpifattackandspecialattackcannotfall param0 + .byte 0xc9 + .4byte \param0 + .endm + + .macro setforcedtarget + .byte 0xca + .endm + + .macro setcharge + .byte 0xcb + .endm + + .macro callterrainattack + .byte 0xcc + .endm + + .macro cureifburnedparalysedorpoisoned param0 + .byte 0xcd + .4byte \param0 + .endm + + .macro settorment param0 + .byte 0xce + .4byte \param0 + .endm + + .macro jumpifnodamage param0 + .byte 0xcf + .4byte \param0 + .endm + + .macro settaunt param0 + .byte 0xd0 + .4byte \param0 + .endm + + .macro trysethelpinghand param0 + .byte 0xd1 + .4byte \param0 + .endm + + .macro tryswapitems param0 + .byte 0xd2 + .4byte \param0 + .endm + + .macro trycopyability param0 + .byte 0xd3 + .4byte \param0 + .endm + + .macro trywish param0, param1 + .byte 0xd4 + .byte \param0 + .4byte \param1 + .endm + + .macro trysetroots param0 + .byte 0xd5 + .4byte \param0 + .endm + + .macro doubledamagedealtifdamaged + .byte 0xd6 + .endm + + .macro setyawn param0 + .byte 0xd7 + .4byte \param0 + .endm + + .macro setdamagetohealthdifference param0 + .byte 0xd8 + .4byte \param0 + .endm + + .macro scaledamagebyhealthratio + .byte 0xd9 + .endm + + .macro tryswapabilities param0 + .byte 0xda + .4byte \param0 + .endm + + .macro tryimprision param0 + .byte 0xdb + .4byte \param0 + .endm + + .macro trysetgrudge param0 + .byte 0xdc + .4byte \param0 + .endm + + .macro weightdamagecalculation + .byte 0xdd + .endm + + .macro asistattackselect param0 + .byte 0xde + .4byte \param0 + .endm + + .macro trysetmagiccoat param0 + .byte 0xdf + .4byte \param0 + .endm + + .macro trysetsnatch param0 + .byte 0xe0 + .4byte \param0 + .endm + + .macro trygetintimidatetarget param0 + .byte 0xe1 + .4byte \param0 + .endm + + .macro switchoutabilities bank + .byte 0xe2 + .byte \bank + .endm + + .macro jumpifhasnohp bank, param1 + .byte 0xe3 + .byte \bank + .4byte \param1 + .endm + + .macro getsecretpowereffect + .byte 0xe4 + .endm + + .macro pickup + .byte 0xe5 + .endm + + .macro docastformchangeanimation + .byte 0xe6 + .endm + + .macro trycastformdatachange + .byte 0xe7 + .endm + + .macro settypebasedhalvers param0 + .byte 0xe8 + .4byte \param0 + .endm + + .macro setweatherballtype + .byte 0xe9 + .endm + + .macro tryrecycleitem param0 + .byte 0xea + .4byte \param0 + .endm + + .macro settypetoterrain param0 + .byte 0xeb + .4byte \param0 + .endm + + .macro pursuitrelated param0 + .byte 0xec + .4byte \param0 + .endm + + .macro snatchsetbanks + .byte 0xed + .endm + + .macro removelightscreenreflect + .byte 0xee + .endm + + .macro handleballthrow + .byte 0xef + .endm + + .macro givecaughtmon + .byte 0xf0 + .endm + + .macro trysetcaughtmondexflags param0 + .byte 0xf1 + .4byte \param0 + .endm + + .macro displaydexinfo + .byte 0xf2 + .endm + + .macro trygivecaughtmonnick param0 + .byte 0xf3 + .4byte \param0 + .endm + + .macro subattackerhpbydmg + .byte 0xf4 + .endm + + .macro removeattackerstatus1 + .byte 0xf5 + .endm + + .macro finishaction + .byte 0xf6 + .endm + + .macro finishturn + .byte 0xf7 + .endm + + .macro trainerslideout param0 + .byte 0xf8 + .byte \param0 + .endm + +@ various command changed to more readable macros + .macro cancelmultiturnmoves bank + various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES + .endm + + .macro setmagiccoattarget bank + various \bank, VARIOUS_SET_MAGIC_COAT_TARGET + .endm + + .macro getifcantrunfrombattle bank + various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE + .endm + + .macro getmovetarget bank + various \bank, VARIOUS_GET_MOVE_TARGET + .endm + + .macro various4 bank + various \bank, 4 + .endm + + .macro resetintrimidatetracebits bank + various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .endm + + .macro updatechoicemoveonlvlup bank + various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP + .endm + + .macro various7 bank + various \bank, 7 + .endm + + .macro various8 bank + various \bank, 8 + .endm + + .macro various9 bank + various \bank, 9 + .endm + + .macro various10 bank + various \bank, 10 + .endm + + .macro various11 bank + various \bank, 11 + .endm + + .macro various12 bank + various \bank, 12 + .endm + + .macro forfeityesnobox bank + various \bank, VARIOUS_EMIT_YESNOBOX + .endm + + .macro various14 bank + various \bank, 14 + .endm + + .macro various15 bank + various \bank, 15 + .endm + + .macro various16 bank + various \bank, 16 + .endm + + .macro various17 bank + various \bank, 17 + .endm + + .macro waitcry bank + various \bank, VARIOUS_WAIT_CRY + .endm + + .macro returnopponentmon1toball bank + various \bank, VARIOUS_RETURN_OPPONENT_MON1 + .endm + + .macro returnopponentmon2toball bank + various \bank, VARIOUS_RETURN_OPPONENT_MON2 + .endm + + .macro various21 bank + various \bank, 21 + .endm + + .macro various22 bank + various \bank, 22 + .endm + + .macro various23 bank + various \bank, 23 + .endm + + .macro various24 bank + various \bank, 24 + .endm + + .macro setoutcomeonteleport bank + various \bank, VARIOUS_SET_TELEPORT_OUTCOME + .endm + + .macro playtrainerdefeatbgm bank + various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC + .endm + +@ helpful macros + .macro setstatchanger stat, stages, down + setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7 + .endm + + .macro setmoveeffect effect + setbyte cEFFECT_CHOOSER \effect + .endm + + .macro chosenstatus1animation bank, status + chosenstatusanimation \bank 0x0 \status + .endm + + .macro chosenstatus2animation bank, status + chosenstatusanimation \bank 0x1 \status + .endm + + .macro sethword dst, value + setbyte \dst, \value & 0xFF + setbyte \dst + 1, (\value >> 8) & 0xFF + .endm + + .macro setword dst, value + 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, src + copyarray \dst, \src, 0x1 + .endm + + .macro copyhword dst, src + copyarray \dst, \src, 0x2 + .endm + + .macro copyword dst, src + copyarray \dst, \src, 0x4 + .endm + + .macro jumpifbytenotequal byte1, byte2, jumpptr + jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr + .endm + + .macro jumpifbyteequal byte1, byte2, jumpptr + jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr + .endm + + .macro jumpifmove move, jumpptr + jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr + .endm + + .macro jumpifnotmove move, jumpptr + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr + .endm + + .macro jumpifstatus3 bank, status, jumpptr + jumpifstatus3condition \bank, \status, 0x0, \jumpptr + .endm + + .macro jumpifnostatus3 bank, status, jumpptr + jumpifstatus3condition \bank, \status, 0x1, \jumpptr + .endm + + .macro jumpifmovehadnoeffect jumpptr + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr + .endm + + .macro jumpifbattletype flags, jumpptr + jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr + .endm + + .macro jumpifnotbattletype flags, jumpptr + jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr + .endm diff --git a/asm/macros/event.s b/asm/macros/event.inc index b5fefb925..f2d14b945 100644 --- a/asm/macros/event.s +++ b/asm/macros/event.inc @@ -1,20 +1,20 @@ @ Does nothing. - .macro snop + .macro nop .byte 0x00 .endm @ Does nothing. - .macro snop1 + .macro nop1 .byte 0x01 .endm @ Terminates script execution. - .macro end + .macro end .byte 0x02 .endm @ Jumps back to after the last-executed call statement, and continues script execution from there. - .macro return + .macro return .byte 0x03 .endm @@ -25,27 +25,27 @@ .endm @ Jumps to destination and continues script execution from there. - .macro jump destination + .macro goto destination .byte 0x05 .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there. - .macro jumpif condition, destination + .macro goto_if condition, destination .byte 0x06 .byte \condition .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), calls destination. - .macro callif condition, destination + .macro call_if condition, destination .byte 0x07 .byte \condition .4byte \destination .endm @ Jumps to the standard function at index function. - .macro jumpstd function + .macro gotostd function .byte 0x08 .byte \function .endm @@ -57,58 +57,58 @@ .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function. - .macro jumpstdif condition, function + .macro gotostd_if condition, function .byte 0x0a .byte \condition .byte \function .endm @ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function. - .macro callstdif condition, function + .macro callstd_if condition, function .byte 0x0b .byte \condition .byte \function .endm @ Executes a script stored in a default RAM location. - .macro jumpram + .macro gotoram .byte 0x0c .endm @ Terminates script execution and "resets the script RAM". - .macro die + .macro killscript .byte 0x0d .endm - @ Pads the specified value to a dword, and then writes that dword to a predefined address (0x0203AAA8). - .macro setbyte value + @ Sets some status related to Mystery Event. + .macro setmysteryeventstatus value .byte 0x0e .byte \value .endm @ Sets the specified script bank to value. - .macro loadptr destination, value + .macro loadword destination, value .byte 0x0f .byte \destination .4byte \value .endm @ Sets the specified script bank to value. - .macro setbufferbyte destination, value + .macro loadbyte destination, value .byte 0x10 .byte \destination .byte \value .endm @ Sets the byte at offset to value. - .macro writebytetooffset value, offset + .macro writebytetoaddr value, offset .byte 0x11 .byte \value .4byte \offset .endm @ Copies the byte value at source into the specified script bank. - .macro loadbytefrompointer destination, source + .macro loadbytefromaddr destination, source .byte 0x12 .byte \destination .4byte \source @@ -122,7 +122,7 @@ .endm @ Copies the contents of bank source into bank destination. - .macro copybuffers destination, source + .macro copylocal destination, source .byte 0x14 .byte \destination .byte \source @@ -171,93 +171,112 @@ .endm @ Compares the values of script banks a and b, after forcing the values to bytes. - .macro comparebuffers byte1, byte2 + .macro compare_local_to_local byte1, byte2 .byte 0x1b .byte \byte1 .byte \byte2 .endm @ Compares the least-significant byte of the value of script bank a to a fixed byte value (b). - .macro comparebuffertobyte a, b + .macro compare_local_to_value a, b .byte 0x1c .byte \a .byte \b .endm @ Compares the least-significant byte of the value of script bank a to the byte located at offset b. - .macro comparebuffertoptrbyte a, b + .macro compare_local_to_addr a, b .byte 0x1d .byte \a .4byte \b .endm @ Compares the byte located at offset a to the least-significant byte of the value of script bank b. - .macro compareptrbytetobuffer a, b + .macro compare_addr_to_local a, b .byte 0x1e .4byte \a .byte \b .endm @ Compares the byte located at offset a to a fixed byte value (b). - .macro compareptrbytetobyte a, b + .macro compare_addr_to_value a, b .byte 0x1f .4byte \a .byte \b .endm @ Compares the byte located at offset a to the byte located at offset b. - .macro compareptrbytes a, b + .macro compare_addr_to_addr a, b .byte 0x20 .4byte \a .4byte \b .endm - @ Compares the value of a to a fixed word value (b). - .macro compare a, b + @ Compares the value of `var` to a fixed word value (b). + .macro compare_var_to_value var, value .byte 0x21 - .2byte \a - .2byte \b + .2byte \var + .2byte \value .endm - @ Compares the value of a to the value of b. - .macro comparevars a, b + @ Compares the value of `var1` to the value of `var2`. + .macro compare_var_to_var var1, var2 .byte 0x22 - .2byte \a - .2byte \b + .2byte \var1 + .2byte \var2 + .endm + + @ Generic compare macro which attempts to deduce argument types based on their values + @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers + .macro compare arg1, arg2 + .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8) + compare_var_to_var \arg1, \arg2 + .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF) + compare_var_to_value \arg1, \arg2 + .else + .error "Invalid arguments for 'compare'" + .endif .endm - @ Calls the ASM routine stored at code. Script execution is blocked until the ASM returns (bx lr, mov pc, lr, etc.). Remember to add 1 to the offset when calling THUMB code. - .macro callasm code + @ Calls the native C function stored at `func`. + .macro callnative func .byte 0x23 - .4byte \code + .4byte \func .endm - @ Replaces a pointer in the script engine RAM with asm_pointer. - .macro jumpasm asm_pointer + @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE. + .macro gotonative func .byte 0x24 - .4byte \asm_pointer + .4byte \func .endm - @ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers. + @ Calls a special function; that is, a function designed for use by scripts and listed in a table of pointers. .macro special function .byte 0x25 .2byte SPECIAL_\function .endm @ Calls a special function. That function's output (if any) will be written to the variable you specify. - .macro specialval output, function + .macro specialvar output, function .byte 0x26 .2byte \output .2byte SPECIAL_\function .endm + + @ temporary solution + .macro specialvar_ output, functionId + .byte 0x26 + .2byte \output + .2byte \functionId + .endm @ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang). - .macro waitstate + .macro waitstate .byte 0x27 .endm @ Blocks script execution for time (frames? milliseconds?). - .macro pause time + .macro delay time .byte 0x28 .2byte \time .endm @@ -280,134 +299,157 @@ .2byte \a .endm - @ In FireRed, this command is a nop. - .macro compareflags + @ Initializes the RTC`s local time offset to the given hour and minute. In FireRed, this command is a nop. + .macro initclock hour, minute .byte 0x2c + .2byte \hour + .2byte \minute .endm - @ In FireRed, this command is a nop. - .macro checkdailyflags + @ Runs time based events. In FireRed, this command is a nop. + .macro dodailyevents .byte 0x2d .endm - @ Resets the values of variables 0x8000, 0x8001, and 0x8002. Related to RTC in RSE? - .macro resetvars + @ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero. + .macro gettime .byte 0x2e .endm @ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones. - .macro playsfx sound_number + .macro playse sound_number .byte 0x2f .2byte \sound_number .endm - @ Blocks script execution until the currently-playing sound (triggered by sound) finishes playing. - .macro checksound + @ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing. + .macro waitse .byte 0x30 .endm @ Plays the specified (fanfare_number) fanfare. - .macro fanfare fanfare_number + .macro playfanfare fanfare_number .byte 0x31 .2byte \fanfare_number .endm @ Blocks script execution until all currently-playing fanfares finish. - .macro waitfanfare + .macro waitfanfare .byte 0x32 .endm @ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00. - .macro playmusic song_number, unknown + .macro playbgm song_number, unknown .byte 0x33 .2byte \song_number .byte \unknown .endm - @ Plays the specified (song_number) song. - .macro playmusicbattle song_number + @ Saves the specified (song_number) song to be played later. + .macro savebgm song_number .byte 0x34 .2byte \song_number .endm @ Crossfades the currently-playing song into the map's default song. - .macro fadedefault + .macro fadedefaultbgm .byte 0x35 .endm @ Crossfades the currently-playng song into the specified (song_number) song. - .macro fademusic song_number + .macro fadenewbgm song_number .byte 0x36 .2byte \song_number .endm @ Fades out the currently-playing song. - .macro fadeout speed + .macro fadeoutbgm speed .byte 0x37 .byte \speed .endm - @ Fades the currently-playing song back in. - .macro fadein speed + @ Fades the previously-playing song back in. + .macro fadeinbgm speed .byte 0x38 .byte \speed .endm @ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map. - .macro warp bank, map, warp, X, Y + .macro warp map, warp, X, Y .byte 0x39 - .byte \bank - .byte \map + map \map .byte \warp .2byte \X .2byte \Y .endm @ Clone of warp that does not play a sound effect. - .macro warpmuted + .macro warpsilent map, warp, X, Y .byte 0x3a + map \map + .byte \warp + .2byte \X + .2byte \Y .endm - @ Clone of warp that uses "a walking effect". - .macro warpwalk + @ Clone of warp that plays a door opening animation before stepping upwards into it. + .macro warpdoor map, warp, X, Y .byte 0x3b + map \map + .byte \warp + .2byte \X + .2byte \Y .endm @ Warps the player to another map using a hole animation. - .macro warphole bank, map + .macro warphole map .byte 0x3c - .byte \bank - .byte \map + map \map .endm - @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.[source] - .macro warpteleport + @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E. + .macro warpteleport map, warp, X, Y .byte 0x3d + map \map + .byte \warp + .2byte \X + .2byte \Y .endm - @ Clone of warp. Used by an (unused?) Safari Zone script to return the player to the gatehouse and end the Safari Game. - .macro warp3 + @ Sets the warp destination to be used later. + .macro setwarp map, warp, X, Y .byte 0x3e + map \map + .byte \warp + .2byte \X + .2byte \Y .endm - @ Sets a default warp place. If a warp tries to send the player to Warp 127 on Map 127.127, they will instead be sent here. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators). - .macro warpplace bank, map, warp, X, Y + @ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators). + .macro setdynamicwarp map, warp, X, Y .byte 0x3f - .byte \bank - .byte \map + map \map .byte \warp .2byte \X .2byte \Y .endm - @ Clone of warp3, except that this writes data to different offsets... - .macro warp4 + @ Sets the destination that diving or emerging from a dive will take the player to. + .macro setdivewarp map, warp, X, Y .byte 0x40 + map \map + .byte \warp + .2byte \X + .2byte \Y .endm - @ Clone of warp3, except that this writes data to different offsets... - .macro warp5 + @ Sets the destination that falling into a hole will take the player to. + .macro setholewarp map, warp, X, Y .byte 0x41 + map \map + .byte \warp + .2byte \X + .2byte \Y .endm @ Retrieves the player's zero-indexed X- and Y-coordinates in the map, and stores them in the specified variables. @@ -417,20 +459,20 @@ .2byte \Y .endm - @ Retrieves the number of Pokmon in the player's party, and stores that number in variable 0x800D (LASTRESULT). - .macro countpokemon + @ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT). + .macro getpartysize .byte 0x43 .endm @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000. - .macro additem index, quantity + .macro giveitem index, quantity .byte 0x44 .2byte \index .2byte \quantity .endm @ Removes quantity of item index from the player's Bag. - .macro removeitem index, quantity + .macro takeitem index, quantity .byte 0x45 .2byte \index .2byte \quantity @@ -457,7 +499,7 @@ .endm @ Adds a quantity amount of item index to the player's PC. Both arguments can be variables. - .macro addpcitem index, quantity + .macro givepcitem index, quantity .byte 0x49 .2byte \index .2byte \quantity @@ -470,139 +512,184 @@ .2byte \quantity .endm - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro adddecor a + @ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro givedecoration decoration .byte 0x4b - .2byte \a + .2byte \decoration .endm - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro removedecor a + @ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro takedecoration decoration .byte 0x4c - .2byte \a + .2byte \decoration .endm - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro testdecor a + @ Checks for decoration in the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro checkdecor decoration .byte 0x4d - .2byte \a + .2byte \decoration .endm - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro checkdecor a + @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro checkdecorspace decoration .byte 0x4e - .2byte \a - .endm - - @ Applies the movement data at movements to the specified (index) Person event. Also closes any standard message boxes that are still open. - .macro move index, movements - .byte 0x4f - .2byte \index - .4byte \movements - .endm - - @ Apparent clone of applymovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything. - @ This command in fact uses variables to access the Person event ID. So, for example, if you setvar 0x8000 to 0x3, and then use applymovementpos 0x8000 @move1, Person event 3 will have the movements at @move1 applied to them. Thank you Shiny Quagsire for bringing this to my attention. - .macro movecoords variable, movements - .byte 0x50 - .2byte \variable - .4byte \movements - .endm - - @ Blocks script execution until the movements being applied to the specified (index) Person event finish. If the specified Person event is 0x0000, then the command will block script execution until all Person events affected by applymovement finish their movements. If the specified Person event is not currently being manipulated with applymovement, then this command does nothing. - .macro waitmove index - .byte 0x51 - .2byte \index - .endm - - @ Apparent clone of waitmovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything. - .macro waitmovexy index, X, Y - .byte 0x52 - .2byte \index - .byte \X - .byte \Y - .endm - - @ Attempts to hide the specified (local_ID, a local ID) Person event on the current map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing. - .macro disappear local_ID - .byte 0x53 - .2byte \local_ID - .endm - - @ Clone of hidesprite that also moves the Person? Test it! - .macro disappearxy index, X, Y - .byte 0x54 - .2byte \index - .byte \X - .byte \Y - .endm - - .macro reappear word - .byte 0x55 - .2byte \word - .endm - - .macro reappearxy word, byte1, byte2 - .byte 0x56 - .2byte \word - .byte \byte1 - .byte \byte2 - .endm - - .macro movesprite word1, word2, word3 + .2byte \decoration + .endm + + @ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open. + @ If no map is specified, then the current map is used. + .macro applymovement index, movements, map + .ifb \map + .byte 0x4f + .2byte \index + .4byte \movements + .else + @ Really only useful if the object has followed from one map to another (e.g. Wally during the catching event). + .byte 0x50 + .2byte \index + .4byte \movements + map \map + .endif + .endm + + @ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing. + @ If no map is specified, then the current map is used. + .macro waitmovement index, map + .ifb \map + .byte 0x51 + .2byte \index + .else + .byte 0x52 + .2byte \index + map \map + .endif + .endm + + @ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing. + @ If no map is specified, then the current map is used. + .macro removeobject index, map + .ifb \map + .byte 0x53 + .2byte \index + .else + .byte 0x54 + .2byte \index + map \map + .endif + .endm + + @ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing. + @ If no map is specified, then the current map is used. + .macro addobject index, map + .ifb \map + .byte 0x55 + .2byte \index + .else + .byte 0x56 + .2byte \index + map \map + .endif + .endm + + @ Sets the specified (index) Object's position on the current map. + .macro setobjectxy index, x, y .byte 0x57 - .2byte \word1 - .2byte \word2 - .2byte \word3 + .2byte \index + .2byte \x + .2byte \y .endm - .macro spritevisible word, byte1, byte2 + .macro showobjectat index, map .byte 0x58 - .2byte \word - .byte \byte1 - .byte \byte2 + .2byte \index + map \map .endm - .macro spriteinvisible word, byte1, byte2 + .macro hideobjectat index, map .byte 0x59 - .2byte \word - .byte \byte1 - .byte \byte2 + .2byte \index + map \map .endm - @ If the script was called by a Person event, then that Person will turn to face toward the tile that the player is stepping off of. - .macro faceplayer + @ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on. + .macro faceplayer .byte 0x5a .endm - .macro spriteface word, byte + .macro turnobject index, direction .byte 0x5b - .2byte \word - .byte \byte + .2byte \index + .byte \direction .endm @ If the Trainer flag for Trainer index is not set, this command does absolutely nothing. - .macro trainerbattle byte, word1, word2, pointer1, pointer2, pointer3, pointer4 + .macro trainerbattle type, trainer, word, pointer1, pointer2, pointer3, pointer4 .byte 0x5c - .byte \byte - .2byte \word1 - .2byte \word2 - .4byte \pointer1 - .4byte \pointer2 - .4byte \pointer3 - .4byte \pointer4 + .byte \type + .2byte \trainer + .2byte \word + .if \type == 0 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 1 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ event script + .elseif \type == 2 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ event script + .elseif \type == 3 + .4byte \pointer1 @ text + .elseif \type == 4 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .elseif \type == 5 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 6 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .4byte \pointer4 @ event script + .elseif \type == 7 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .elseif \type == 8 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .4byte \pointer4 @ event script + .elseif \type == 9 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 10 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 11 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 12 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .endif .endm + @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes. - .macro reptrainerbattle + .macro trainerbattlebegin .byte 0x5d .endm - .macro endtrainerbattle + @ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c) + .macro gotopostbattlescript .byte 0x5e .endm - .macro endtrainerbattle2 + @ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c) + .macro gotobeatenscript .byte 0x5f .endm @@ -612,38 +699,38 @@ .2byte \trainer .endm - @ Sets Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.) - .macro cleartrainerflag trainer + @ Sets Flag (trainer + 0x500). + .macro settrainerflag trainer .byte 0x61 .2byte \trainer .endm - @ Clears Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.) - .macro settrainerflag trainer + @ Clears Flag (trainer + 0x500). + .macro cleartrainerflag trainer .byte 0x62 .2byte \trainer .endm - .macro movespriteperm word1, word2, word3 + .macro setobjectxyperm index, x, y .byte 0x63 - .2byte \word1 - .2byte \word2 - .2byte \word3 + .2byte \index + .2byte \x + .2byte \y .endm - .macro moveoffscreen word + .macro moveobjectoffscreen index .byte 0x64 - .2byte \word + .2byte \index .endm - .macro spritebehave word, byte + .macro setobjectmovementtype word, byte .byte 0x65 .2byte \word .byte \byte .endm @ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn. - .macro waittext + .macro waitmessage .byte 0x66 .endm @@ -653,81 +740,79 @@ .4byte \text .endm - @ Holds the current message box open until the player presses a key. The message box is then closed. - .macro closebutton + @ Closes the current message box. + .macro closemessage .byte 0x68 .endm - @ Ceases movement for all OWs on-screen. - .macro lockall + @ Ceases movement for all Objects on-screen. + .macro lockall .byte 0x69 .endm - @ If the script was called by a Person event, then that Person's movement will cease. - .macro lock + @ If the script was called by an Object, then that Object's movement will cease. + .macro lock .byte 0x6a .endm - @ Resumes normal movement for all OWs on-screen, and closes any standard message boxes that are still open. - .macro releaseall + @ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open. + .macro releaseall .byte 0x6b .endm - @ If the script was called by a Person event, then that Person's movement will resume. This command also closes any standard message boxes that are still open. - .macro release + @ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open. + .macro release .byte 0x6c .endm @ Blocks script execution until the player presses any key. - .macro waitbutton + .macro waitbuttonpress .byte 0x6d .endm @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES". - .macro yesnobox X, Y + .macro yesnobox x, y .byte 0x6e - .byte \X - .byte \Y + .byte \x + .byte \y .endm - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. - .macro multichoice X, Y, list, B + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. + .macro multichoice x, y, list, b .byte 0x6f - .byte \X - .byte \Y + .byte \x + .byte \y .byte \list - .byte \B + .byte \b .endm - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. - .macro multichoicedef X, Y, list, default, B + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. + .macro multichoicedefault x, y, list, default, b .byte 0x70 - .byte \X - .byte \Y + .byte \x + .byte \y .byte \list .byte \default - .byte \B + .byte \b .endm @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box. - .macro multichoicerow X, Y, list, per_row, B + .macro multichoicegrid x, y, list, per_row, B .byte 0x71 - .byte \X - .byte \Y + .byte \x + .byte \y .byte \list .byte \per_row .byte \B .endm - .macro showbox byte1, byte2, byte3, byte4 + @ Nopped in Emerald. + .macro drawbox .byte 0x72 - .byte \byte1 - .byte \byte2 - .byte \byte3 - .byte \byte4 .endm - .macro hidebox byte1, byte2, byte3, byte4 + @ Nopped in Emerald, but still consumes parameters. + .macro erasebox byte1, byte2, byte3, byte4 .byte 0x73 .byte \byte1 .byte \byte2 @@ -735,7 +820,8 @@ .byte \byte4 .endm - .macro clearbox byte1, byte2, byte3, byte4 + @ Nopped in Emerald, but still consumes parameters. + .macro drawboxtext byte1, byte2, byte3, byte4 .byte 0x74 .byte \byte1 .byte \byte2 @@ -743,33 +829,33 @@ .byte \byte4 .endm - @ Displays a box containing the front sprite for the specified (species) Pokmon species. - .macro showpokepic species, X, Y + @ Displays a box containing the front sprite for the specified (species) Pokemon species. + .macro drawmonpic species, x, y .byte 0x75 .2byte \species - .byte \X - .byte \Y + .byte \x + .byte \y .endm - @ Hides all boxes displayed with showpokepic. - .macro hidepokepic + @ Hides all boxes displayed with drawmonpic. + .macro erasemonpic .byte 0x76 .endm - @ In FireRed, this command is a nop. (The argument is discarded.) - .macro showcontestwinner a + @ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.) + .macro drawcontestwinner a .byte 0x77 .byte \a .endm - @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters. - .macro braille text + @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the box's size and position, but in Emerald these are calculated automatically). + .macro braillemessage text .byte 0x78 .4byte \text .endm - @ Gives the player one of the specified (species) Pokmon at level level holding item. The unknown arguments should all be zeroes. - .macro givepokemon species, level, item, unknown1, unknown2, unknown3 + @ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes. + .macro givemon species, level, item, unknown1, unknown2, unknown3 .byte 0x79 .2byte \species .byte \level @@ -779,81 +865,81 @@ .byte \unknown3 .endm - .macro giveegg word + .macro giveegg species .byte 0x7a - .2byte \word + .2byte \species .endm - .macro setpokemove byte1, byte2, word + .macro setmonmove index, slot, move .byte 0x7b - .byte \byte1 - .byte \byte2 - .2byte \word + .byte \index + .byte \slot + .2byte \move .endm - @ Checks if at least one Pokmon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the Pokmon that knows the move. If not, LASTRESULT is set to 0x0006. - .macro checkattack index + @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species. + .macro checkpartymove index .byte 0x7c .2byte \index .endm - @ Writes the name of the Pokmon at index species to the specified buffer. - .macro bufferpoke out, species + @ Writes the name of the Pokemon at index species to the specified buffer. + .macro bufferspeciesname out, species .byte 0x7d .byte \out .2byte \species .endm - @ Writes the name of the first Pokmon in the player's party to the specified buffer. - .macro bufferfirstpoke out + @ Writes the name of the species of the first Pokemon in the player's party to the specified buffer. + .macro bufferleadmonspeciesname out .byte 0x7e .byte \out .endm - @ Writes the name of the Pokmon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer. - .macro bufferpartypoke out, slot + @ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer. + .macro bufferpartymonnick out, slot .byte 0x7f .byte \out .2byte \slot .endm @ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. - .macro bufferitem out, item + .macro bufferitemname out, item .byte 0x80 .byte \out .2byte \item .endm - @ In FireRed, this command is a nop. (The first argument is discarded immediately. The second argument is read, but not used for anything.) - .macro bufferdecor a, b + @ Writes the name of the decoration at index decoration to the specified buffer. In FireRed, this command is a nop. + .macro bufferdecorationname out, decoration .byte 0x81 - .byte \a - .2byte \b + .byte \out + .2byte \decoration .endm - @ Writes the name of the attack at index attack to the specified buffer. - .macro bufferattack out, attack + @ Writes the name of the move at index move to the specified buffer. + .macro buffermovename out, move .byte 0x82 .byte \out - .2byte \attack + .2byte \move .endm @ Converts the value of input to a decimal string, and writes that string to the specified buffer. - .macro buffernum out, input + .macro buffernumberstring out, input .byte 0x83 .byte \out .2byte \input .endm - @ Writes the standard string identified by index to the specified buffer. Specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption (I've observed destruction of the stored player name and crashes when entering/exiting certain menu screens). - .macro bufferstd out, index + @ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all, so specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption. + .macro bufferstdstring out, index .byte 0x84 .byte \out .2byte \index .endm @ Copies the string at offset to the specified buffer. - .macro buffertext out, offset + .macro bufferstring out, offset .byte 0x85 .byte \out .4byte \offset @@ -865,45 +951,49 @@ .4byte \products .endm - @ Apparent clone of pokemart. - .macro pokemartdecor products + @ Opens the Pokemart system and treats the list of items as decorations. + .macro pokemartdecoration products .byte 0x87 .4byte \products .endm - @ Apparent clone of pokemart. - .macro pokemartbp products + @ Apparent clone of pokemartdecoration. + .macro pokemartdecoration2 products .byte 0x88 .4byte \products .endm - .macro pokecasino word + @ Starts up the slot machine minigame. + .macro playslotmachine word .byte 0x89 .2byte \word .endm - @ In FireRed, this command is a nop. - .macro event_8a + @ Sets a berry tree's specific berry and growth stage. In FireRed, this command is a nop. + .macro setberrytree tree_id, berry, growth_stage .byte 0x8a + .byte \tree_id + .byte \berry + .byte \growth_stage .endm - @ In FireRed, this command sets the byte at 0x03000EA8 to 0x01. I do not know what that means. - .macro choosecontestpkmn + @ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01. + .macro choosecontestmon .byte 0x8b .endm - @ In FireRed, this command is a nop. - .macro startcontest + @ Starts a contest. In FireRed, this command is a nop. + .macro startcontest .byte 0x8c .endm - @ In FireRed, this command is a nop. - .macro showcontestresults + @ Shows the results of a contest. In FireRed, this command is a nop. + .macro showcontestresults .byte 0x8d .endm - @ In FireRed, this command is a nop. - .macro contestlinktransfer + @ Starts a contest over a link connection. In FireRed, this command is a nop. + .macro contestlinktransfer .byte 0x8e .endm @@ -921,7 +1011,7 @@ .endm @ If check is 0x00, this command subtracts value from the player's money. - .macro paymoney value, check + .macro takemoney value, check .byte 0x91 .4byte \value .byte \check @@ -935,106 +1025,107 @@ .endm @ Spawns a secondary box showing how much money the player has. - .macro showmoney X, Y + .macro showmoneybox x, y, check .byte 0x93 - .byte \X - .byte \Y + .byte \x + .byte \y + .byte \check .endm @ Hides the secondary box spawned by showmoney. - .macro hidemoney X, Y + .macro hidemoneybox .byte 0x94 - .byte \X - .byte \Y .endm - @ Updates the secondary box spawned by showmoney. (What does it do with its arguments?) - .macro updatemoney X, Y + @ Updates the secondary box spawned by showmoney. Consumes but does not use arguments. + .macro updatemoneybox x, y .byte 0x95 - .byte \X - .byte \Y + .byte \x + .byte \y .endm - @ In FireRed, this command is a nop. - .macro event_96 + @ Gets the price reduction for the index given. In FireRed, this command is a nop. + .macro getpricereduction index .byte 0x96 + .2byte \index .endm - @ Fades the screen to black or back, using the specified effect. Effect 0x00 fades in, and effect 0x01 fades out. I don't know if other effects exist. + @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. .macro fadescreen effect .byte 0x97 .byte \effect .endm - .macro fadescreendelay byte1, byte2 + @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. Other modes may exist. + .macro fadescreenspeed effect, speed .byte 0x98 - .byte \byte1 - .byte \byte2 + .byte \effect + .byte \speed .endm - .macro darken word + .macro setflashradius word .byte 0x99 .2byte \word .endm - .macro lighten byte + .macro animateflash byte .byte 0x9a .byte \byte .endm - .macro message2 pointer + .macro messageautoscroll pointer .byte 0x9b .4byte \pointer .endm @ Executes the specified field move animation. - .macro doanimation animation + .macro dofieldeffect animation .byte 0x9c .2byte \animation .endm - @ Tells the game which party Pokmon to use for the next field move animation. - .macro setanimation animation, slot + @ Sets up the field effect argument argument with the value value. + .macro setfieldeffectargument argument, param .byte 0x9d - .byte \animation - .2byte \slot + .byte \argument + .2byte \param .endm @ Blocks script execution until all playing field move animations complete. - .macro checkanimation animation + .macro waitfieldeffect animation .byte 0x9e .2byte \animation .endm - @ Sets which healing place the player will return to if all of the Pokmon in their party faint. A list of available healing places can be found on PokeCommunity. - .macro sethealplace flightspot + @ Sets which healing place the player will return to if all of the Pokemon in their party faint. + .macro setrespawn heallocation .byte 0x9f - .2byte \flightspot + .2byte \heallocation .endm @ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT. - .macro checkgender + .macro checkplayergender .byte 0xa0 .endm - @ Plays the specified (species) Pokmon's cry. You can use waitcry to block script execution until the sound finishes. - .macro pokecry species, effect + @ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes. + .macro playmoncry species, effect .byte 0xa1 .2byte \species .2byte \effect .endm - @ Changes the tile at (X, Y) on the current map. - .macro setmaptile X, Y, tile_number, tile_attrib + @ Changes the metatile at (x, y) on the current map. + .macro setmetatile x, y, metatile_number, tile_attrib .byte 0xa2 - .2byte \X - .2byte \Y - .2byte \tile_number + .2byte \x + .2byte \y + .2byte \metatile_number .2byte \tile_attrib .endm @ Queues a weather change to the default weather for the map. - .macro resetweather + .macro resetweather .byte 0xa3 .endm @@ -1045,108 +1136,110 @@ .endm @ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather. - .macro doweather + .macro doweather .byte 0xa5 .endm @ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors). - .macro tileeffect subroutine + .macro setstepcallback subroutine .byte 0xa6 .byte \subroutine .endm - .macro setmapfooter word + .macro setmaplayoutindex index .byte 0xa7 - .2byte \word + .2byte \index .endm - .macro spritelevelup word, byte1, byte2, byte3 + .macro setobjectpriority index, map, priority .byte 0xa8 - .2byte \word - .byte \byte1 - .byte \byte2 - .byte \byte3 + .2byte \index + map \map + .byte \priority .endm - .macro restorespritelevel word, byte1, byte2 + .macro resetobjectpriority index, map .byte 0xa9 - .2byte \word - .byte \byte1 - .byte \byte2 + .2byte \index + map \map .endm - .macro createvsprite byte1, byte2, word1, word2, byte3, byte4 + .macro createvobject sprite, byte2, x, y, elevation, direction .byte 0xaa - .byte \byte1 + .byte \sprite .byte \byte2 - .2byte \word1 - .2byte \word2 - .byte \byte3 - .byte \byte4 + .2byte \x + .2byte \y + .byte \elevation + .byte \direction .endm - .macro vspriteface byte1, byte2 + .macro turnvobject index, direction .byte 0xab - .byte \byte1 - .byte \byte2 + .byte \index + .byte \direction .endm - @ Queues the opening of the door tile at (X, Y) with an animation. - .macro setdooropened X, Y + @ Opens the door metatile at (X, Y) with an animation. + .macro opendoor x, y .byte 0xac - .2byte \X - .2byte \Y + .2byte \x + .2byte \y .endm - @ Queues the closing of the door tile at (X, Y) with an animation. - .macro setdoorclosed X, Y + @ Closes the door metatile at (X, Y) with an animation. + .macro closedoor x, y .byte 0xad - .2byte \X - .2byte \Y + .2byte \x + .2byte \y .endm - @ Executes the state changes queued with setdooropened, setdoorclosed, setdooropened2, and setdoorclosed2. - .macro doorchange + @ Waits for the door animation started with opendoor or closedoor to finish. + .macro waitdooranim .byte 0xae .endm - @ Queues the opening of the door tile at (X, Y) without an animation. - .macro setdooropened2 X, Y + @ Sets the door tile at (x, y) to be open without an animation. + .macro setdooropen x, y .byte 0xaf - .2byte \X - .2byte \Y + .2byte \x + .2byte \y .endm - @ Queues the closing of the door tile at (X, Y) without an animation. - .macro setdoorclosed2 X, Y + @ Sets the door tile at (x, y) to be closed without an animation. + .macro setdoorclosed x, y .byte 0xb0 - .2byte \X - .2byte \Y + .2byte \x + .2byte \y .endm - @ In FireRed, this command is a nop. - .macro event_b1 + @ In Emerald, this command consumes its parameters and does nothing. In FireRed, this command is a nop. + .macro addelevmenuitem a, b, c, d .byte 0xb1 + .byte \a + .2byte \b + .2byte \c + .2byte \d .endm - @ In FireRed, this command is a nop. - .macro event_b2 + @ In FireRed and Emerald, this command is a nop. + .macro showelevmenu .byte 0xb2 .endm - .macro checkcoins word + .macro checkcoins out .byte 0xb3 - .2byte \word + .2byte \out .endm - .macro givecoins word + .macro givecoins count .byte 0xb4 - .2byte \word + .2byte \count .endm - .macro removecoins word + .macro takecoins count .byte 0xb5 - .2byte \word + .2byte \count .endm @ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle. @@ -1157,18 +1250,17 @@ .2byte \item .endm - @ Starts a wild battle against the Pokmon generated by setwildbattle. Blocks script execution until the battle finishes. - .macro dowildbattle + @ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes. + .macro dowildbattle .byte 0xb7 .endm - .macro setvaddress long, word + .macro setvaddress pointer .byte 0xb8 - .4byte \long - .2byte \word + .4byte \pointer .endm - .macro vjump pointer + .macro vgoto pointer .byte 0xb9 .4byte \pointer .endm @@ -1178,19 +1270,19 @@ .4byte \pointer .endm - .macro if5 byte, pointer + .macro vgoto_if byte, pointer .byte 0xbb .byte \byte .4byte \pointer .endm - .macro if6 byte, pointer + .macro vcall_if byte, pointer .byte 0xbc .byte \byte .4byte \pointer .endm - .macro vtext pointer + .macro vmessage pointer .byte 0xbd .4byte \pointer .endm @@ -1200,46 +1292,50 @@ .4byte \pointer .endm - .macro vbuffer byte, pointer + .macro vbufferstring byte, pointer .byte 0xbf .byte \byte .4byte \pointer .endm @ Spawns a secondary box showing how many Coins the player has. - .macro showcoins X, Y + .macro showcoinsbox x, y .byte 0xc0 - .byte \X - .byte \Y + .byte \x + .byte \y .endm - @ Hides the secondary box spawned by showcoins. It doesn't appear to use its arguments, but they are still required. - .macro hidecoins X, Y + @ Hides the secondary box spawned by showcoins. It consumes its arguments but doesn't use them. + .macro hidecoinsbox x, y .byte 0xc1 - .byte \X - .byte \Y + .byte \x + .byte \y .endm - @ Updates the secondary box spawned by showcoins. (What does it do with its arguments?) - .macro updatecoins X, Y + @ Updates the secondary box spawned by showcoins. It consumes its arguments but doesn't use them. + .macro updatecoinsbox x, y .byte 0xc2 - .byte \X - .byte \Y + .byte \x + .byte \y .endm - @ Increases the value of the specified hidden variable by 1. The hidden variable's value will not be allowed to exceed 0x00FFFFFF. - .macro inccounter a + @ Increases the value of the specified game stat by 1. The stat's value will not be allowed to exceed 0x00FFFFFF. + .macro incrementgamestat stat .byte 0xc3 - .byte \a + .byte \stat .endm - @ Clone of warp... Except that it doesn't appear to have any effect when used in some of FireRed's default level scripts. (If it did, Berry Forest would be impossible to enter...) - .macro warp6 + @ Sets the destination that using an Escape Rope or Dig will take the player to. + .macro setescapewarp map, warp, x, y .byte 0xc4 + map \map + .byte \warp + .2byte \x + .2byte \y .endm @ Blocks script execution until cry finishes. - .macro waitpokecry + .macro waitmoncry .byte 0xc5 .endm @@ -1263,17 +1359,17 @@ .endm @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened. - .macro unloadhelp + .macro unloadhelp .byte 0xc9 .endm @ After using this command, all standard message boxes will use the signpost frame. - .macro signmsg + .macro signmsg .byte 0xca .endm @ Ends the effects of signmsg, returning message box frames to normal. - .macro normalmsg + .macro normalmsg .byte 0xcb .endm @@ -1284,82 +1380,81 @@ .4byte \value .endm - @ Makes the Pokmon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle. - .macro setobedience slot + @ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle. + .macro setmonobedient slot .byte 0xcd .2byte \slot .endm - @ Checks if the Pokmon in the specified slot of the player's party is obedient. If the Pokmon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokmon is obedient (or if the specified slot is empty or invalid), 0x0000 is written. - .macro checkobedience slot + @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written. + .macro checkmonobedience slot .byte 0xce .2byte \slot .endm - @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020370A4. - .macro execram + @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0. + .macro execram .byte 0xcf .endm @ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot. - .macro setworldflag worldmapflag + .macro setworldmapflag worldmapflag .byte 0xd0 .2byte \worldmapflag .endm @ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source] - .macro warpteleport2 + .macro warpteleport2 map, warp, x, y .byte 0xd1 + map \map + .byte \warp + .2byte \x + .2byte \y .endm - @ Changes the location where the player caught the Pokmon in the specified slot of their party. A list of valid catch locations can be found on PokeCommunity. - .macro setcatchlocale slot, location + @ Changes the location where the player caught the Pokemon in the specified slot of their party. + .macro setmonmetlocation slot, location .byte 0xd2 .2byte \slot .byte \location .endm - @ Sets variable 0x8004 to a value based on the width of the braille string at text. - .macro braille2 text + .macro mossdeepgym1 unknown .byte 0xd3 - .4byte \text + .2byte \unknown .endm - @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. - .macro storeitems out, item, quantity + .macro mossdeepgym2 .byte 0xd4 - .byte \out - .2byte \item - .2byte \quantity .endm @ In FireRed, this command is a nop. - .macro event_d5 + .macro mossdeepgym3 var .byte 0xd5 + .2byte \var .endm - .macro event_d6 + .macro mossdeepgym4 .byte 0xd6 .endm - .macro warp7 byte1, byte2, byte3, word1, word2 + .macro warp7 map, byte, word1, word2 .byte 0xd7 - .byte \byte1 - .byte \byte2 - .byte \byte3 + map \map + .byte \byte .2byte \word1 .2byte \word2 .endm - .macro event_d8 + .macro cmdD8 .byte 0xd8 .endm - .macro event_d9 + .macro cmdD9 .byte 0xd9 .endm - .macro hidebox2 + .macro hidebox2 .byte 0xda .endm @@ -1368,21 +1463,21 @@ .4byte \pointer .endm - .macro fadescreen3 byte + .macro fadescreenswapbuffers byte .byte 0xdc .byte \byte .endm - .macro buffertrainerclass byte, word + .macro buffertrainerclassname out, class .byte 0xdd - .byte \byte - .2byte \word + .byte \out + .2byte \class .endm - .macro buffertrainername byte, word + .macro buffertrainername out, trainer .byte 0xde - .byte \byte - .2byte \word + .byte \out + .2byte \trainer .endm .macro pokenavcall pointer @@ -1390,24 +1485,62 @@ .4byte \pointer .endm - .macro warp8 byte1, byte2, byte3, word1, word2 + .macro warp8 map, byte, word1, word2 .byte 0xe0 - .byte \byte1 - .byte \byte2 - .byte \byte3 + map \map + .byte \byte .2byte \word1 .2byte \word2 .endm - .macro buffercontesttype byte, word + .macro buffercontesttypestring out, word .byte 0xe1 - .byte \byte + .byte \out .2byte \word .endm - .macro storeitems2 byte, word1, word2 + @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. + .macro bufferitemnameplural out, item, quantity .byte 0xe2 - .byte \byte - .2byte \word1 - .2byte \word2 + .byte \out + .2byte \item + .2byte \quantity + .endm + + +@ Supplementary + + .macro goto_eq dest + goto_if 1, \dest + .endm + + .macro switch var + copyvar 0x8000, \var + .endm + + .macro case condition, dest + compare_var_to_value 0x8000, \condition + goto_eq \dest + .endm + + .macro msgbox text, type=4 + loadword 0, \text + callstd \type + .endm + + @ Message box types + MSGBOX_YESNO = 5 + + YES = 1 + NO = 0 + + .macro giveitem_std item, amount=1, function=0 + setorcopyvar 0x8000, \item + setorcopyvar 0x8001, \amount + callstd \function + .endm + + .macro givedecoration_std decoration + setorcopyvar 0x8000, \decoration + callstd 7 .endm diff --git a/asm/macros/m4a.inc b/asm/macros/m4a.inc new file mode 100644 index 000000000..6c5abc09b --- /dev/null +++ b/asm/macros/m4a.inc @@ -0,0 +1,13 @@ + .macro song label, music_player, unknown + .4byte \label + .2byte \music_player + .2byte \unknown + .endm + + .macro music_player info_struct, track_struct, unknown_1, unknown_2 + .4byte \info_struct + .4byte \track_struct + .byte \unknown_1 + .space 1 + .2byte \unknown_2 + .endm diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 452f9b714..5367ad712 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -1,15 +1,115 @@ .macro new_map_group - .set cur_map_group, cur_map_group + 1 + inc cur_map_group .set cur_map_num, 0 .endm .macro map_group map_name .set GROUP_\map_name, cur_map_group .set MAP_\map_name, cur_map_num - .set cur_map_num, cur_map_num + 1 + inc cur_map_num .endm .macro map map_name .byte GROUP_\map_name .byte MAP_\map_name .endm + + .macro warp_map map_name + .byte MAP_\map_name + .byte GROUP_\map_name + .endm + + .macro heal_location map_name, x, y + .byte GROUP_\map_name + .byte MAP_\map_name + .2byte \x + .2byte \y + .space 2 + .endm + + .equiv GROUP_NONE, 0x7f + .equiv MAP_NONE, 0x7f + + .equiv GROUP_UNDEFINED, 0xff + .equiv MAP_UNDEFINED, 0xff + + .macro map_script type, address + .byte \type + .4byte \address + .endm + + .macro map_script_2 word1, word2, address + .2byte \word1 + .2byte \word2 + .4byte \address + .endm + + .macro object_event index, gfx, replacement, filler1, x, y, elevation, movement_type, radius, filler2, trainer_type, sight_radius_tree_etc, script, event_flag, filler3, filler4 + .byte \index, \gfx, \replacement, \filler1 + .2byte \x + .2byte \y + .byte \elevation, \movement_type, \radius, \filler2 + .2byte \trainer_type, \sight_radius_tree_etc + .4byte \script + .2byte \event_flag + .byte \filler3, \filler4 + inc _num_npcs + .endm + + .macro warp_def x, y, byte, warp, map + .2byte \x, \y + .byte \byte, \warp + warp_map \map + inc _num_warps + .endm + + .macro coord_event x, y, byte1, byte2, word1, word2, word3, script + .2byte \x, \y + .byte \byte1, \byte2 + .2byte \word1, \word2, \word3 + .4byte \script + inc _num_traps + .endm + + .macro bg_event x, y, byte, kind, word, arg6, arg7, arg8 + .2byte \x, \y + .byte \byte, \kind + .2byte \word + .if \kind < 5 + .4byte \arg6 + .else + .2byte \arg6 + .byte \arg7, \arg8 + .endif + inc _num_signs + .endm + + .macro map_events npcs, warps, traps, signs + .byte _num_npcs, _num_warps, _num_traps, _num_signs + .4byte \npcs, \warps, \traps, \signs + reset_map_events + .endm + + .macro reset_map_events + .set _num_npcs, 0 + .set _num_warps, 0 + .set _num_traps, 0 + .set _num_signs, 0 + .endm + + reset_map_events + + + .equiv connection_down, 1 + .equiv connection_up, 2 + .equiv connection_left, 3 + .equiv connection_right, 4 + .equiv connection_dive, 5 + .equiv connection_emerge, 6 + + .macro connection direction, offset, map, filler + .4byte connection_\direction + .4byte \offset + map \map + .space 2 + .endm diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc new file mode 100644 index 000000000..5a810c497 --- /dev/null +++ b/asm/macros/movement.inc @@ -0,0 +1,123 @@ + .macro create_movement name + enum _\name + .macro \name + .byte _\name + .endm + .endm + + enum_start + create_movement step_00 + create_movement step_01 + create_movement step_02 + create_movement step_03 + create_movement slow_step_down + create_movement slow_step_up + create_movement slow_step_left + create_movement slow_step_right + create_movement step_down + create_movement step_up + create_movement step_left + create_movement step_right + create_movement fast_step_down + create_movement fast_step_up + create_movement fast_step_left + create_movement fast_step_right + create_movement step_10 + create_movement step_11 + create_movement step_12 + create_movement step_13 + create_movement step_14 + create_movement step_15 + create_movement step_16 + create_movement step_17 + create_movement step_18 + create_movement step_19 + create_movement step_1a + create_movement step_1b + create_movement step_1c + create_movement step_1d + create_movement step_1e + create_movement step_1f + create_movement step_20 + create_movement step_21 + create_movement step_22 + create_movement step_23 + create_movement step_24 + create_movement step_25 + create_movement step_26 + create_movement step_27 + create_movement step_28 + create_movement step_29 + create_movement step_2a + create_movement step_2b + create_movement step_2c + create_movement step_2d + create_movement step_2e + create_movement step_2f + create_movement step_30 + create_movement step_31 + create_movement step_32 + create_movement step_33 + create_movement step_34 + create_movement step_35 + create_movement step_36 + create_movement step_37 + create_movement step_38 + create_movement step_39 + create_movement step_3a + create_movement step_3b + create_movement step_3c + create_movement step_3d + create_movement step_3e + create_movement step_3f + create_movement step_40 + create_movement step_41 + create_movement step_42 + create_movement step_43 + create_movement step_44 + create_movement step_45 + create_movement step_46 + create_movement step_47 + create_movement step_48 + create_movement step_49 + create_movement step_4a + create_movement step_4b + create_movement step_4c + create_movement step_4d + create_movement step_4e + create_movement step_4f + create_movement step_50 + create_movement step_51 + create_movement step_52 + create_movement step_53 + create_movement step_54 + create_movement step_55 + create_movement step_56 + create_movement step_57 + create_movement step_58 + create_movement step_59 + create_movement step_5a + create_movement step_5b + create_movement step_5c + create_movement step_5d + create_movement step_5e + create_movement step_5f + create_movement step_60 + create_movement step_61 + create_movement step_62 + create_movement step_63 + + enum_start 0x91 + create_movement step_91 + create_movement step_92 + create_movement step_93 + create_movement step_94 + create_movement step_95 + create_movement step_96 + create_movement step_97 + create_movement step_98 + create_movement step_99 + create_movement step_9A + + enum_start 0xfe + create_movement step_end diff --git a/asm/macros/music_voice.inc b/asm/macros/music_voice.inc new file mode 100644 index 000000000..b7a9e7f8d --- /dev/null +++ b/asm/macros/music_voice.inc @@ -0,0 +1,125 @@ + .macro voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 0 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_no_resample base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 8 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_alt base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 16 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte \base_midi_key + .byte 0 + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .4byte \sample_data_pointer + .byte \attack + .byte \decay + .byte \sustain + .byte \release + .endm + + .macro voice_square_1 sweep, duty_cycle, attack, decay, sustain, release + _voice_square_1 1, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_1_alt sweep, duty_cycle, attack, decay, sustain, release + _voice_square_1 9, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_1 type, sweep, duty_cycle, attack, decay, sustain, release + .byte \type, 60, 0 + .byte \sweep + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_square_2 duty_cycle, attack, decay, sustain, release + _voice_square_2 2, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_2_alt duty_cycle, attack, decay, sustain, release + _voice_square_2 10, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_2 type, duty_cycle, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_programmable_wave wave_samples_pointer, attack, decay, sustain, release + _voice_programmable_wave 3, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_programmable_wave_alt wave_samples_pointer, attack, decay, sustain, release + _voice_programmable_wave 11, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_programmable_wave type, wave_samples_pointer, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .4byte \wave_samples_pointer + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_noise period, attack, decay, sustain, release + _voice_noise 4, \period, \attack, \decay, \sustain, \release + .endm + + .macro voice_noise_alt period, attack, decay, sustain, release + _voice_noise 12, \period, \attack, \decay, \sustain, \release + .endm + + .macro _voice_noise type, period, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .byte (\period & 0x1) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_keysplit voice_group_pointer, keysplit_table_pointer + .byte 0x40, 0, 0, 0 + .4byte \voice_group_pointer + .4byte \keysplit_table_pointer + .endm + + .macro voice_keysplit_all voice_group_pointer + .byte 0x80, 0, 0, 0 + .4byte \voice_group_pointer + .4byte 0 + .endm + + .macro cry sample + .byte 0x20, 60, 0, 0 + .4byte \sample + .byte 0xff, 0, 0xff, 0 + .endm + + .macro cry2 sample + .byte 0x30, 60, 0, 0 + .4byte \sample + .byte 0xff, 0, 0xff, 0 + .endm diff --git a/asm/macros/pokemon_data.inc b/asm/macros/pokemon_data.inc index 31c015334..ce8ef98ac 100644 --- a/asm/macros/pokemon_data.inc +++ b/asm/macros/pokemon_data.inc @@ -52,5 +52,5 @@ .byte \max_level .endif - .2byte SPECIES_\species + .2byte \species .endm diff --git a/asm/macros/window.inc b/asm/macros/window.inc index b7291138b..a91782bbf 100644 --- a/asm/macros/window.inc +++ b/asm/macros/window.inc @@ -8,7 +8,7 @@ .2byte \vram_tile_offset .endm - .macro window_template_terminator + .macro null_window_template window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 .endm diff --git a/asm/mail_data.s b/asm/mail_data.s deleted file mode 100755 index 94cb3e9e6..000000000 --- a/asm/mail_data.s +++ /dev/null @@ -1,589 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ClearMailData -ClearMailData: @ 80D436C - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gSaveBlock1Ptr -_080D4372: - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 2 - ldr r0, =0x00002be0 - adds r1, r0 - ldr r0, [r5] - adds r0, r1 - bl sub_80D439C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080D4372 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ClearMailData - - thumb_func_start sub_80D439C -sub_80D439C: @ 80D439C - push {r4-r6,lr} - adds r3, r0, 0 - ldr r0, =0x0000ffff - adds r4, r0, 0 - adds r1, r3, 0 - movs r2, 0x8 -_080D43A8: - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080D43A8 - movs r2, 0 - adds r6, r3, 0 - adds r6, 0x1A - adds r4, r3, 0 - adds r4, 0x12 - movs r5, 0xFF -_080D43C2: - adds r1, r4, r2 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _080D43C2 - adds r1, r6, 0 - movs r2, 0 - adds r0, r1, 0x3 -_080D43D6: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080D43D6 - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x1E] - strh r1, [r3, 0x20] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D439C - - thumb_func_start sub_80D43F0 -sub_80D43F0: @ 80D43F0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _080D4418 - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - cmp r0, 0xFF - beq _080D4418 - movs r0, 0x1 - b _080D441A -_080D4418: - movs r0, 0 -_080D441A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D43F0 - - thumb_func_start sub_80D4420 -sub_80D4420: @ 80D4420 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - lsls r1, 16 - lsrs r0, r1, 16 - str r0, [sp, 0x8] - mov r0, sp - movs r2, 0 - ldrb r3, [r0, 0x8] - strb r3, [r0] - lsrs r1, 24 - strb r1, [r0, 0x1] - add r3, sp, 0x4 - strb r2, [r3] - ldr r4, =gSaveBlock1Ptr - mov r10, r4 - mov r9, r3 - adds r4, r3, 0 -_080D444C: - mov r1, r10 - ldr r0, [r1] - ldrb r2, [r4] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r0, r1 - movs r1, 0xB0 - lsls r1, 6 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080D4468 - b _080D45A8 -_080D4468: - movs r4, 0 - ldr r2, =gSaveBlock2Ptr - mov r12, r2 - ldr r7, =gSaveBlock1Ptr - add r5, sp, 0x4 - ldr r3, =0x0000ffff - adds r6, r3, 0 -_080D4476: - ldr r2, [r7] - lsls r3, r4, 1 - ldrb r1, [r5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00002be0 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - orrs r0, r6 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _080D4476 - movs r4, 0 - ldr r5, =gSaveBlock1Ptr - add r3, sp, 0x4 -_080D44A0: - ldr r2, [r5] - ldrb r1, [r3] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00002bf2 - adds r2, r1 - adds r2, r0 - mov r1, r12 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080D44A0 - mov r3, r10 - ldr r2, [r3] - mov r0, r9 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00002bf2 - adds r2, r1 - adds r2, r0 - movs r0, 0xFF - strb r0, [r2] - mov r2, r9 - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r3] - adds r0, r1 - ldr r3, =0x00002bf2 - adds r0, r3 - movs r1, 0 - bl sub_81DB4DC - movs r4, 0 - ldr r6, =gSaveBlock1Ptr - add r3, sp, 0x4 - ldr r5, =gSaveBlock2Ptr -_080D4500: - ldr r2, [r6] - ldrb r1, [r3] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00002bfa - adds r2, r1 - adds r2, r0 - ldr r0, [r5] - adds r0, 0xA - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080D4500 - mov r0, r8 - movs r1, 0xB - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80D45C8 - mov r2, r10 - ldr r3, [r2] - mov r4, r9 - ldrb r2, [r4] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r3, r1 - ldr r2, =0x00002bfe - adds r1, r2 - strh r0, [r1] - ldrb r1, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r4, 0xB0 - lsls r4, 6 - adds r3, r4 - mov r0, sp - ldrh r0, [r0, 0x8] - strh r0, [r3] - mov r0, r8 - movs r1, 0x40 - mov r2, r9 - bl SetMonData - mov r0, r8 - movs r1, 0xC - mov r2, sp - bl SetMonData - mov r1, r9 - ldrb r0, [r1] - b _080D45B6 - .pool -_080D45A8: - adds r0, r2, 0x1 - strb r0, [r3] - ldrb r0, [r4] - cmp r0, 0x5 - bhi _080D45B4 - b _080D444C -_080D45B4: - movs r0, 0xFF -_080D45B6: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D4420 - - thumb_func_start sub_80D45C8 -sub_80D45C8: @ 80D45C8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bne _080D45E0 - adds r0, r1, 0 - bl mon_icon_personality_to_unown_id - lsls r0, 16 - ldr r1, =0x75300000 - adds r0, r1 - lsrs r0, 16 -_080D45E0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D45C8 - - thumb_func_start sub_80D45E8 -sub_80D45E8: @ 80D45E8 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =0xffff8ad0 - adds r2, r3, r0 - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _080D4604 - movs r0, 0xC9 - strh r2, [r1] - b _080D4606 - .pool -_080D4604: - adds r0, r3, 0 -_080D4606: - pop {r1} - bx r1 - thumb_func_end sub_80D45E8 - - thumb_func_start sub_80D460C -sub_80D460C: @ 80D460C - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r7, r1, 0 - ldrh r5, [r7, 0x20] - adds r1, r5, 0 - bl sub_80D4420 - add r4, sp, 0x4 - strb r0, [r4] - ldrb r2, [r4] - cmp r2, 0xFF - beq _080D4670 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r1, r0 - ldr r0, =0x00002be0 - adds r1, r0 - adds r0, r7, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - mov r0, sp - strb r5, [r0] - mov r1, sp - lsrs r0, r5, 8 - strb r0, [r1, 0x1] - adds r0, r6, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - ldrb r0, [r4] - b _080D4672 - .pool -_080D4670: - movs r0, 0xFF -_080D4672: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D460C - - thumb_func_start sub_80D467C -sub_80D467C: @ 80D467C - movs r0, 0 - bx lr - thumb_func_end sub_80D467C - - thumb_func_start sub_80D4680 -sub_80D4680: @ 80D4680 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_80D43F0 - lsls r0, 24 - cmp r0, 0 - beq _080D46D2 - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - add r2, sp, 0x4 - strb r0, [r2] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r0, 0xB0 - lsls r0, 6 - adds r3, r0 - movs r1, 0 - movs r0, 0 - strh r0, [r3] - movs r0, 0xFF - strb r0, [r2] - mov r0, sp - strb r1, [r0] - strb r1, [r0, 0x1] - adds r0, r4, 0 - movs r1, 0x40 - bl SetMonData - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData -_080D46D2: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D4680 - - thumb_func_start sub_80D46E0 -sub_80D46E0: @ 80D46E0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - movs r0, 0xB0 - lsls r0, 6 - adds r2, r0 - movs r0, 0 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_80D46E0 - - thumb_func_start sub_80D4700 -sub_80D4700: @ 80D4700 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - adds r5, r0, 0 - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0, 0x1] - add r1, sp, 0x4 - movs r0, 0xFF - strb r0, [r1] - movs r7, 0x6 - mov r9, r1 - ldr r0, =gSaveBlock1Ptr - mov r8, r0 - ldr r3, =0x00002be0 -_080D4724: - mov r1, r8 - ldr r0, [r1] - lsls r1, r7, 3 - adds r1, r7 - lsls r1, 2 - adds r4, r0, r1 - movs r2, 0xB0 - lsls r2, 6 - adds r0, r4, r2 - ldrh r6, [r0] - cmp r6, 0 - bne _080D47A0 - adds r4, r3 - adds r0, r5, 0 - movs r1, 0x40 - str r3, [sp, 0x8] - bl GetMonData - mov r1, r8 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r3, [sp, 0x8] - adds r1, r3 - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - mov r1, r8 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - movs r3, 0xB0 - lsls r3, 6 - adds r2, r3 - strh r6, [r2] - adds r0, r5, 0 - movs r1, 0x40 - mov r2, r9 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - b _080D47AC - .pool -_080D47A0: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bls _080D4724 - movs r0, 0xFF -_080D47AC: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D4700 - - thumb_func_start itemid_is_mail -itemid_is_mail: @ 80D47BC - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bgt _080D47CE - cmp r0, 0x79 - blt _080D47CE - movs r0, 0x1 - b _080D47D0 -_080D47CE: - movs r0, 0 -_080D47D0: - pop {r1} - bx r1 - thumb_func_end itemid_is_mail - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/main_menu.s b/asm/main_menu.s index 6194f0487..9c6cd1253 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -127,7 +127,7 @@ InitMainMenu: @ 802F6F4 movs r1, 0xF0 movs r2, 0x20 bl LoadPalette - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl FreeAllSpritePalettes @@ -1487,7 +1487,7 @@ _08030460: ldr r0, =gMain ldr r1, =CB2_ReinitMainMenu str r1, [r0, 0x8] - ldr r0, =CB2_OptionsMenu + ldr r0, =CB2_InitOptionMenu b _0803048A .pool _08030478: @@ -1495,7 +1495,7 @@ _08030478: b _0803048A .pool _08030480: - ldr r0, =sub_8178974 + ldr r0, =CB2_InitMysteryEventMenu b _0803048A .pool _08030488: @@ -1608,7 +1608,7 @@ _08030578: ldr r0, =gUnknown_02022D06 strh r4, [r0] bl FreeAllWindowBuffers - ldr r0, =c2_title_screen_1 + ldr r0, =CB2_InitTitleScreen bl SetMainCallback2 adds r0, r5, 0 bl DestroyTask @@ -1929,7 +1929,7 @@ task_new_game_prof_birch_speech_1: @ 80307B0 movs r1, 0x1 movs r2, 0x10 bl LoadPalette - bl remove_some_task + bl ScanlineEffect_Stop bl ResetSpriteData bl FreeAllSpritePalettes bl dp13_810BB8C @@ -2215,7 +2215,7 @@ sub_8030A70: @ 8030A70 str r2, [sp, 0x10] movs r2, 0x70 movs r3, 0x3A - bl sub_8076438 + bl CreatePokeballSpriteToReleaseMon lsls r0, r4, 2 adds r0, r4 lsls r0, 3 @@ -3025,7 +3025,7 @@ task_new_game_prof_birch_speech_part2_4: @ 8031188 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3708,7 +3708,7 @@ new_game_prof_birch_speech_part2_start: @ 8031678 strh r0, [r4, 0x16] ldr r0, =0x0000ffc4 strh r0, [r4, 0x10] - bl remove_some_task + bl ScanlineEffect_Stop bl ResetSpriteData bl FreeAllSpritePalettes bl dp13_810BB8C @@ -3948,7 +3948,7 @@ AddBirchSpeechObjects: @ 803192C movs r1, 0x78 movs r2, 0x3C movs r3, 0 - bl sub_80B5E6C + bl CreateTrainerSprite lsls r0, 24 lsrs r0, 24 lsls r2, r0, 4 @@ -3981,7 +3981,7 @@ AddBirchSpeechObjects: @ 803192C movs r1, 0x78 movs r2, 0x3C movs r3, 0 - bl sub_80B5E6C + bl CreateTrainerSprite lsls r0, 24 lsrs r0, 24 lsls r2, r0, 4 @@ -4783,7 +4783,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4 ldr r0, [r6] ldrb r0, [r0, 0x14] lsrs r0, 3 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r1, [r0] movs r2, 0x90 lsls r2, 1 @@ -4793,7 +4793,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4 ldr r0, [r6] ldrb r0, [r0, 0x14] lsrs r0, 3 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r0, [r0, 0x4] movs r1, 0x20 movs r2, 0x20 diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s index f10dff946..9802c3151 100755..100644 --- a/asm/map_name_popup.s +++ b/asm/map_name_popup.s @@ -518,7 +518,7 @@ _080D4C0A: lsls r1, r4, 4 subs r1, r4 lsls r1, 6 - ldr r2, =gUnknown_0857DD04 + ldr r2, =gMapPopUp_Outline_Table adds r1, r2 movs r2, 0x80 lsls r2, 3 @@ -541,7 +541,7 @@ _080D4C0A: .pool _080D4C6C: lsls r0, r4, 5 - ldr r1, =gUnknown_0857F384 + ldr r1, =gMapPopUp_Palette_Table adds r0, r1 movs r1, 0xE0 movs r2, 0x20 @@ -550,7 +550,7 @@ _080D4C7A: lsls r1, r4, 4 subs r1, r4 lsls r1, 6 - ldr r0, =gUnknown_0857C684 + ldr r0, =gMapPopUp_Table adds r1, r0 movs r0, 0x50 str r0, [sp] diff --git a/asm/map_obj_8097404.s b/asm/map_obj_8097404.s deleted file mode 100644 index 96ffc2254..000000000 --- a/asm/map_obj_8097404.s +++ /dev/null @@ -1,1861 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8097404 -@ bool8 sub_8097404(struct npc_state *fieldObject) -sub_8097404: @ 8097404 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5] - movs r0, 0xA0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - bne _0809748C - ldrb r0, [r5, 0x1] - movs r4, 0x1 - orrs r0, r4 - strb r0, [r5, 0x1] - ldr r3, =gSprites - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 7 - ldrb r2, [r5, 0x2] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsrs r1, 7 - ands r1, r4 - ldrb r2, [r5, 0x3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - b _0809748E - .pool -_0809748C: - movs r0, 0x1 -_0809748E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8097404 - - thumb_func_start player_bitmagic -@ void player_bitmagic() -player_bitmagic: @ 8097494 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gMapObjects -_0809749A: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080974B8 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080974B8 - adds r0, r1, 0 - bl sub_8097404 -_080974B8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0809749A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end player_bitmagic - - thumb_func_start sub_80974D0 -sub_80974D0: @ 80974D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r6, =gMapObjects -_080974DA: - cmp r4, r5 - beq _080974FC - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080974FC - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080974FC - adds r0, r1, 0 - bl sub_8097404 -_080974FC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080974DA - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80974D0 - - thumb_func_start npc_sync_anim_pause_bits -@ void npc_sync_anim_pause_bits(struct npc_state *fieldObject) -npc_sync_anim_pause_bits: @ 8097514 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r2, [r5] - ldr r1, =0x00000101 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - bne _0809756C - ldrb r1, [r5, 0x1] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - ldr r4, =gSprites - ldrb r0, [r5, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r5, 0x2] - adds r1, 0x2C - lsrs r2, 7 - lsls r2, 6 - ldrb r3, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrb r1, [r5, 0x3] - lsls r1, 31 - lsrs r1, 31 - adds r2, 0x2C - lsls r1, 7 - ldrb r3, [r2] - movs r0, 0x7F - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_0809756C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end npc_sync_anim_pause_bits - - thumb_func_start UnfreezeMapObjects -UnfreezeMapObjects: @ 809757C - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gMapObjects -_08097582: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08097598 - adds r0, r1, 0 - bl npc_sync_anim_pause_bits -_08097598: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08097582 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UnfreezeMapObjects - - thumb_func_start little_step -@ void little_step(struct obj *object, u8 direction) -little_step: @ 80975AC - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end little_step - - thumb_func_start double_little_steps -double_little_steps: @ 80975CC - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 1 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 1 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end double_little_steps - - thumb_func_start triple_little_steps -triple_little_steps: @ 80975F0 - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r3, r2, 1 - adds r2, r3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r2, r1, 1 - adds r1, r2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end triple_little_steps - - thumb_func_start quad_little_steps -quad_little_steps: @ 8097618 - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 2 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end quad_little_steps - - thumb_func_start oct_little_steps -@ void oct_little_steps(struct obj *object, u8 direction) -oct_little_steps: @ 809763C - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 3 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end oct_little_steps - - thumb_func_start oamt_npc_ministep_reset -@ void oamt_npc_ministep_reset(struct obj *object, u8 direction, u8 speed) -oamt_npc_ministep_reset: @ 8097660 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - bx lr - thumb_func_end oamt_npc_ministep_reset - - thumb_func_start obj_npc_ministep -@ bool8 obj_npc_ministep(struct obj *object) -obj_npc_ministep: @ 8097674 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_0850E768 - movs r0, 0x36 - ldrsh r2, [r4, r0] - lsls r0, r2, 1 - adds r0, r5 - movs r3, 0x38 - ldrsh r1, [r4, r3] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _080976D4 - ldr r1, =gUnknown_0850E754 - lsls r0, r2, 2 - adds r0, r1 - movs r1, 0x38 - ldrsh r2, [r4, r1] - ldr r0, [r0] - lsls r2, 2 - adds r2, r0 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r5 - lsls r0, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r1, r3] - cmp r0, r1 - blt _080976D4 - movs r0, 0x1 - b _080976D6 - .pool -_080976D4: - movs r0, 0 -_080976D6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end obj_npc_ministep - - thumb_func_start sub_80976DC -@ void sub_80976DC(struct obj *object, u8 direction) -sub_80976DC: @ 80976DC - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_80976DC - - thumb_func_start sub_80976EC -@ bool8 sub_80976EC(struct obj *object) -sub_80976EC: @ 80976EC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x36] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809770C - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_0809770C: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _0809771E - movs r0, 0 - b _08097720 -_0809771E: - movs r0, 0x1 -_08097720: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80976EC - - thumb_func_start sub_8097728 -sub_8097728: @ 8097728 - ldr r1, =gUnknown_0850E7BA - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bx lr - .pool - thumb_func_end sub_8097728 - - thumb_func_start sub_809773C -sub_809773C: @ 809773C - ldr r1, =gUnknown_0850E772 - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bx lr - .pool - thumb_func_end sub_809773C - - thumb_func_start sub_8097750 -sub_8097750: @ 8097750 - movs r1, 0 - strh r1, [r0, 0x3A] - strh r1, [r0, 0x3C] - bx lr - thumb_func_end sub_8097750 - - thumb_func_start sub_8097758 -sub_8097758: @ 8097758 - push {r4-r6,lr} - adds r5, r0, 0 - movs r6, 0 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0809778E - cmp r0, 0x1 - bgt _08097770 - cmp r0, 0 - beq _0809777A - b _080977F2 -_08097770: - cmp r0, 0x2 - beq _080977B6 - cmp r0, 0x3 - beq _080977CA - b _080977F2 -_0809777A: - movs r2, 0x3A - ldrsh r0, [r5, r2] - bl sub_809773C - ldrh r1, [r5, 0x24] - adds r0, r1 - strh r0, [r5, 0x24] - movs r2, 0x3A - ldrsh r0, [r5, r2] - b _080977E8 -_0809778E: - ldrh r0, [r5, 0x3A] - movs r4, 0x47 - subs r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - bl sub_809773C - ldrh r1, [r5, 0x24] - subs r1, r0 - strh r1, [r5, 0x24] - ldrh r0, [r5, 0x3A] - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - bl sub_8097728 - ldrh r2, [r5, 0x26] - adds r0, r2 - b _080977F0 -_080977B6: - movs r1, 0x3A - ldrsh r0, [r5, r1] - bl sub_809773C - ldrh r1, [r5, 0x24] - subs r1, r0 - strh r1, [r5, 0x24] - movs r2, 0x3A - ldrsh r0, [r5, r2] - b _080977E8 -_080977CA: - ldrh r0, [r5, 0x3A] - movs r4, 0x47 - subs r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - bl sub_809773C - ldrh r2, [r5, 0x24] - adds r0, r2 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x3A] - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 -_080977E8: - bl sub_8097728 - ldrh r1, [r5, 0x26] - adds r0, r1 -_080977F0: - strh r0, [r5, 0x26] -_080977F2: - ldrh r0, [r5, 0x3A] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x48 - bne _0809780A - strh r1, [r5, 0x3A] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_0809780A: - movs r2, 0x3C - ldrsh r0, [r5, r2] - cmp r0, 0x4 - bne _08097818 - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - movs r6, 0x1 -_08097818: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8097758 - - thumb_func_start sub_8097820 -sub_8097820: @ 8097820 - lsls r1, 24 - ldr r2, =gUnknown_0850E834 - lsrs r1, 22 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - ldr r1, [r1] - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - bx lr - .pool - thumb_func_end sub_8097820 - - thumb_func_start sub_809783C -sub_809783C: @ 809783C - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - strh r4, [r0, 0x3A] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809783C - - thumb_func_start sub_809785C -sub_809785C: @ 809785C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, =gUnknown_0850E840 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r5, sp, 0x8 - ldr r1, =gUnknown_0850E846 - adds r0, r5, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0809788E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step -_0809788E: - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - adds r1, r5, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r4, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8097820 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x3A] - adds r1, 0x1 - strh r1, [r4, 0x3A] - movs r2, 0x36 - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _080978C8 - movs r6, 0x1 -_080978C8: - cmp r1, r2 - blt _080978D2 - movs r0, 0 - strh r0, [r4, 0x26] - movs r6, 0xFF -_080978D2: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_809785C - - thumb_func_start sub_80978E4 -sub_80978E4: @ 80978E4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - ldr r1, =gUnknown_0850E84A - mov r0, sp - movs r2, 0x6 - bl memcpy - add r4, sp, 0x8 - ldr r1, =gUnknown_0850E850 - adds r0, r4, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08097920 - ldrh r1, [r5, 0x3A] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08097920 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl little_step -_08097920: - movs r2, 0x3A - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - adds r1, r4, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8097820 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0x3A] - adds r1, 0x1 - strh r1, [r5, 0x3A] - movs r2, 0x36 - ldrsh r0, [r5, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _0809795A - movs r6, 0x1 -_0809795A: - cmp r1, r2 - blt _08097964 - movs r0, 0 - strh r0, [r5, 0x26] - movs r6, 0xFF -_08097964: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80978E4 - - thumb_func_start SetFieldObjectStepTimer -@ void SetFieldObjectStepTimer(struct obj *object, u16 a2) -SetFieldObjectStepTimer: @ 8097978 - strh r1, [r0, 0x34] - bx lr - thumb_func_end SetFieldObjectStepTimer - - thumb_func_start RunFieldObjectStepTimer -@ bool8 RunFieldObjectStepTimer(struct obj *object) -RunFieldObjectStepTimer: @ 809797C - push {lr} - ldrh r1, [r0, 0x34] - subs r1, 0x1 - strh r1, [r0, 0x34] - lsls r1, 16 - cmp r1, 0 - beq _0809798E - movs r0, 0 - b _08097990 -_0809798E: - movs r0, 0x1 -_08097990: - pop {r1} - bx r1 - thumb_func_end RunFieldObjectStepTimer - - thumb_func_start obj_anim_image_set_and_seek -obj_anim_image_set_and_seek: @ 8097994 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - adds r3, r0, 0 - adds r3, 0x2A - strb r1, [r3] - adds r4, r0, 0 - adds r4, 0x2C - ldrb r3, [r4] - movs r1, 0x41 - negs r1, r1 - ands r1, r3 - strb r1, [r4] - adds r1, r2, 0 - bl SeekSpriteAnim - pop {r4} - pop {r0} - bx r0 - thumb_func_end obj_anim_image_set_and_seek - - thumb_func_start sub_80979BC -sub_80979BC: @ 80979BC - push {lr} - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080979CE - movs r0, 0 - b _080979D0 -_080979CE: - movs r0, 0x1 -_080979D0: - pop {r1} - bx r1 - thumb_func_end sub_80979BC - - thumb_func_start sub_80979D4 -sub_80979D4: @ 80979D4 - push {r4-r6,lr} - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - mov r3, r12 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08097A3C - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r4, r12 - adds r4, 0x28 - movs r0, 0 - ldrsb r0, [r4, r0] - ldr r2, =gSpriteCoordOffsetX - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - subs r3, 0x15 - movs r0, 0 - ldrsb r0, [r3, r0] - ldr r2, =gSpriteCoordOffsetY - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - adds r2, r3, 0 - b _08097A6A - .pool -_08097A3C: - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r3, r12 - adds r3, 0x28 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - mov r2, r12 - adds r2, 0x29 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, r3, 0 -_08097A6A: - ldrb r0, [r4] - lsls r0, 24 - asrs r0, 25 - subs r0, r6, r0 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r0, [r2] - lsls r0, 24 - asrs r0, 25 - subs r0, r5, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _08097A96 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08097AA2 -_08097A96: - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_08097AA2: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _08097AB6 - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08097AC2 -_08097AB6: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08097AC2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80979D4 - - thumb_func_start sub_8097AC8 -sub_8097AC8: @ 8097AC8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8097D68 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrh r1, [r4, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80979D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8097AC8 - - thumb_func_start sub_8097AF0 -sub_8097AF0: @ 8097AF0 - push {r4,r5,lr} - movs r5, 0 - movs r4, 0x3F -_08097AF6: - ldr r0, =gSprites - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08097B16 - ldr r1, [r2, 0x1C] - ldr r0, =sub_8097AC8 - cmp r1, r0 - bne _08097B16 - adds r0, r2, 0 - bl DestroySprite -_08097B16: - adds r5, 0x44 - subs r4, 0x1 - cmp r4, 0 - bge _08097AF6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097AF0 - - thumb_func_start sub_8097B2C -sub_8097B2C: @ 8097B2C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r6, =gSprites - movs r4, 0 -_08097B38: - adds r2, r4, r6 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08097B68 - ldr r1, [r2, 0x1C] - ldr r0, =sub_8097AC8 - cmp r1, r0 - bne _08097B68 - ldrh r0, [r2, 0x2E] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bne _08097B68 - adds r0, r3, 0 - b _08097B72 - .pool -_08097B68: - adds r4, 0x44 - adds r3, 0x1 - cmp r3, 0x3F - ble _08097B38 - movs r0, 0x40 -_08097B72: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8097B2C - - thumb_func_start sub_8097B78 -sub_8097B78: @ 8097B78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08097BAA - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r5, 0 - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_08097BAA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097B78 - - thumb_func_start sub_8097BB4 -sub_8097BB4: @ 8097BB4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_8097B2C - adds r1, r0, 0 - cmp r1, 0x40 - beq _08097C3E - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - adds r0, r5, 0 - bl GetFieldObjectGraphicsInfo - ldrh r3, [r4, 0x4] - lsls r3, 22 - ldr r1, [r0, 0x10] - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [r4] - str r2, [r4, 0x4] - lsrs r3, 22 - ldrh r2, [r4, 0x4] - ldr r1, =0xfffffc00 - ands r1, r2 - orrs r1, r3 - strh r1, [r4, 0x4] - ldrb r2, [r0, 0xC] - lsls r2, 28 - lsrs r2, 24 - ldrb r3, [r4, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r2 - strb r1, [r4, 0x5] - ldr r1, [r0, 0x1C] - str r1, [r4, 0xC] - ldr r1, [r0, 0x14] - cmp r1, 0 - bne _08097C20 - str r1, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x42 - strb r1, [r0] - b _08097C36 - .pool -_08097C20: - adds r0, r4, 0 - bl SetSubspriteTables - adds r2, r4, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_08097C36: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_08097C3E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8097BB4 - - thumb_func_start sub_8097C44 -sub_8097C44: @ 8097C44 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r2, 0x40 - beq _08097C80 - cmp r4, 0 - beq _08097C74 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x32] - b _08097C80 - .pool -_08097C74: - ldr r1, =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x32] -_08097C80: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097C44 - - thumb_func_start sub_8097C8C -sub_8097C8C: @ 8097C8C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - bne _08097CA2 - movs r0, 0 - b _08097CBA -_08097CA2: - movs r3, 0 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08097CB8 - movs r3, 0x1 -_08097CB8: - adds r0, r3, 0 -_08097CBA: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8097C8C - - thumb_func_start sub_8097CC4 -sub_8097CC4: @ 8097CC4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08097CEA - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r4, [r1, 0x34] - strh r0, [r1, 0x36] -_08097CEA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097CC4 - - thumb_func_start sub_8097CF4 -sub_8097CF4: @ 8097CF4 - push {lr} - adds r2, r0, 0 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _08097D06 - cmp r0, 0x1 - beq _08097D0E - b _08097D2C -_08097D06: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x36] - adds r0, 0x1 - strh r0, [r2, 0x36] -_08097D0E: - ldrh r0, [r2, 0x26] - subs r0, 0x8 - movs r3, 0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _08097D2C - strh r3, [r2, 0x26] - movs r0, 0x1 - strh r0, [r2, 0x32] - strh r3, [r2, 0x34] - strh r3, [r2, 0x36] -_08097D2C: - pop {r0} - bx r0 - thumb_func_end sub_8097CF4 - - thumb_func_start sub_8097D30 -sub_8097D30: @ 8097D30 - push {lr} - adds r1, r0, 0 - movs r2, 0x36 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08097D42 - cmp r0, 0x1 - beq _08097D4C - b _08097D5E -_08097D42: - ldr r0, =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] -_08097D4C: - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08097D5E - strh r0, [r1, 0x34] - strh r0, [r1, 0x36] -_08097D5E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097D30 - - thumb_func_start sub_8097D68 -sub_8097D68: @ 8097D68 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08097D84 - cmp r0, 0x1 - bgt _08097D7E - cmp r0, 0 - beq _08097D98 - b _08097D94 -_08097D7E: - cmp r0, 0x2 - beq _08097D8C - b _08097D94 -_08097D84: - adds r0, r1, 0 - bl sub_8097D30 - b _08097D98 -_08097D8C: - adds r0, r1, 0 - bl sub_8097CF4 - b _08097D98 -_08097D94: - movs r0, 0 - strh r0, [r1, 0x34] -_08097D98: - pop {r0} - bx r0 - thumb_func_end sub_8097D68 - - thumb_func_start sub_8097D9C -sub_8097D9C: @ 8097D9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08097DC0 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08097DC8 -_08097DC0: - movs r0, 0 - b _08097DCA - .pool -_08097DC8: - movs r0, 0x1 -_08097DCA: - pop {r1} - bx r1 - thumb_func_end sub_8097D9C - - thumb_func_start oe_exec_and_other_stuff -oe_exec_and_other_stuff: @ 8097DD0 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl FieldObjectGetLocalIdAndMap - adds r0, r4, 0 - bl FieldEffectStart - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end oe_exec_and_other_stuff - - thumb_func_start DoShadowFieldEffect -DoShadowFieldEffect: @ 8097DF8 - push {lr} - adds r1, r0, 0 - ldrb r2, [r1, 0x2] - lsls r0, r2, 25 - cmp r0, 0 - blt _08097E10 - movs r0, 0x40 - orrs r0, r2 - strb r0, [r1, 0x2] - movs r0, 0x3 - bl oe_exec_and_other_stuff -_08097E10: - pop {r0} - bx r0 - thumb_func_end DoShadowFieldEffect - - thumb_func_start DoRippleFieldEffect -@ void DoRippleFieldEffect(struct npc_state *fieldObject, struct obj *object) -DoRippleFieldEffect: @ 8097E14 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - ldr r2, =gFieldEffectArguments - movs r3, 0x20 - ldrsh r1, [r4, r3] - str r1, [r2] - movs r3, 0x22 - ldrsh r1, [r4, r3] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - adds r1, r0 - subs r1, 0x2 - str r1, [r2, 0x4] - movs r0, 0x97 - str r0, [r2, 0x8] - movs r0, 0x3 - str r0, [r2, 0xC] - movs r0, 0x5 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoRippleFieldEffect - - thumb_func_start sub_8097E50 -sub_8097E50: @ 8097E50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - mov r8, r1 - movs r0, 0 - mov r12, r0 - ldr r0, =gUnknown_020375B8 - ldr r1, [r0] - adds r6, r0, 0 - cmp r1, 0 - bne _08097E80 - movs r0, 0x14 - bl AllocZeroed - str r0, [r6] - ldrb r1, [r4, 0x8] - strb r1, [r0] - ldr r1, [r6] - movs r0, 0x1 - strb r0, [r1, 0x10] - b _08097ECC - .pool -_08097E80: - movs r2, 0x10 - movs r5, 0 - movs r1, 0 - adds r3, r6, 0 - b _08097E90 -_08097E8A: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 -_08097E90: - cmp r1, 0xF - bhi _08097EB2 - cmp r2, 0x10 - bne _08097EA4 - ldr r0, [r3] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08097EA4 - adds r2, r1, 0 -_08097EA4: - ldr r0, [r3] - adds r0, r1 - ldrb r0, [r0] - ldrb r7, [r4, 0x8] - cmp r0, r7 - bne _08097E8A - movs r5, 0x1 -_08097EB2: - cmp r5, 0 - bne _08097ECE - cmp r2, 0x10 - beq _08097ECE - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r4, 0x8] - strb r1, [r0] - ldr r1, [r6] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - movs r0, 0x1 -_08097ECC: - mov r12, r0 -_08097ECE: - mov r1, r12 - cmp r1, 0x1 - bne _08097EE0 - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] -_08097EE0: - movs r0, 0x1 - mov r7, r8 - strh r0, [r7, 0x32] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8097E50 - - thumb_func_start sub_8097EF0 -sub_8097EF0: @ 8097EF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - mov r8, r1 - movs r0, 0x1 - strh r0, [r1, 0x32] - ldr r5, =gUnknown_020375B8 - ldr r0, [r5] - cmp r0, 0 - beq _08097F68 - movs r7, 0 - adds r0, r6, 0 - bl sub_8097F78 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _08097F28 - ldr r0, [r5] - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r1, [r5] - ldrb r0, [r1, 0x10] - subs r0, 0x1 - strb r0, [r1, 0x10] - movs r7, 0x1 -_08097F28: - ldr r0, [r5] - ldrb r4, [r0, 0x10] - cmp r4, 0 - bne _08097F36 - bl Free - str r4, [r5] -_08097F36: - cmp r7, 0x1 - bne _08097F68 - ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo - ldrb r1, [r0, 0xC] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 4 - ldrb r2, [r6, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - strb r0, [r6, 0x1] - mov r2, r8 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08097F68: - movs r0, 0x1 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8097EF0 - - thumb_func_start sub_8097F78 -@ signed int sub_8097F78(npc_state *a1) -sub_8097F78: @ 8097F78 - push {lr} - movs r2, 0 - ldr r1, =gUnknown_020375B8 - ldr r1, [r1] - ldrb r3, [r0, 0x8] -_08097F82: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, r3 - bne _08097F94 - adds r0, r2, 0 - b _08097FA0 - .pool -_08097F94: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08097F82 - movs r0, 0x10 -_08097FA0: - pop {r1} - bx r1 - thumb_func_end sub_8097F78 - - thumb_func_start sub_8097FA4 -sub_8097FA4: @ 8097FA4 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, =sub_8097FE4 - movs r1, 0xFF - bl CreateTask - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x8 - adds r1, r6, 0 - bl StoreWordInTwoHalfwords - strb r5, [r6, 0x1B] - ldr r0, =0x0000ffff - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097FA4 - - thumb_func_start sub_8097FE4 -sub_8097FE4: @ 8097FE4 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - adds r0, r4, 0 - adds r0, 0x8 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r2, r0, r1 - ldrh r1, [r4, 0xC] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08098020 - ldrh r0, [r4, 0xE] - ldrh r1, [r2, 0x26] - adds r0, r1 - strh r0, [r2, 0x26] -_08098020: - ldrh r1, [r4, 0xC] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _08098030 - ldrh r0, [r4, 0xE] - negs r0, r0 - strh r0, [r4, 0xE] -_08098030: - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097FE4 - - thumb_func_start sub_8098044 -sub_8098044: @ 8098044 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - adds r0, 0x8 - mov r1, sp - bl LoadWordFromTwoHalfwords - adds r0, r4, 0 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098044 - - thumb_func_start sub_8098074 -sub_8098074: @ 8098074 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - ldr r7, =gMapObjects -_08098082: - cmp r4, r6 - beq _080980A8 - cmp r4, r5 - beq _080980A8 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r7 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080980A8 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080980A8 - adds r0, r1, 0 - bl sub_8097404 -_080980A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08098082 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098074 - - thumb_func_start sub_80980C0 -sub_80980C0: @ 80980C0 - movs r0, 0 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0 - bx lr - thumb_func_end sub_80980C0 - - thumb_func_start sub_80980D0 -sub_80980D0: @ 80980D0 - push {lr} - adds r2, r1, 0 - ldrh r0, [r2, 0x26] - subs r0, 0x8 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _080980EC - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] -_080980EC: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80980D0 - - thumb_func_start sub_80980F4 -sub_80980F4: @ 80980F4 - ldr r0, =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0 - bx lr - .pool - thumb_func_end sub_80980F4 - - thumb_func_start sub_8098108 -sub_8098108: @ 8098108 - push {lr} - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _0809811C - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] -_0809811C: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8098108 - - thumb_func_start sub_8098124 -sub_8098124: @ 8098124 - movs r0, 0x1 - bx lr - thumb_func_end sub_8098124 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s index ee60814f5..97abc7fec 100644 --- a/asm/map_obj_lock.s +++ b/asm/map_obj_lock.s @@ -62,7 +62,7 @@ _080983E2: thumb_func_start ScriptFreezeMapObjects ScriptFreezeMapObjects: @ 80983E8 push {lr} - bl player_bitmagic + bl FreezeMapObjects ldr r0, =sub_80983A4 movs r1, 0x50 bl CreateTask @@ -109,7 +109,7 @@ _0809842A: cmp r0, 0 blt _08098452 adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r5, 0xA] _08098452: @@ -154,7 +154,7 @@ LockSelectedMapObject: @ 80984A0 push {r4,r5,lr} ldr r4, =gSelectedMapObject ldrb r0, [r4] - bl sub_80974D0 + bl FreezeMapObjectsExceptOne ldr r0, =sub_8098400 movs r1, 0x50 bl CreateTask @@ -171,7 +171,7 @@ LockSelectedMapObject: @ 80984A0 cmp r0, 0 blt _080984DE adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject ldr r0, =gTasks lsls r1, r5, 2 adds r1, r5 @@ -256,7 +256,7 @@ sub_8098574: @ 8098574 lsls r0, 2 ldr r1, =gMapObjects adds r0, r1 - ldr r1, =gScriptFacing + ldr r1, =gSpecialVar_Facing ldrb r1, [r1] bl FieldObjectFaceOppositeDirection pop {r0} @@ -317,7 +317,7 @@ _080985E8: cmp r0, 0 blt _0809860C adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r5, 0xA] _0809860C: @@ -345,15 +345,15 @@ sub_8098630: @ 8098630 mov r6, r8 push {r6,r7} movs r0, 0 - bl sub_80B47E0 + bl GetChosenApproachingTrainerMapObjectId lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_030060A8 + ldr r0, =gNoOfApproachingTrainers ldrb r0, [r0] cmp r0, 0x2 bne _080986E0 movs r0, 0x1 - bl sub_80B47E0 + bl GetChosenApproachingTrainerMapObjectId lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 @@ -385,7 +385,7 @@ sub_8098630: @ 8098630 cmp r0, 0 blt _0809869A adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r6, 0xA] _0809869A: @@ -410,14 +410,14 @@ _0809869A: cmp r0, 0 blt _0809871A adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r4, 0xA] b _0809871A .pool _080986E0: adds r0, r4, 0 - bl sub_80974D0 + bl FreezeMapObjectsExceptOne ldr r0, =sub_80985BC movs r1, 0x50 bl CreateTask @@ -439,7 +439,7 @@ _080986E0: cmp r0, 0 blt _0809871A adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r5, 0xA] _0809871A: diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s index bfcf8742a..af4764d76 100644 --- a/asm/mauville_old_man.s +++ b/asm/mauville_old_man.s @@ -157,7 +157,7 @@ sub_81201C8: @ 81201C8 thumb_func_start sub_81201DC sub_81201DC: @ 81201DC push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_81201C8 lsls r0, 24 lsrs r0, 24 @@ -170,7 +170,7 @@ sub_81201DC: @ 81201DC thumb_func_start sub_81201F4 sub_81201F4: @ 81201F4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r2, =0x00002e51 @@ -347,7 +347,7 @@ sub_8120340: @ 8120340 thumb_func_start sub_8120358 sub_8120358: @ 8120358 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r2, =0x00002e28 @@ -379,14 +379,14 @@ sub_812038C: @ 812038C ldr r0, =0x0000ffff cmp r1, r0 bne _081203AC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081203B6 .pool _081203AC: ldr r0, =gStringVar1 bl CopyEasyChatWord - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _081203B6: strh r0, [r1] @@ -405,14 +405,14 @@ sub_81203C4: @ 81203C4 ldrb r0, [r2, 0x1] cmp r0, 0xA bne _081203EC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] strb r0, [r2, 0x1] b _081203F2 .pool _081203EC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081203F2: @@ -503,7 +503,7 @@ _081204C4: adds r0, 0x1 _081204C8: strb r0, [r5, 0x1] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] pop {r4-r6} @@ -800,7 +800,7 @@ sub_8120708: @ 8120708 adds r5, r0, 0 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r4, 0x1 str r4, [sp] str r4, [sp, 0x4] @@ -965,7 +965,7 @@ _08120850: lsls r1, 1 adds r0, r1 strh r0, [r6, 0x6] - ldr r4, =gMPlay_SE2 + ldr r4, =gMPlayInfo_SE2 ldr r5, =0x0000ffff ldrh r2, [r6, 0x6] adds r0, r4, 0 @@ -1008,7 +1008,7 @@ _081208BC: subs r0, 0x40 _081208C0: strh r0, [r6, 0x8] - ldr r4, =gMPlay_SE2 + ldr r4, =gMPlayInfo_SE2 ldr r5, =0x0000ffff ldrh r2, [r6, 0x6] adds r0, r4, 0 @@ -1059,7 +1059,7 @@ _08120922: lsls r0, 24 cmp r0, 0 bne _08120938 - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 bl m4aMPlayStop movs r0, 0x4 _08120936: @@ -1228,7 +1228,7 @@ _08120A7E: bne _08120AB0 movs r0, 0x6 bl FadeInBGM - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 movs r1, 0x2 bl m4aMPlayFadeOutTemporarily bl EnableBothScriptContexts @@ -2382,13 +2382,13 @@ _0812132C: cmp r4, r0 bne _0812135C _0812134E: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _08121364 .pool _0812135C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] ldr r0, =gUnknown_03001178 strb r4, [r0] diff --git a/asm/menu.s b/asm/menu.s deleted file mode 100755 index 71ff9218c..000000000 --- a/asm/menu.s +++ /dev/null @@ -1,5505 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AddTextPrinterWithCallbackForMessage -@ void AddTextPrinterWithCallbackForMessage(u8 allowSkippingDelayWithButtonPress, void ( *callback)(u16, struct TextPrinter *)) -AddTextPrinterWithCallbackForMessage: @ 8197A9C - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterWithCallbackForMessage - - thumb_func_start sub_8197AE8 -sub_8197AE8: @ 8197AE8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - cmp r4, 0x1 - bne _08197B12 - movs r0, 0 - bl CopyBgTilemapBufferToVram -_08197B12: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8197AE8 - - thumb_func_start sub_8197B1C -sub_8197B1C: @ 8197B1C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r0, =gUnknown_0203CD9E - strb r3, [r0] - ldr r1, =sub_8197BB4 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197B52 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197B52: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197B1C - - thumb_func_start sub_8197B64 -sub_8197B64: @ 8197B64 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r5, =gUnknown_0203CD9E - adds r0, r6, 0 - movs r1, 0x5 - bl GetWindowAttribute - strb r0, [r5] - ldr r1, =sub_8197BB4 - adds r0, r6, 0 - bl CallWindowFunction - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r6, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197BA2 - adds r0, r6, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197BA2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197B64 - - thumb_func_start sub_8197BB4 -sub_8197BB4: @ 8197BB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - mov r8, r0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r2, [sp, 0x44] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, r1, 24 - lsls r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - lsrs r3, r0, 24 - str r3, [sp, 0xC] - movs r3, 0xFE - lsls r3, 24 - adds r2, r0, r3 - lsrs r2, 24 - str r2, [sp, 0x14] - lsrs r0, r5, 24 - mov r9, r0 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - ldr r3, =gUnknown_0203CD9E - mov r10, r3 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x14] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x3 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0xC] - subs r0, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x18] - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x18] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x4 - lsls r1, 16 - lsrs r1, 16 - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - str r0, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0xC] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x5 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0xC] - adds r7, r0, r6 - subs r0, r7, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x20] - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x20] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x6 - lsls r1, 16 - lsrs r1, 16 - lsls r2, r7, 24 - lsrs r7, r2, 24 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - adds r2, r7, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - movs r5, 0x5 - str r5, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x14] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x9 - lsls r1, 16 - lsrs r1, 16 - adds r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - str r6, [sp] - str r5, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x18] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0xA - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r5, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - adds r2, r7, 0 - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =0x00000801 - adds r1, r3, 0 - ldr r0, =gUnknown_0203CD9C - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x10] - add r9, r2 - mov r3, r9 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x14] - bl FillBgTilemapBufferRect - ldr r3, =0x00000803 - adds r1, r3, 0 - ldr r0, =gUnknown_0203CD9C - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x18] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =0x00000804 - adds r1, r3, 0 - ldr r0, =gUnknown_0203CD9C - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x1C] - str r2, [sp] - str r4, [sp, 0x4] - mov r3, r10 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0xC] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r0, =0x00000805 - adds r1, r0, 0 - ldr r2, =gUnknown_0203CD9C - ldrh r2, [r2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r10 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x20] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r0, =0x00000806 - adds r1, r0, 0 - ldr r2, =gUnknown_0203CD9C - ldrh r2, [r2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r10 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - adds r2, r7, 0 - mov r3, r9 - bl FillBgTilemapBufferRect - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197BB4 - - thumb_func_start sub_8197DF8 -sub_8197DF8: @ 8197DF8 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_8197E30 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _08197E26 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197E26: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197DF8 - - thumb_func_start sub_8197E30 -sub_8197E30: @ 8197E30 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFD - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0xC0 - lsls r2, 19 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8197E30 - - thumb_func_start SetWindowBorderStyle -@ void SetWindowBorderStyle(u8 windowId, bool copyToVram, s16 tileStart, s8 palette) -SetWindowBorderStyle: @ 8197E80 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r0, =gUnknown_0203CD9E - strb r3, [r0] - ldr r1, =DrawWindowBorder - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197EB6 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197EB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetWindowBorderStyle - - thumb_func_start sub_8197EC8 -sub_8197EC8: @ 8197EC8 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r5, =gUnknown_0203CD9E - adds r0, r6, 0 - movs r1, 0x5 - bl GetWindowAttribute - strb r0, [r5] - ldr r1, =DrawWindowBorder - adds r0, r6, 0 - bl CallWindowFunction - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r6, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197F06 - adds r0, r6, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197F06: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197EC8 - - thumb_func_start DrawWindowBorder -DrawWindowBorder: @ 8197F18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r9, r0 - adds r6, r1, 0 - adds r4, r2, 0 - ldr r0, [sp, 0x38] - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r6, 24 - lsls r4, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - lsrs r0, r6, 24 - str r0, [sp, 0xC] - movs r2, 0xFF - lsls r2, 24 - adds r6, r2 - lsrs r6, 24 - lsrs r0, r4, 24 - mov r8, r0 - adds r4, r2 - lsrs r4, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - ldr r7, =gUnknown_0203CD9E - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x10] - str r0, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x2 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0xC] - ldr r2, [sp, 0x10] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - str r5, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - mov r2, r10 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x3 - lsls r1, 16 - lsrs r1, 16 - str r5, [sp] - ldr r2, [sp, 0x14] - str r2, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - adds r2, r6, 0 - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x5 - lsls r1, 16 - lsrs r1, 16 - str r5, [sp] - ldr r2, [sp, 0x14] - str r2, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - mov r2, r10 - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x6 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x14] - add r8, r2 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - str r5, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - adds r2, r6, 0 - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x10] - str r0, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - ldr r2, [sp, 0xC] - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x8 - lsls r1, 16 - lsrs r1, 16 - str r5, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - mov r2, r10 - mov r3, r8 - bl FillBgTilemapBufferRect - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DrawWindowBorder - - thumb_func_start sub_8198070 -sub_8198070: @ 8198070 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81980A8 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _0819809E - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0819809E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198070 - - thumb_func_start sub_81980A8 -sub_81980A8: @ 81980A8 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFF - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0x80 - lsls r2, 18 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81980A8 - - thumb_func_start sub_81980F0 -sub_81980F0: @ 81980F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r5, r3, 24 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - movs r1, 0 - movs r2, 0x8 - bl memset - cmp r6, 0x3 - bls _08198126 - movs r1, 0 - mov r0, sp - strb r1, [r0] - b _0819812A -_08198126: - mov r0, sp - strb r6, [r0] -_0819812A: - mov r1, sp - mov r0, r8 - strb r0, [r1, 0x2] - movs r0, 0x2 - strb r0, [r1, 0x4] - movs r0, 0x1E - subs r0, r7 - strb r0, [r1, 0x1] - strb r7, [r1, 0x3] - strb r5, [r1, 0x5] - strh r4, [r1, 0x6] - ldr r4, =gUnknown_0203CDA0 - mov r0, sp - bl AddWindow - strb r0, [r4] - cmp r5, 0xF - bls _08198158 - movs r5, 0xF0 - b _0819815C - .pool -_08198158: - lsls r0, r5, 28 - lsrs r5, r0, 24 -_0819815C: - ldr r0, =gUnknown_0860F0B0 - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_0203CDA0 - ldrb r0, [r0] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81980F0 - - thumb_func_start sub_8198180 -sub_8198180: @ 8198180 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r5, =gUnknown_0203CDA0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _081981EE - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5] - movs r1, 0x1 - bl GetWindowAttribute - movs r2, 0xEC - subs r2, r7 - lsls r0, 3 - subs r2, r0 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - ldr r1, =gUnknown_0860F0D0 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r3, 0x1 - bl box_print - mov r0, r8 - cmp r0, 0 - beq _081981EE - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram -_081981EE: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198180 - - thumb_func_start sub_8198204 -sub_8198204: @ 8198204 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r10, r0 - adds r6, r1, 0 - ldr r0, [sp, 0x38] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r4, 0 - ldr r0, =gUnknown_0203CDA0 - ldrb r1, [r0] - adds r7, r0, 0 - cmp r1, 0xFF - beq _081982C8 - cmp r2, 0 - beq _08198244 - add r0, sp, 0x14 - strb r4, [r0] - adds r1, r0, 0 - b _0819824A - .pool -_08198244: - add r1, sp, 0x14 - movs r0, 0xF - strb r0, [r1] -_0819824A: - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x2 - strb r0, [r1, 0x2] - adds r5, r7, 0 - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0xFF - bl FillWindowPixelBuffer - cmp r6, 0 - beq _0819829E - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r0, [r5] - movs r1, 0x1 - bl GetWindowAttribute - movs r2, 0xEC - mov r1, r8 - subs r2, r1 - lsls r0, 3 - subs r2, r0 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - add r1, sp, 0x14 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r3, 0x1 - bl box_print -_0819829E: - ldrb r0, [r7] - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - add r2, sp, 0x14 - str r2, [sp, 0x8] - str r1, [sp, 0xC] - mov r1, r10 - str r1, [sp, 0x10] - movs r1, 0x1 - movs r2, 0x4 - movs r3, 0x1 - bl AddTextPrinterParametrized2 - mov r2, r9 - cmp r2, 0 - beq _081982C8 - ldrb r0, [r7] - movs r1, 0x3 - bl CopyWindowToVram -_081982C8: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198204 - - thumb_func_start sub_81982D8 -sub_81982D8: @ 81982D8 - push {lr} - ldr r1, =gUnknown_0203CDA0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081982E8 - movs r1, 0x3 - bl CopyWindowToVram -_081982E8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81982D8 - - thumb_func_start sub_81982F0 -sub_81982F0: @ 81982F0 - push {r4,lr} - ldr r4, =gUnknown_0203CDA0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08198308 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram -_08198308: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81982F0 - - thumb_func_start sub_8198314 -sub_8198314: @ 8198314 - push {r4,lr} - ldr r4, =gUnknown_0203CDA0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _0819833C - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_0819833C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198314 - - thumb_func_start sub_8198348 -sub_8198348: @ 8198348 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - mov r8, r4 - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - ldr r6, [sp, 0x24] - mov r12, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r7, r5, 24 - ldr r5, =gUnknown_0203CD90 - movs r6, 0 - strb r2, [r5] - strb r3, [r5, 0x1] - strb r6, [r5, 0x3] - subs r4, 0x1 - strb r4, [r5, 0x4] - strb r0, [r5, 0x5] - strb r1, [r5, 0x6] - mov r0, r8 - strb r0, [r5, 0x8] - mov r4, r12 - strb r4, [r5, 0xB] - cmp r7, 0 - blt _08198388 - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r7, r0 - ble _08198390 -_08198388: - strb r6, [r5, 0x2] - b _08198392 - .pool -_08198390: - strb r7, [r5, 0x2] -_08198392: - movs r0, 0 - bl MoveMenuCursor - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8198348 - - thumb_func_start sub_81983AC -sub_81983AC: @ 81983AC - push {r4-r6,lr} - sub sp, 0x10 - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x24] - ldr r6, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r4, 0 - str r4, [sp, 0xC] - bl sub_8198348 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81983AC - - thumb_func_start sub_81983EC -sub_81983EC: @ 81983EC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - mov r8, r0 - adds r6, r1, 0 - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, 24 - lsrs r6, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0x1 - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - mov r0, r8 - adds r1, r6, 0 - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - bl sub_81983AC - lsls r0, 24 - lsrs r0, 24 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81983EC - - thumb_func_start RedrawMenuCursor -@ void RedrawMenuCursor(s8 oldPos, s8 newPos) -RedrawMenuCursor: @ 8198448 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - adds r6, r0, 0 - mov r8, r1 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r5, =gUnknown_0203CD90 - ldrb r0, [r5, 0x6] - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5, 0x6] - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x5] - mov r9, r1 - ldrb r2, [r5] - ldrb r1, [r5, 0x8] - adds r3, r1, 0 - muls r3, r6 - ldrb r6, [r5, 0x1] - adds r3, r6 - lsls r3, 16 - lsrs r3, 16 - str r4, [sp] - str r0, [sp, 0x4] - mov r0, r9 - movs r1, 0x11 - bl FillWindowPixelRect - ldrb r0, [r5, 0x5] - ldrb r1, [r5, 0x6] - ldr r2, =gText_SelectorArrow3 - ldrb r3, [r5] - ldrb r4, [r5, 0x8] - mov r6, r8 - muls r6, r4 - adds r4, r6, 0 - ldrb r5, [r5, 0x1] - adds r4, r5 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - bl PrintTextOnWindow - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end RedrawMenuCursor - - thumb_func_start MoveMenuCursor -@ s8 MoveMenuCursor(s8 cursorDelta) -MoveMenuCursor: @ 81984D8 - push {r4,r5,lr} - ldr r1, =gUnknown_0203CD90 - ldrb r5, [r1, 0x2] - movs r2, 0x2 - ldrsb r2, [r1, r2] - lsls r0, 24 - asrs r3, r0, 24 - adds r2, r3 - movs r0, 0x3 - ldrsb r0, [r1, r0] - adds r4, r1, 0 - cmp r2, r0 - bge _081984FC - ldrb r0, [r4, 0x4] - b _0819850A - .pool -_081984FC: - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r2, r0 - ble _08198508 - ldrb r0, [r4, 0x3] - b _0819850A -_08198508: - adds r0, r3, r5 -_0819850A: - strb r0, [r4, 0x2] - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl RedrawMenuCursor - ldrb r0, [r4, 0x2] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MoveMenuCursor - - thumb_func_start MoveMenuCursorNoWrapAround -@ s8 MoveMenuCursorNoWrapAround(s8 cursorDelta) -MoveMenuCursorNoWrapAround: @ 819851C - push {r4,r5,lr} - ldr r1, =gUnknown_0203CD90 - ldrb r5, [r1, 0x2] - movs r2, 0x2 - ldrsb r2, [r1, r2] - lsls r0, 24 - asrs r3, r0, 24 - adds r2, r3 - movs r0, 0x3 - ldrsb r0, [r1, r0] - adds r4, r1, 0 - cmp r2, r0 - bge _08198540 - ldrb r0, [r4, 0x3] - b _0819854E - .pool -_08198540: - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r2, r0 - ble _0819854C - ldrb r0, [r4, 0x4] - b _0819854E -_0819854C: - adds r0, r3, r5 -_0819854E: - strb r0, [r4, 0x2] - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl RedrawMenuCursor - ldrb r0, [r4, 0x2] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MoveMenuCursorNoWrapAround - - thumb_func_start GetMenuCursorPos -GetMenuCursorPos: @ 8198560 - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - bx lr - .pool - thumb_func_end GetMenuCursorPos - - thumb_func_start ProcessMenuInput -ProcessMenuInput: @ 819856C - push {r4,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08198598 - ldr r4, =gUnknown_0203CD90 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _08198588 - movs r0, 0x5 - bl PlaySE -_08198588: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _081985D2 - .pool -_08198598: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081985A6 - movs r0, 0x1 - negs r0, r0 - b _081985D2 -_081985A6: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081985BA - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _081985CA -_081985BA: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081985CE - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_081985CA: - bl MoveMenuCursor -_081985CE: - movs r0, 0x2 - negs r0, r0 -_081985D2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInput - - thumb_func_start ProcessMenuInputNoWrapAround -@ int ProcessMenuInputNoWrapAround() -ProcessMenuInputNoWrapAround: @ 81985D8 - push {r4-r6,lr} - ldr r4, =gUnknown_0203CD90 - ldrb r5, [r4, 0x2] - adds r6, r5, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08198608 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _081985F8 - movs r0, 0x5 - bl PlaySE -_081985F8: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _08198650 - .pool -_08198608: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08198616 - movs r0, 0x1 - negs r0, r0 - b _08198650 -_08198616: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08198630 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0819864C - b _08198646 -_08198630: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819864C - movs r0, 0x1 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - beq _0819864C -_08198646: - movs r0, 0x5 - bl PlaySE -_0819864C: - movs r0, 0x2 - negs r0, r0 -_08198650: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInputNoWrapAround - - thumb_func_start ProcessMenuInput_other -ProcessMenuInput_other: @ 8198658 - push {r4,lr} - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08198684 - ldr r4, =gUnknown_0203CD90 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _08198674 - movs r0, 0x5 - bl PlaySE -_08198674: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _081986BC - .pool -_08198684: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08198692 - movs r0, 0x1 - negs r0, r0 - b _081986BC -_08198692: - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _081986A8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _081986B4 -_081986A8: - cmp r1, 0x80 - bne _081986B8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_081986B4: - bl MoveMenuCursor -_081986B8: - movs r0, 0x2 - negs r0, r0 -_081986BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInput_other - - thumb_func_start ProcessMenuInputNoWrapAround_other -ProcessMenuInputNoWrapAround_other: @ 81986C4 - push {r4-r6,lr} - ldr r4, =gUnknown_0203CD90 - ldrb r5, [r4, 0x2] - adds r6, r5, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081986F4 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _081986E4 - movs r0, 0x5 - bl PlaySE -_081986E4: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _0819873A - .pool -_081986F4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08198702 - movs r0, 0x1 - negs r0, r0 - b _0819873A -_08198702: - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _0819871E - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08198736 - b _08198730 -_0819871E: - cmp r1, 0x80 - bne _08198736 - movs r0, 0x1 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - beq _08198736 -_08198730: - movs r0, 0x5 - bl PlaySE -_08198736: - movs r0, 0x2 - negs r0, r0 -_0819873A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInputNoWrapAround_other - - thumb_func_start PrintTextArray -PrintTextArray: @ 8198740 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r4, [sp, 0x2C] - ldr r5, [sp, 0x30] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r4, 0 - cmp r4, r5 - bcs _081987A4 -_08198774: - lsls r0, r4, 3 - ldr r1, [sp, 0x34] - adds r0, r1 - ldr r2, [r0] - adds r0, r7, 0 - muls r0, r4 - add r0, r8 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - mov r1, r10 - mov r3, r9 - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08198774 -_081987A4: - adds r0, r6, 0 - movs r1, 0x2 - bl CopyWindowToVram - 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 PrintTextArray - - thumb_func_start sub_81987BC -sub_81987BC: @ 81987BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r6, [sp, 0x4C] - ldr r7, [sp, 0x50] - mov r8, r7 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x18] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x1C] - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r9, r6 - mov r0, r8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0819883C -_08198804: - lsls r0, r4, 3 - ldr r1, [sp, 0x48] - adds r0, r1 - ldr r2, [r0] - mov r0, r10 - muls r0, r4 - ldr r1, [sp, 0x1C] - adds r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r7, 0 - ldr r1, [sp, 0x14] - ldr r3, [sp, 0x18] - bl sub_8199F74 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08198804 -_0819883C: - adds r0, r7, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81987BC - - thumb_func_start sub_8198854 -sub_8198854: @ 8198854 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - mov r8, r0 - adds r6, r1, 0 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r7, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r7, [sp, 0x8] - mov r0, r8 - adds r1, r6, 0 - movs r3, 0x1 - bl PrintTextArray - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198854 - - thumb_func_start AddItemMenuActionTextPrinters -AddItemMenuActionTextPrinters: @ 81988A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r6, r1, 0 - mov r8, r2 - ldr r1, [sp, 0x38] - mov r9, r1 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r6, 24 - lsrs r6, 24 - mov r4, r8 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x14] - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r7, r2, 24 - mov r0, sp - ldrb r1, [r0, 0x10] - strb r1, [r0, 0x4] - strb r6, [r0, 0x5] - adds r0, r6, 0 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r6, 0 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - mov r2, r9 - strb r2, [r0, 0xA] - adds r0, r6, 0 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xB] - mov r0, sp - mov r4, r8 - strb r4, [r0, 0x6] - strb r4, [r0, 0x8] - movs r4, 0 - cmp r4, r7 - bcs _0819899E - mov r5, sp -_0819896E: - ldr r1, [sp, 0x48] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 3 - ldr r2, [sp, 0x44] - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - mov r0, r10 - muls r0, r4 - ldr r1, [sp, 0x14] - adds r0, r1, r0 - strb r0, [r5, 0x7] - strb r0, [r5, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - bcc _0819896E -_0819899E: - ldr r0, [sp, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end AddItemMenuActionTextPrinters - - thumb_func_start sub_81989B8 -sub_81989B8: @ 81989B8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - ldr r7, [sp, 0x30] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetFontAttribute - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - str r6, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - str r7, [sp, 0xC] - ldr r0, [sp, 0x34] - str r0, [sp, 0x10] - mov r0, r9 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl AddItemMenuActionTextPrinters - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81989B8 - - thumb_func_start SetWindowTemplateFields -@ void SetWindowTemplateFields(WindowTemplate *template, char bg_id, char x, char y, char w, char h, char a7, s16 a8) -SetWindowTemplateFields: @ 8198A24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - ldr r5, [sp, 0x1C] - ldr r6, [sp, 0x20] - ldr r7, [sp, 0x24] - mov r8, r7 - strb r1, [r0] - strb r2, [r0, 0x1] - strb r3, [r0, 0x2] - strb r4, [r0, 0x3] - strb r5, [r0, 0x4] - strb r6, [r0, 0x5] - mov r1, r8 - strh r1, [r0, 0x6] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end SetWindowTemplateFields - - thumb_func_start sub_8198A50 -sub_8198A50: @ 8198A50 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - mov r8, r0 - ldr r0, [sp, 0x2C] - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x38] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 16 - lsrs r6, 16 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - add r0, sp, 0x10 - bl SetWindowTemplateFields - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - mov r2, r8 - str r0, [r2] - str r1, [r2, 0x4] - mov r0, r8 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r2} - bx r2 - thumb_func_end sub_8198A50 - - thumb_func_start sub_8198AA4 -sub_8198AA4: @ 8198AA4 - push {r4-r6,lr} - sub sp, 0x18 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x28] - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x30] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - str r3, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r2, [sp, 0xC] - add r0, sp, 0x10 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl SetWindowTemplateFields - add r0, sp, 0x10 - bl AddWindow - lsls r0, 16 - lsrs r0, 16 - add sp, 0x18 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8198AA4 - - thumb_func_start sub_8198AF8 -sub_8198AF8: @ 8198AF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r6, r1, 0 - mov r8, r2 - mov r9, r3 - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - ldr r1, [sp, 0x44] - mov r10, r1 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - mov r1, r10 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r7, =gUnknown_0203CD9F - bl AddWindow - strb r0, [r7] - ldrb r0, [r7] - movs r1, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl SetWindowBorderStyle - ldr r0, =gText_YesNo - str r0, [sp, 0xC] - add r1, sp, 0xC - ldrb r0, [r7] - strb r0, [r1, 0x4] - adds r0, r1, 0 - strb r6, [r0, 0x5] - adds r0, r6, 0 - movs r1, 0 - bl GetFontAttribute - add r1, sp, 0xC - add r0, r8 - strb r0, [r1, 0x6] - adds r0, r1, 0 - mov r1, r9 - strb r1, [r0, 0x7] - adds r1, r0, 0 - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - adds r0, r1, 0 - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r6, 0 - movs r1, 0x5 - bl GetFontAttribute - add r3, sp, 0xC - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r6, 0 - movs r1, 0x6 - bl GetFontAttribute - add r3, sp, 0xC - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x7 - bl GetFontAttribute - add r3, sp, 0xC - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x4 - bl GetFontAttribute - add r1, sp, 0xC - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - adds r0, r6, 0 - movs r1, 0x2 - bl GetFontAttribute - add r1, sp, 0xC - strb r0, [r1, 0xA] - adds r0, r6, 0 - movs r1, 0x3 - bl GetFontAttribute - add r1, sp, 0xC - strb r0, [r1, 0xB] - adds r0, r1, 0 - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r6, 0 - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r7] - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - mov r0, r10 - str r0, [sp, 0x8] - adds r0, r1, 0 - adds r1, r6, 0 - mov r2, r8 - mov r3, r9 - bl sub_81983AC - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198AF8 - - thumb_func_start sub_8198C34 -sub_8198C34: @ 8198C34 - push {lr} - sub sp, 0xC - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - str r2, [sp] - str r3, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - movs r3, 0x1 - bl sub_8198AF8 - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8198C34 - - thumb_func_start sub_8198C58 -sub_8198C58: @ 8198C58 - push {r4,lr} - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08198C6E - bl sub_8198C78 -_08198C6E: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8198C58 - - thumb_func_start sub_8198C78 -sub_8198C78: @ 8198C78 - push {r4,lr} - ldr r4, =gUnknown_0203CD9F - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198C78 - - thumb_func_start sub_8198C94 -sub_8198C94: @ 8198C94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r6, [sp, 0x48] - ldr r7, [sp, 0x4C] - mov r8, r7 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x14] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x18] - lsls r5, 24 - lsrs r5, 24 - str r5, [sp, 0x1C] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r5, 0 - cmp r5, r9 - bcs _08198D3A -_08198CE0: - movs r4, 0 - adds r1, r5, 0x1 - mov r8, r1 - cmp r4, r6 - bcs _08198D30 - ldr r7, [sp, 0x1C] - adds r0, r7, 0 - muls r0, r5 - ldr r1, [sp, 0x14] - adds r0, r1, r0 - lsls r0, 24 - lsrs r7, r0, 24 -_08198CF8: - adds r0, r5, 0 - muls r0, r6 - adds r0, r4 - lsls r0, 3 - ldr r1, [sp, 0x50] - adds r0, r1 - ldr r2, [r0] - ldr r0, [sp, 0x18] - adds r3, r0, 0 - muls r3, r4 - ldr r1, [sp, 0x10] - adds r3, r1, r3 - lsls r3, 24 - lsrs r3, 24 - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r10 - ldr r1, [sp, 0xC] - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08198CF8 -_08198D30: - mov r7, r8 - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, r9 - bcc _08198CE0 -_08198D3A: - mov r0, r10 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198C94 - - thumb_func_start sub_8198D54 -sub_8198D54: @ 8198D54 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - mov r9, r0 - mov r8, r1 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r6, [sp, 0x34] - ldr r3, [sp, 0x38] - ldr r7, [sp, 0x3C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0 - str r3, [sp, 0x14] - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - ldr r3, [sp, 0x14] - str r3, [sp, 0xC] - str r7, [sp, 0x10] - mov r0, r9 - mov r1, r8 - movs r3, 0 - bl sub_8198C94 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198D54 - - thumb_func_start sub_8198DBC -sub_8198DBC: @ 8198DBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r6, [sp, 0x48] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x18] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x1C] - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - lsls r6, 24 - lsrs r6, 24 - mov r10, r6 - mov r0, sp - ldrb r1, [r0, 0x10] - strb r1, [r0, 0x4] - strb r7, [r0, 0x5] - adds r0, r7, 0 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r7, 0 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - adds r0, r7, 0 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - adds r0, r7, 0 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - adds r0, r7, 0 - movs r1, 0x2 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xA] - adds r0, r7, 0 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xB] - movs r6, 0 - cmp r6, r10 - bcs _08198EDE -_08198E7A: - movs r5, 0 - adds r2, r6, 0x1 - mov r9, r2 - cmp r5, r8 - bcs _08198ED4 - mov r4, sp -_08198E86: - mov r0, r8 - muls r0, r6 - adds r0, r5 - ldr r1, [sp, 0x50] - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 3 - ldr r2, [sp, 0x4C] - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - ldr r1, [sp, 0x1C] - adds r0, r1, 0 - muls r0, r5 - ldr r2, [sp, 0x14] - adds r0, r2, r0 - strb r0, [r4, 0x6] - adds r0, r7, 0 - movs r1, 0x1 - bl GetFontAttribute - adds r1, r6, 0 - muls r1, r0 - ldr r0, [sp, 0x18] - adds r1, r0, r1 - strb r1, [r4, 0x7] - ldrb r0, [r4, 0x6] - strb r0, [r4, 0x8] - strb r1, [r4, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r8 - bcc _08198E86 -_08198ED4: - mov r1, r9 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, r10 - bcc _08198E7A -_08198EDE: - ldr r0, [sp, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198DBC - - thumb_func_start sub_8198EF8 -sub_8198EF8: @ 8198EF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - mov r8, r0 - adds r3, r1, 0 - adds r4, r2, 0 - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - ldr r7, [sp, 0x38] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r3, 0 - movs r1, 0 - str r3, [sp, 0x14] - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r7, [sp, 0xC] - ldr r0, [sp, 0x3C] - str r0, [sp, 0x10] - mov r0, r8 - ldr r3, [sp, 0x14] - adds r1, r3, 0 - movs r3, 0 - bl sub_8198DBC - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198EF8 - - thumb_func_start sub_8198F58 -sub_8198F58: @ 8198F58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - mov r12, r4 - ldr r4, [sp, 0x24] - mov r8, r4 - ldr r4, [sp, 0x28] - mov r9, r4 - ldr r4, [sp, 0x2C] - mov r10, r4 - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r7, r5, 24 - ldr r5, =gUnknown_0203CD90 - movs r6, 0 - strb r2, [r5] - strb r3, [r5, 0x1] - strb r6, [r5, 0x3] - subs r4, 0x1 - strb r4, [r5, 0x4] - strb r0, [r5, 0x5] - strb r1, [r5, 0x6] - mov r0, r12 - strb r0, [r5, 0x7] - mov r4, r8 - strb r4, [r5, 0x8] - mov r0, r9 - strb r0, [r5, 0x9] - mov r4, r10 - strb r4, [r5, 0xA] - cmp r7, 0 - blt _08198FAC - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r7, r0 - ble _08198FB4 -_08198FAC: - strb r6, [r5, 0x2] - b _08198FB6 - .pool -_08198FB4: - strb r7, [r5, 0x2] -_08198FB6: - movs r0, 0 - movs r1, 0 - bl sub_8199134 - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8198F58 - - thumb_func_start sub_8198FD4 -sub_8198FD4: @ 8198FD4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x20 - mov r9, r0 - mov r8, r1 - mov r10, r2 - ldr r6, [sp, 0x3C] - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r2, [sp, 0x48] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r3, 24 - lsrs r3, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - mov r0, r8 - movs r1, 0x1 - str r2, [sp, 0x18] - str r3, [sp, 0x1C] - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - muls r1, r5 - lsls r1, 24 - lsrs r1, 24 - str r6, [sp] - str r0, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - str r1, [sp, 0x10] - ldr r2, [sp, 0x18] - str r2, [sp, 0x14] - mov r0, r9 - mov r1, r8 - mov r2, r10 - ldr r3, [sp, 0x1C] - bl sub_8198F58 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8198FD4 - - thumb_func_start sub_8199060 -sub_8199060: @ 8199060 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, r1, 24 - lsrs r7, r0, 24 - ldr r5, =gUnknown_0203CD90 - ldrb r0, [r5, 0x6] - movs r1, 0 - bl GetMenuCursorDimensionByFont - mov r9, r0 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldrb r0, [r5, 0x6] - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldrb r0, [r5, 0x9] - mov r10, r0 - mov r0, r8 - mov r1, r10 - bl __umodsi3 - ldrb r1, [r5, 0x7] - adds r4, r1, 0 - muls r4, r0 - ldrb r1, [r5] - adds r4, r1 - lsls r4, 24 - lsrs r4, 24 - mov r0, r8 - mov r1, r10 - bl __udivsi3 - ldrb r1, [r5, 0x8] - adds r3, r1, 0 - muls r3, r0 - ldrb r0, [r5, 0x1] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r5, 0x5] - mov r1, r9 - str r1, [sp] - str r6, [sp, 0x4] - movs r1, 0x11 - adds r2, r4, 0 - bl FillWindowPixelRect - ldrb r6, [r5, 0x9] - adds r0, r7, 0 - adds r1, r6, 0 - bl __umodsi3 - ldrb r1, [r5, 0x7] - adds r4, r1, 0 - muls r4, r0 - ldrb r0, [r5] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - adds r1, r6, 0 - bl __udivsi3 - ldrb r1, [r5, 0x8] - adds r3, r1, 0 - muls r3, r0 - ldrb r1, [r5, 0x1] - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r5, 0x5] - ldrb r1, [r5, 0x6] - ldr r2, =gText_SelectorArrow3 - str r3, [sp] - movs r3, 0 - str r3, [sp, 0x4] - str r3, [sp, 0x8] - adds r3, r4, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8199060 - - thumb_func_start sub_8199134 -sub_8199134: @ 8199134 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r1, =gUnknown_0203CD90 - ldrb r2, [r1, 0x2] - mov r8, r2 - lsls r0, 24 - asrs r6, r0, 24 - adds r5, r1, 0 - cmp r6, 0 - beq _0819918A - movs r7, 0x2 - ldrsb r7, [r5, r7] - ldrb r4, [r5, 0x9] - adds r0, r7, 0 - adds r1, r4, 0 - bl __modsi3 - adds r0, r6 - cmp r0, 0 - bge _08199174 - adds r0, r4, 0 - adds r0, 0xFF - add r0, r8 - b _08199188 - .pool -_08199174: - cmp r0, r4 - blt _08199184 - adds r0, r7, 0 - adds r1, r4, 0 - bl __divsi3 - muls r0, r4 - b _08199188 -_08199184: - mov r1, r8 - adds r0, r6, r1 -_08199188: - strb r0, [r5, 0x2] -_0819918A: - mov r2, r9 - lsls r0, r2, 24 - asrs r6, r0, 24 - cmp r6, 0 - beq _081991CE - movs r0, 0x2 - ldrsb r0, [r5, r0] - ldrb r4, [r5, 0x9] - adds r1, r4, 0 - bl __divsi3 - adds r1, r0, r6 - cmp r1, 0 - bge _081991B2 - ldrb r0, [r5, 0xA] - subs r0, 0x1 - muls r0, r4 - ldrb r1, [r5, 0x2] - adds r0, r1 - b _081991CC -_081991B2: - ldrb r0, [r5, 0xA] - cmp r1, r0 - blt _081991C4 - subs r0, 0x1 - adds r1, r4, 0 - muls r1, r0 - ldrb r0, [r5, 0x2] - subs r0, r1 - b _081991CC -_081991C4: - adds r0, r4, 0 - muls r0, r6 - ldrb r2, [r5, 0x2] - adds r0, r2 -_081991CC: - strb r0, [r5, 0x2] -_081991CE: - movs r1, 0x2 - ldrsb r1, [r5, r1] - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r1, r0 - bgt _081991E4 - ldrb r1, [r5, 0x2] - mov r0, r8 - bl sub_8199060 - b _081991E8 -_081991E4: - mov r0, r8 - strb r0, [r5, 0x2] -_081991E8: - ldrb r0, [r5, 0x2] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8199134 - - thumb_func_start sub_81991F8 -sub_81991F8: @ 81991F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r1, =gUnknown_0203CD90 - ldrb r7, [r1, 0x2] - lsls r0, 24 - asrs r4, r0, 24 - adds r5, r1, 0 - cmp r4, 0 - beq _0819922C - movs r0, 0x2 - ldrsb r0, [r5, r0] - ldrb r6, [r5, 0x9] - adds r1, r6, 0 - bl __modsi3 - adds r0, r4 - cmp r0, 0 - blt _0819922C - cmp r0, r6 - bge _0819922C - adds r0, r4, r7 - strb r0, [r5, 0x2] -_0819922C: - mov r1, r8 - lsls r0, r1, 24 - asrs r4, r0, 24 - cmp r4, 0 - beq _08199258 - movs r0, 0x2 - ldrsb r0, [r5, r0] - ldrb r6, [r5, 0x9] - adds r1, r6, 0 - bl __divsi3 - adds r0, r4 - cmp r0, 0 - blt _08199258 - ldrb r1, [r5, 0xA] - cmp r0, r1 - bge _08199258 - adds r0, r6, 0 - muls r0, r4 - ldrb r1, [r5, 0x2] - adds r0, r1 - strb r0, [r5, 0x2] -_08199258: - movs r1, 0x2 - ldrsb r1, [r5, r1] - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r1, r0 - bgt _08199274 - ldrb r1, [r5, 0x2] - adds r0, r7, 0 - bl sub_8199060 - b _08199276 - .pool -_08199274: - strb r7, [r5, 0x2] -_08199276: - ldrb r0, [r5, 0x2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81991F8 - - thumb_func_start sub_8199284 -sub_8199284: @ 8199284 - push {r4,lr} - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081992AC - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0819932C - .pool -_081992AC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081992BA - movs r0, 0x1 - negs r0, r0 - b _0819932C -_081992BA: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081992D0 - movs r0, 0x5 - bl PlaySE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _08199324 -_081992D0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081992E4 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - b _08199324 -_081992E4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _081992F8 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08199304 -_081992F8: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08199322 -_08199304: - ldrh r1, [r4, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0819931A - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08199328 -_0819931A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08199322: - movs r1, 0 -_08199324: - bl sub_8199134 -_08199328: - movs r0, 0x2 - negs r0, r0 -_0819932C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8199284 - - thumb_func_start sub_8199334 -sub_8199334: @ 8199334 - push {r4-r6,lr} - ldr r5, =gUnknown_0203CD90 - ldrb r4, [r5, 0x2] - ldr r6, =gMain - ldrh r1, [r6, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0819935C - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - ldrsb r0, [r5, r0] - b _081993D2 - .pool -_0819935C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819936A - movs r0, 0x1 - negs r0, r0 - b _081993D2 -_0819936A: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819937A - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _081993BC -_0819937A: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08199388 - movs r0, 0 - movs r1, 0x1 - b _081993BC -_08199388: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0819939C - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081993A2 -_0819939C: - movs r0, 0x1 - negs r0, r0 - b _081993BA -_081993A2: - ldrh r1, [r6, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081993B8 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _081993CE -_081993B8: - movs r0, 0x1 -_081993BA: - movs r1, 0 -_081993BC: - bl sub_81991F8 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _081993CE - movs r0, 0x5 - bl PlaySE -_081993CE: - movs r0, 0x2 - negs r0, r0 -_081993D2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8199334 - - thumb_func_start sub_81993D8 -sub_81993D8: @ 81993D8 - push {r4,r5,lr} - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08199400 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0819947C - .pool -_08199400: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819940E - movs r0, 0x1 - negs r0, r0 - b _0819947C -_0819940E: - ldrh r0, [r4, 0x30] - movs r5, 0xF0 - adds r1, r5, 0 - ands r1, r0 - cmp r1, 0x40 - bne _08199428 - movs r0, 0x5 - bl PlaySE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _08199474 -_08199428: - cmp r1, 0x80 - bne _08199438 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - b _08199474 -_08199438: - cmp r1, 0x20 - beq _08199448 - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08199454 -_08199448: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08199472 -_08199454: - ldrh r1, [r4, 0x30] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x10 - beq _0819946A - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08199478 -_0819946A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08199472: - movs r1, 0 -_08199474: - bl sub_8199134 -_08199478: - movs r0, 0x2 - negs r0, r0 -_0819947C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81993D8 - - thumb_func_start sub_8199484 -sub_8199484: @ 8199484 - push {r4-r6,lr} - ldr r6, =gUnknown_0203CD90 - ldrb r4, [r6, 0x2] - ldr r5, =gMain - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081994AC - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - ldrsb r0, [r6, r0] - b _0819951E - .pool -_081994AC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081994BA - movs r0, 0x1 - negs r0, r0 - b _0819951E -_081994BA: - ldrh r0, [r5, 0x30] - movs r6, 0xF0 - adds r1, r6, 0 - ands r1, r0 - cmp r1, 0x40 - bne _081994CE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _08199508 -_081994CE: - cmp r1, 0x80 - bne _081994D8 - movs r0, 0 - movs r1, 0x1 - b _08199508 -_081994D8: - cmp r1, 0x20 - beq _081994E8 - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081994EE -_081994E8: - movs r0, 0x1 - negs r0, r0 - b _08199506 -_081994EE: - ldrh r1, [r5, 0x30] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0x10 - beq _08199504 - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0819951A -_08199504: - movs r0, 0x1 -_08199506: - movs r1, 0 -_08199508: - bl sub_81991F8 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _0819951A - movs r0, 0x5 - bl PlaySE -_0819951A: - movs r0, 0x2 - negs r0, r0 -_0819951E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8199484 - - thumb_func_start InitMenuInUpperLeftCorner -@ int InitMenuInUpperLeftCorner(s8 windowId, s8 numItems, u8 initialCursorPos, bool doNotPlaySoundWhenAPressed) -InitMenuInUpperLeftCorner: @ 8199524 - push {r4-r6,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r4, =gUnknown_0203CD90 - movs r6, 0 - strb r6, [r4] - movs r2, 0x1 - strb r2, [r4, 0x1] - strb r6, [r4, 0x3] - subs r1, 0x1 - strb r1, [r4, 0x4] - strb r0, [r4, 0x5] - strb r2, [r4, 0x6] - movs r0, 0x10 - strb r0, [r4, 0x8] - strb r3, [r4, 0xB] - cmp r5, 0 - blt _08199554 - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r5, r0 - ble _0819955C -_08199554: - strb r6, [r4, 0x2] - b _0819955E - .pool -_0819955C: - strb r5, [r4, 0x2] -_0819955E: - movs r0, 0 - bl MoveMenuCursor - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end InitMenuInUpperLeftCorner - - thumb_func_start InitMenuInUpperLeftCornerPlaySoundWhenAPressed -InitMenuInUpperLeftCornerPlaySoundWhenAPressed: @ 8199570 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - bl InitMenuInUpperLeftCorner - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end InitMenuInUpperLeftCornerPlaySoundWhenAPressed - - thumb_func_start PrintMenuTable -PrintMenuTable: @ 819958C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - movs r5, 0 - cmp r5, r7 - bcs _081995D0 - movs r6, 0x80 - lsls r6, 17 - adds r4, r2, 0 -_081995AA: - ldr r2, [r4] - lsrs r0, r6, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - movs r0, 0x80 - lsls r0, 21 - adds r6, r0 - adds r4, 0x8 - adds r5, 0x1 - cmp r5, r7 - bcc _081995AA -_081995D0: - mov r0, r8 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PrintMenuTable - - thumb_func_start sub_81995E4 -sub_81995E4: @ 81995E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r2 - mov r8, r3 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - mov r0, sp - movs r1, 0 - mov r10, r1 - strb r6, [r0, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x5] - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - movs r0, 0x1 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - mov r1, r10 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - movs r1, 0x8 - strb r1, [r0, 0x6] - strb r1, [r0, 0x8] - movs r4, 0 - cmp r4, r7 - bcs _081996A6 - mov r5, sp -_0819967C: - mov r1, r8 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 3 - add r0, r9 - ldr r0, [r0] - str r0, [sp] - lsls r0, r4, 4 - adds r0, 0x1 - strb r0, [r5, 0x7] - strb r0, [r5, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - bcc _0819967C -_081996A6: - adds r0, r6, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81995E4 - - thumb_func_start CreateYesNoMenu -@ void CreateYesNoMenu(struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos) -CreateYesNoMenu: @ 81996C0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r1, =gUnknown_0203CD9F - mov r8, r1 - bl AddWindow - mov r2, r8 - strb r0, [r2] - ldrb r0, [r2] - movs r1, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl SetWindowBorderStyle - ldr r0, =gText_YesNo - str r0, [sp] - mov r1, sp - mov r2, r8 - ldrb r0, [r2] - movs r2, 0 - mov r9, r2 - strb r0, [r1, 0x4] - mov r0, sp - movs r2, 0x1 - strb r2, [r0, 0x5] - movs r0, 0x8 - strb r0, [r1, 0x6] - mov r0, sp - strb r2, [r0, 0x7] - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - movs r0, 0x1 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - movs r0, 0x1 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - mov r1, r9 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x2 - adds r2, r6, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end CreateYesNoMenu - - thumb_func_start sub_81997AC -sub_81997AC: @ 81997AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - movs r7, 0 - cmp r7, r3 - bcs _08199824 -_081997D4: - movs r4, 0 - adds r0, r7, 0x1 - mov r9, r0 - cmp r4, r6 - bcs _0819981C - lsls r0, r7, 4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0x80 - lsls r5, 20 -_081997EC: - adds r0, r7, 0 - muls r0, r6 - adds r0, r4 - lsls r0, 3 - ldr r1, [sp, 0x34] - adds r0, r1 - ldr r2, [r0] - lsrs r3, r5, 24 - mov r0, r8 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r10 - movs r1, 0x1 - bl PrintTextOnWindow - ldr r1, [sp, 0xC] - lsls r0, r1, 24 - adds r5, r0 - adds r4, 0x1 - cmp r4, r6 - bcc _081997EC -_0819981C: - mov r7, r9 - ldr r4, [sp, 0x10] - cmp r7, r4 - bcc _081997D4 -_08199824: - mov r0, r10 - movs r1, 0x2 - bl CopyWindowToVram - 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_81997AC - - thumb_func_start sub_819983C -sub_819983C: @ 819983C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - mov r0, sp - movs r6, 0 - ldrb r1, [r0, 0x10] - strb r1, [r0, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x5] - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - movs r0, 0x1 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - strb r6, [r0, 0xA] - strb r6, [r0, 0xB] - movs r7, 0 - cmp r7, r10 - bcs _0819992A -_081998D6: - movs r5, 0 - adds r2, r7, 0x1 - mov r9, r2 - cmp r5, r8 - bcs _08199920 - mov r4, sp - lsls r0, r7, 4 - adds r6, r0, 0x1 -_081998E6: - mov r0, r8 - muls r0, r7 - adds r0, r5 - ldr r1, [sp, 0x3C] - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 3 - ldr r2, [sp, 0x38] - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - ldr r1, [sp, 0x14] - adds r0, r1, 0 - muls r0, r5 - adds r0, 0x8 - strb r0, [r4, 0x6] - strb r6, [r4, 0x7] - strb r0, [r4, 0x8] - strb r6, [r4, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r8 - bcc _081998E6 -_08199920: - mov r2, r9 - lsls r0, r2, 24 - lsrs r7, r0, 24 - cmp r7, r10 - bcc _081998D6 -_0819992A: - ldr r0, [sp, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819983C - - thumb_func_start sub_8199944 -sub_8199944: @ 8199944 - push {r4-r7,lr} - ldr r4, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - ldr r6, =gUnknown_0203CD90 - movs r4, 0 - mov r12, r4 - mov r4, r12 - strb r4, [r6] - movs r5, 0x1 - strb r5, [r6, 0x1] - strb r4, [r6, 0x3] - adds r4, r2, 0 - muls r4, r3 - subs r4, 0x1 - strb r4, [r6, 0x4] - strb r0, [r6, 0x5] - strb r5, [r6, 0x6] - strb r1, [r6, 0x7] - movs r0, 0x10 - strb r0, [r6, 0x8] - strb r2, [r6, 0x9] - strb r3, [r6, 0xA] - cmp r7, 0 - blt _08199986 - movs r0, 0x4 - ldrsb r0, [r6, r0] - cmp r7, r0 - ble _08199990 -_08199986: - mov r0, r12 - strb r0, [r6, 0x2] - b _08199992 - .pool -_08199990: - strb r7, [r6, 0x2] -_08199992: - movs r0, 0 - movs r1, 0 - bl sub_8199134 - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8199944 - - thumb_func_start clear_scheduled_bg_copies_to_vram -@ void clear_scheduled_bg_copies_to_vram() -clear_scheduled_bg_copies_to_vram: @ 81999A8 - push {lr} - ldr r0, =gUnknown_0203CDA4 - movs r1, 0 - movs r2, 0x4 - bl memset - pop {r0} - bx r0 - .pool - thumb_func_end clear_scheduled_bg_copies_to_vram - - thumb_func_start schedule_bg_copy_tilemap_to_vram -@ void schedule_bg_copy_tilemap_to_vram(u8 bg_id) -schedule_bg_copy_tilemap_to_vram: @ 81999BC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CDA4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - bx lr - .pool - thumb_func_end schedule_bg_copy_tilemap_to_vram - - thumb_func_start do_scheduled_bg_tilemap_copies_to_vram -@ void do_scheduled_bg_tilemap_copies_to_vram() -do_scheduled_bg_tilemap_copies_to_vram: @ 81999D0 - push {r4,lr} - ldr r4, =gUnknown_0203CDA4 - ldrb r0, [r4] - cmp r0, 0x1 - bne _081999E4 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4] -_081999E4: - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - bne _081999F4 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4, 0x1] -_081999F4: - ldrb r0, [r4, 0x2] - cmp r0, 0x1 - bne _08199A04 - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4, 0x2] -_08199A04: - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _08199A14 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4, 0x3] -_08199A14: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end do_scheduled_bg_tilemap_copies_to_vram - - thumb_func_start reset_temp_tile_data_buffers -@ void reset_temp_tile_data_buffers() -reset_temp_tile_data_buffers: @ 8199A20 - push {lr} - ldr r3, =gUnknown_0203CDA8 - ldr r1, =gUnknown_0203CDAC - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x7C -_08199A2C: - str r2, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _08199A2C - movs r0, 0 - strh r0, [r3] - pop {r0} - bx r0 - .pool - thumb_func_end reset_temp_tile_data_buffers - - thumb_func_start free_temp_tile_data_buffers_if_possible -free_temp_tile_data_buffers_if_possible: @ 8199A44 - push {r4-r6,lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08199A88 - ldr r1, =gUnknown_0203CDA8 - ldrh r0, [r1] - cmp r0, 0 - beq _08199A7C - movs r4, 0 - ldrh r1, [r1] - cmp r4, r1 - bge _08199A76 - ldr r5, =gUnknown_0203CDAC - movs r6, 0 -_08199A64: - ldr r0, [r5] - bl Free - stm r5!, {r6} - adds r4, 0x1 - ldr r0, =gUnknown_0203CDA8 - ldrh r0, [r0] - cmp r4, r0 - blt _08199A64 -_08199A76: - ldr r1, =gUnknown_0203CDA8 - movs r0, 0 - strh r0, [r1] -_08199A7C: - movs r0, 0 - b _08199A8A - .pool -_08199A88: - movs r0, 0x1 -_08199A8A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end free_temp_tile_data_buffers_if_possible - - thumb_func_start decompress_and_copy_tile_data_to_vram -@ int decompress_and_copy_tile_data_to_vram(u8 bg_id, int src, int size, u16 offset, u8 mode) -decompress_and_copy_tile_data_to_vram: @ 8199A90 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r6, =gUnknown_0203CDA8 - ldrh r0, [r6] - cmp r0, 0x1F - bhi _08199AF8 - adds r0, r4, 0 - add r1, sp, 0x4 - bl malloc_and_decompress - adds r4, r0, 0 - cmp r5, 0 - bne _08199AC8 - ldr r5, [sp, 0x4] -_08199AC8: - cmp r4, 0 - beq _08199AEC - lsls r2, r5, 16 - lsrs r2, 16 - str r7, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r3, r9 - bl copy_decompressed_tile_data_to_vram - ldr r2, =gUnknown_0203CDAC - ldrh r0, [r6] - adds r1, r0, 0x1 - strh r1, [r6] - lsls r0, 16 - lsrs r0, 14 - adds r0, r2 - str r4, [r0] -_08199AEC: - adds r0, r4, 0 - b _08199AFA - .pool -_08199AF8: - movs r0, 0 -_08199AFA: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end decompress_and_copy_tile_data_to_vram - - thumb_func_start copy_decompressed_tile_data_to_vram_autofree -@ void copy_decompressed_tile_data_to_vram_autofree(u8 bg_id, int src, u16 size, u16 offset, u8 mode) -copy_decompressed_tile_data_to_vram_autofree: @ 8199B08 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r5, r2, 0 - ldr r2, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r2, 24 - lsrs r7, r2, 24 - adds r0, r1, 0 - add r1, sp, 0x4 - bl malloc_and_decompress - adds r6, r0, 0 - cmp r5, 0 - bne _08199B36 - ldr r5, [sp, 0x4] -_08199B36: - cmp r6, 0 - beq _08199B6E - ldr r0, =task_free_buf_after_copying_tile_data_to_vram - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r5, 16 - lsrs r2, 16 - str r7, [sp] - mov r0, r8 - adds r1, r6, 0 - mov r3, r9 - bl copy_decompressed_tile_data_to_vram - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r6, 0 - bl SetWordTaskArg -_08199B6E: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end copy_decompressed_tile_data_to_vram_autofree - - thumb_func_start task_free_buf_after_copying_tile_data_to_vram -@ void task_free_buf_after_copying_tile_data_to_vram(int task_id) -task_free_buf_after_copying_tile_data_to_vram: @ 8199B84 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - bl CheckForSpaceForDma3Request - lsls r0, 16 - cmp r0, 0 - bne _08199BB4 - adds r0, r4, 0 - movs r1, 0x1 - bl GetWordTaskArg - bl Free - adds r0, r4, 0 - bl DestroyTask -_08199BB4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_free_buf_after_copying_tile_data_to_vram - - thumb_func_start malloc_and_decompress -@ void *malloc_and_decompress(void *src, int *size) -malloc_and_decompress: @ 8199BC0 - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r0, [r5, 0x1] - strb r0, [r1] - ldrb r0, [r5, 0x2] - strb r0, [r1, 0x1] - ldrb r0, [r5, 0x3] - strb r0, [r1, 0x2] - movs r0, 0 - strb r0, [r1, 0x3] - ldr r0, [r1] - bl Alloc - adds r4, r0, 0 - cmp r4, 0 - beq _08199BE8 - adds r0, r5, 0 - adds r1, r4, 0 - bl LZ77UnCompWram -_08199BE8: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end malloc_and_decompress - - thumb_func_start copy_decompressed_tile_data_to_vram -@ s16 copy_decompressed_tile_data_to_vram(u8 bg_id, int src, u16 size, u16 offset, u8 mode) -copy_decompressed_tile_data_to_vram: @ 8199BF0 - push {r4,lr} - adds r4, r1, 0 - ldr r1, [sp, 0x8] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - beq _08199C18 - cmp r1, 0x1 - beq _08199C20 - ldr r0, =0x0000ffff - b _08199C2A - .pool -_08199C18: - adds r1, r4, 0 - bl LoadBgTiles - b _08199C26 -_08199C20: - adds r1, r4, 0 - bl LoadBgTilemap -_08199C26: - lsls r0, 16 - lsrs r0, 16 -_08199C2A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end copy_decompressed_tile_data_to_vram - - thumb_func_start sub_8199C30 -sub_8199C30: @ 8199C30 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r2, 0 - ldr r4, [sp, 0x28] - ldr r2, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x4] - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - bl GetBgTilemapBuffer - mov r8, r0 - adds r0, r5, r4 - cmp r5, r0 - bge _08199CA8 - mov r9, r0 -_08199C6E: - ldr r3, [sp] - ldr r1, [sp, 0x4] - adds r0, r3, r1 - adds r7, r5, 0x1 - cmp r3, r0 - bge _08199CA0 - lsls r6, r5, 5 - ldr r1, =0x00000fff - mov r12, r1 - mov r1, r10 - lsls r5, r1, 12 - adds r4, r0, 0 -_08199C86: - adds r1, r6, r3 - lsls r1, 1 - add r1, r8 - ldrh r2, [r1] - mov r0, r12 - ands r0, r2 - orrs r0, r5 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r4 - blt _08199C86 -_08199CA0: - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, r9 - blt _08199C6E -_08199CA8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8199C30 - - thumb_func_start sub_8199CBC -sub_8199CBC: @ 8199CBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r1 - ldr r1, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - lsls r1, 24 - lsrs r5, r1, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - bl GetBgTilemapBuffer - adds r7, r0, 0 - movs r0, 0 - cmp r0, r8 - bcs _08199D2A -_08199CF4: - movs r2, 0 - adds r6, r0, 0x1 - cmp r2, r5 - bcs _08199D22 - adds r4, r0, 0 - muls r4, r5 - ldr r1, [sp] - adds r0, r1 - lsls r3, r0, 5 -_08199D06: - adds r1, r4, r2 - lsls r1, 1 - add r1, r10 - adds r0, r3, r2 - add r0, r9 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r5 - bcc _08199D06 -_08199D22: - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, r8 - bcc _08199CF4 -_08199D2A: - 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_8199CBC - - thumb_func_start sub_8199D3C -sub_8199D3C: @ 8199D3C - push {r4-r7,lr} - adds r6, r0, 0 - adds r5, r1, 0 - ldr r0, [sp, 0x14] - adds r4, r2, 0 - muls r4, r3 - cmp r0, 0x1 - bne _08199D64 - adds r3, r6, 0 - movs r2, 0 - cmp r2, r4 - bge _08199D8C -_08199D54: - adds r1, r3, r2 - ldrb r0, [r1] - adds r0, r5 - strb r0, [r1] - adds r2, 0x1 - cmp r2, r4 - blt _08199D54 - b _08199D8C -_08199D64: - cmp r4, 0 - ble _08199D8C - movs r0, 0xFC - lsls r0, 8 - mov r12, r0 - ldr r0, =0x000003ff - adds r7, r0, 0 - adds r3, r6, 0 - adds r2, r4, 0 -_08199D76: - ldrh r0, [r3] - mov r1, r12 - ands r1, r0 - adds r0, r5 - ands r0, r7 - orrs r1, r0 - strh r1, [r3] - adds r3, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _08199D76 -_08199D8C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8199D3C - - thumb_func_start sub_8199D98 -sub_8199D98: @ 8199D98 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_8199D98 - - thumb_func_start sub_8199DF0 -sub_8199DF0: @ 8199DF0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r2 - mov r9, r3 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x4 - bl GetBgAttribute - lsls r0, 16 - movs r7, 0x40 - cmp r0, 0 - bne _08199E16 - movs r7, 0x20 -_08199E16: - adds r0, r5, 0 - movs r1, 0x1 - bl GetBgAttribute - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0xA - bl GetBgAttribute - lsls r4, 16 - lsrs r4, 2 - lsls r0, 16 - lsrs r0, 16 - add r0, r8 - muls r0, r7 - adds r4, r0 - lsls r0, r6, 24 - lsls r1, r6, 16 - orrs r0, r1 - lsls r1, r6, 8 - orrs r0, r1 - orrs r0, r6 - movs r1, 0xC0 - lsls r1, 19 - adds r4, r1 - mov r2, r9 - muls r2, r7 - lsls r2, 16 - lsrs r2, 16 - adds r1, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8199DF0 - - thumb_func_start box_print -box_print: @ 8199E64 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r1, 0 - ldr r6, [sp, 0x20] - ldr r5, [sp, 0x24] - ldr r1, [sp, 0x28] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - str r1, [sp] - mov r1, sp - strb r0, [r1, 0x4] - mov r0, sp - strb r4, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r4, 0 - movs r1, 0x2 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xB] - mov r3, sp - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - mov r2, sp - ldrb r0, [r6, 0x1] - lsls r0, 4 - movs r4, 0xF - strb r0, [r2, 0xC] - ldrb r2, [r6] - adds r0, r4, 0 - ands r0, r2 - ldrb r2, [r3, 0xD] - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - mov r2, sp - ldrb r0, [r6, 0x2] - lsls r0, 4 - ands r1, r4 - orrs r1, r0 - strb r1, [r2, 0xD] - mov r0, sp - adds r1, r5, 0 - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end box_print - - thumb_func_start AddTextPrinterParametrized2 -@ void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, u8 speed, u8 *str) -AddTextPrinterParametrized2: @ 8199EEC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r5, r1, 0 - ldr r1, [sp, 0x28] - mov r8, r1 - ldr r1, [sp, 0x2C] - mov r9, r1 - ldr r6, [sp, 0x30] - ldr r1, [sp, 0x34] - ldr r4, [sp, 0x38] - str r4, [sp] - mov r4, sp - strb r0, [r4, 0x4] - mov r0, sp - strb r5, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - mov r2, sp - ldrb r0, [r0, 0x6] - strb r0, [r2, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r2, 0x9] - mov r0, sp - mov r2, r8 - strb r2, [r0, 0xA] - mov r2, r9 - strb r2, [r0, 0xB] - ldrb r3, [r4, 0xC] - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r4, 0xC] - mov r3, sp - ldrb r0, [r6, 0x1] - lsls r0, 4 - movs r5, 0xF - strb r0, [r3, 0xC] - ldrb r3, [r6] - adds r0, r5, 0 - ands r0, r3 - ldrb r3, [r4, 0xD] - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0xD] - mov r3, sp - ldrb r0, [r6, 0x2] - lsls r0, 4 - ands r2, r5 - orrs r2, r0 - strb r2, [r3, 0xD] - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end AddTextPrinterParametrized2 - - thumb_func_start sub_8199F74 -sub_8199F74: @ 8199F74 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r6, r1, 0 - ldr r4, [sp, 0x2C] - ldr r1, [sp, 0x30] - mov r8, r1 - ldr r7, [sp, 0x34] - ldr r5, [sp, 0x38] - ldr r1, [sp, 0x3C] - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - str r2, [sp] - mov r1, sp - strb r0, [r1, 0x4] - mov r0, sp - strb r6, [r0, 0x5] - strb r3, [r0, 0x6] - strb r4, [r0, 0x7] - strb r3, [r0, 0x8] - strb r4, [r0, 0x9] - strb r5, [r0, 0xA] - mov r1, r9 - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r5, 0x10 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2, 0xC] - adds r0, r6, 0 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r4, 0xF - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r6, 0 - movs r1, 0x6 - bl GetFontAttribute - mov r2, sp - adds r1, r4, 0 - ands r1, r0 - ldrb r0, [r2, 0xD] - ands r5, r0 - orrs r5, r1 - strb r5, [r2, 0xD] - adds r0, r6, 0 - movs r1, 0x7 - bl GetFontAttribute - mov r2, sp - lsls r0, 4 - ldrb r1, [r2, 0xD] - ands r4, r1 - orrs r4, r0 - strb r4, [r2, 0xD] - mov r0, sp - mov r1, r8 - adds r2, r7, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8199F74 - - thumb_func_start sub_819A024 -sub_819A024: @ 819A024 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r2, 0 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldrb r0, [r3] - ldr r6, =gStringVar4 - cmp r0, 0xFF - beq _0819A04C -_0819A042: - adds r2, 0x1 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0819A042 -_0819A04C: - adds r0, r6, 0 - bl StringExpandPlaceholders - lsls r3, r4, 24 - lsrs r3, 24 - lsls r0, r5, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x1 - adds r2, r6, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A024 - - thumb_func_start sub_819A080 -sub_819A080: @ 819A080 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [sp, 0x48] - ldr r4, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r5, [sp, 0x54] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x8] - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - lsls r4, 16 - lsrs r4, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r2, [sp, 0x4] - ldrh r0, [r2, 0x4] - ldr r2, [sp, 0xC] - subs r0, r2 - ldr r2, [sp, 0x8] - adds r2, r1, r2 - str r2, [sp, 0x10] - cmp r0, r1 - bge _0819A0CC - ldr r1, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x10] -_0819A0CC: - ldr r2, [sp, 0x4] - ldrh r1, [r2, 0x6] - subs r0, r1, r4 - cmp r0, r5 - bge _0819A0DE - adds r0, r3, r1 - subs r0, r4 - str r0, [sp, 0x14] - b _0819A0E2 -_0819A0DE: - adds r5, r3, r5 - str r5, [sp, 0x14] -_0819A0E2: - ldr r0, [sp] - ldrh r1, [r0, 0x4] - movs r2, 0x7 - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x18] - ldr r0, [sp, 0x4] - ldrh r1, [r0, 0x4] - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x1C] - mov r12, r3 - mov r8, r4 - ldr r1, [sp, 0x14] - cmp r12, r1 - blt _0819A10C - b _0819A24A -_0819A10C: - ldr r5, [sp, 0x8] - ldr r6, [sp, 0xC] - mov r2, r12 - adds r2, 0x1 - str r2, [sp, 0x20] - mov r0, r8 - adds r0, 0x1 - str r0, [sp, 0x24] - ldr r1, [sp, 0x10] - cmp r5, r1 - blt _0819A124 - b _0819A23A -_0819A124: - movs r7, 0x1 - movs r2, 0xF0 - mov r10, r2 - movs r0, 0xF - mov r9, r0 -_0819A12E: - asrs r0, r5, 1 - movs r1, 0x3 - ands r0, r1 - ldr r2, [sp] - ldr r1, [r2] - adds r1, r0 - asrs r0, r5, 3 - lsls r0, 5 - adds r1, r0 - mov r2, r12 - asrs r0, r2, 3 - ldr r2, [sp, 0x18] - muls r0, r2 - lsls r0, 5 - adds r1, r0 - mov r2, r12 - lsls r0, r2, 29 - lsrs r0, 27 - adds r3, r1, r0 - asrs r0, r6, 1 - movs r1, 0x3 - ands r0, r1 - ldr r2, [sp, 0x4] - ldr r1, [r2] - adds r1, r0 - asrs r0, r6, 3 - lsls r0, 5 - adds r1, r0 - mov r2, r8 - asrs r0, r2, 3 - ldr r2, [sp, 0x1C] - muls r0, r2 - lsls r0, 5 - adds r1, r0 - mov r2, r8 - lsls r0, r2, 29 - lsrs r0, 27 - adds r4, r1, r0 - adds r0, r4, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1DA - subs r4, 0x1 - adds r0, r6, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1B2 - ldrh r0, [r4] - ldr r2, =0x00000fff - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1A8 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsls r0, 8 - b _0819A22A - .pool -_0819A1A8: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 12 - b _0819A22A -_0819A1B2: - ldrh r0, [r4] - ldr r2, =0x0000f0ff - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1D0 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsls r0, 4 - b _0819A22A - .pool -_0819A1D0: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 8 - b _0819A22A -_0819A1DA: - adds r0, r6, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A206 - ldrh r0, [r4] - ldr r2, =0x0000ff0f - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1FC - ldrb r1, [r3] - mov r0, r10 - b _0819A228 - .pool -_0819A1FC: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 4 - b _0819A22A -_0819A206: - ldrh r0, [r4] - ldr r2, =0x0000fff0 - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A224 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsrs r0, 4 - b _0819A22A - .pool -_0819A224: - ldrb r1, [r3] - mov r0, r9 -_0819A228: - ands r0, r1 -_0819A22A: - orrs r2, r0 - strh r2, [r4] - adds r5, 0x1 - adds r6, 0x1 - ldr r0, [sp, 0x10] - cmp r5, r0 - bge _0819A23A - b _0819A12E -_0819A23A: - ldr r1, [sp, 0x20] - mov r12, r1 - ldr r2, [sp, 0x24] - mov r8, r2 - ldr r0, [sp, 0x14] - cmp r12, r0 - bge _0819A24A - b _0819A10C -_0819A24A: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819A080 - - thumb_func_start sub_819A25C -sub_819A25C: @ 819A25C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - lsrs r0, 16 - bl GetValidMonIconPalettePtr - adds r1, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819A25C - - thumb_func_start sub_819A27C -sub_819A27C: @ 819A27C - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - adds r4, r3, 0 - ldr r5, [sp, 0x18] - lsls r6, 24 - lsrs r6, 24 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - movs r2, 0x1 - bl GetMonIconPtr - adds r1, r0, 0 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r6, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl BlitBitmapToWindow - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819A27C - - thumb_func_start sub_819A2BC -sub_819A2BC: @ 819A2BC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0819A2DC - cmp r1, 0x1 - ble _0819A2D2 - cmp r1, 0x2 - beq _0819A2E4 -_0819A2D2: - ldr r0, =gUnknown_08DC4318 - b _0819A2E6 - .pool -_0819A2DC: - ldr r0, =gUnknown_08DC4338 - b _0819A2E6 - .pool -_0819A2E4: - ldr r0, =gUnknown_08DC4358 -_0819A2E6: - adds r1, r2, 0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A2BC - - thumb_func_start blit_move_info_icon -@ void blit_move_info_icon(u8 windowId, u8 a2, u16 x, u16 y) -blit_move_info_icon: @ 819A2F8 - push {r4,r5,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r4, =gUnknown_0860F0D4 - lsrs r1, 22 - adds r1, r4 - ldrh r5, [r1, 0x2] - lsls r5, 5 - ldr r4, =gUnknown_08DC4378 - adds r5, r4 - movs r4, 0x80 - str r4, [sp] - str r4, [sp, 0x4] - str r2, [sp, 0x8] - str r3, [sp, 0xC] - ldrb r2, [r1] - str r2, [sp, 0x10] - ldrb r1, [r1, 0x1] - str r1, [sp, 0x14] - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl BlitBitmapRectToWindow - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end blit_move_info_icon - - thumb_func_start sub_819A344 -sub_819A344: @ 819A344 - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r5, r1, 0 - movs r1, 0xFC - strb r1, [r5] - adds r5, 0x1 - movs r0, 0x1 - strb r0, [r5] - adds r5, 0x1 - strb r2, [r5] - adds r5, 0x1 - strb r1, [r5] - adds r5, 0x1 - movs r0, 0x3 - strb r0, [r5] - adds r5, 0x1 - adds r2, 0x1 - strb r2, [r5] - adds r5, 0x1 - cmp r3, 0x4 - bhi _0819A43C - lsls r0, r3, 2 - ldr r1, =_0819A384 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819A384: - .4byte _0819A398 - .4byte _0819A3A8 - .4byte _0819A3D6 - .4byte _0819A404 - .4byte _0819A414 -_0819A398: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - b _0819A43C - .pool -_0819A3A8: - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _0819A3B8 - movs r0, 0x1 - bl pokedex_count - b _0819A3BE -_0819A3B8: - movs r0, 0x1 - bl sub_80C0844 -_0819A3BE: - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - movs r0, 0xFF - strb r0, [r5] - b _0819A43C -_0819A3D6: - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldrh r1, [r0, 0xE] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - movs r0, 0xF0 - strb r0, [r5] - adds r5, 0x1 - ldr r0, [r4] - ldrb r1, [r0, 0x10] - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - b _0819A43C - .pool -_0819A404: - ldr r0, =gMapHeader - ldrb r1, [r0, 0x14] - adds r0, r5, 0 - bl sub_81245DC - b _0819A43C - .pool -_0819A414: - ldr r4, =0x00000867 - movs r6, 0 - adds r7, r5, 0x1 -_0819A41A: - lsls r0, r4, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0819A42A - adds r6, 0x1 -_0819A42A: - adds r4, 0x1 - ldr r0, =0x0000086e - cmp r4, r0 - ble _0819A41A - adds r0, r6, 0 - subs r0, 0x5F - strb r0, [r5] - movs r0, 0xFF - strb r0, [r7] -_0819A43C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A344 - - thumb_func_start sub_819A44C -sub_819A44C: @ 819A44C - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r4, [r5, 0x5] - lsrs r4, 4 - movs r0, 0x65 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsrs r0, 24 - cmp r4, r0 - bne _0819A4BA - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819A4B0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _0819A484 - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A484: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0819A4A6 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x20 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A4A6: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - b _0819A4C2 -_0819A4B0: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _0819A4C2 -_0819A4BA: - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent -_0819A4C2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819A44C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 423f653d9..90e846b97 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8121DA0 -sub_8121DA0: @ 8121DA0 + thumb_func_start ResetVramOamAndBgCntRegs +ResetVramOamAndBgCntRegs: @ 8121DA0 push {r4,lr} sub sp, 0xC movs r0, 0 @@ -50,10 +50,10 @@ sub_8121DA0: @ 8121DA0 pop {r0} bx r0 .pool - thumb_func_end sub_8121DA0 + thumb_func_end ResetVramOamAndBgCntRegs - thumb_func_start sub_8121E10 -sub_8121E10: @ 8121E10 + thumb_func_start ResetAllBgsCoordinates +ResetAllBgsCoordinates: @ 8121E10 push {lr} movs r0, 0 movs r1, 0 @@ -89,7 +89,7 @@ sub_8121E10: @ 8121E10 bl ChangeBgY pop {r0} bx r0 - thumb_func_end sub_8121E10 + thumb_func_end ResetAllBgsCoordinates thumb_func_start SetVBlankHBlankCallbacksToNull @ void SetVBlankHBlankCallbacksToNull() @@ -156,7 +156,7 @@ _08121EC0: adds r1, r7, 0 adds r2, r4, 0 adds r3, r5, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized ldr r1, =gUnknown_0300117C ldr r0, [sp, 0x34] str r0, [r1] @@ -177,8 +177,8 @@ _08121EC0: .pool thumb_func_end DisplayMessageAndContinueTask - thumb_func_start sub_8121F20 -sub_8121F20: @ 8121F20 + thumb_func_start RunTextPrintersRetIsActive +RunTextPrintersRetIsActive: @ 8121F20 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -191,7 +191,7 @@ sub_8121F20: @ 8121F20 pop {r4} pop {r1} bx r1 - thumb_func_end sub_8121F20 + thumb_func_end RunTextPrintersRetIsActive thumb_func_start Task_ContinueTaskAfterMessagePrints @ void Task_ContinueTaskAfterMessagePrints(u8 taskId) @@ -201,7 +201,7 @@ Task_ContinueTaskAfterMessagePrints: @ 8121F3C lsrs r4, r0, 24 ldr r0, =gUnknown_0203A140 ldrb r0, [r0] - bl sub_8121F20 + bl RunTextPrintersRetIsActive lsls r0, 16 cmp r0, 0 bne _08121F5A @@ -277,7 +277,7 @@ Task_CallYesOrNoCallback: @ 8121FDC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -512,7 +512,7 @@ itemid_80BF6D8_mail_related: @ 812217C bne _081221A4 _08122192: adds r0, r4, 0 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -752,8 +752,8 @@ _08122322: bx r0 thumb_func_end sub_8122298 - thumb_func_start sub_8122328 -sub_8122328: @ 8122328 + thumb_func_start LoadListMenuArrowsGfx +LoadListMenuArrowsGfx: @ 8122328 push {lr} ldr r0, =gUnknown_0859F514 bl LoadCompressedObjectPic @@ -762,7 +762,7 @@ sub_8122328: @ 8122328 pop {r0} bx r0 .pool - thumb_func_end sub_8122328 + thumb_func_end LoadListMenuArrowsGfx thumb_func_start sub_8122344 sub_8122344: @ 8122344 diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s index b923b53d0..b923b53d0 100755..100644 --- a/asm/menu_indicators.s +++ b/asm/menu_indicators.s diff --git a/asm/mon_markings.s b/asm/mon_markings.s index 7c927399f..dfc375fdf 100644 --- a/asm/mon_markings.s +++ b/asm/mon_markings.s @@ -21,7 +21,7 @@ sub_811F918: @ 811F918 ldr r0, [r0] ldrb r0, [r0, 0x14] lsrs r0, 3 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r3, =gUnknown_0203A124 ldr r2, [r3] ldr r1, [r0] @@ -480,7 +480,7 @@ sub_811FC80: @ 811FC80 adds r0, 0x1E strh r5, [r0] add r1, sp, 0x20 - ldr r0, =gUnknown_08DC9628 + ldr r0, =gPokenavConditionMarker_Gfx str r0, [sp, 0x20] movs r0, 0xC8 lsls r0, 2 @@ -503,7 +503,7 @@ sub_811FC80: @ 811FC80 add r0, sp, 0x34 strh r6, [r0] add r1, sp, 0x38 - ldr r0, =gUnknown_08DC9608 + ldr r0, =gPokenavConditionMarker_Pal str r0, [sp, 0x38] adds r0, r6, 0x1 strh r0, [r1, 0x4] diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s deleted file mode 100644 index df8e443a1..000000000 --- a/asm/mystery_event_menu.s +++ /dev/null @@ -1,669 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8178944 -sub_8178944: @ 8178944 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8178944 - - thumb_func_start sub_8178958 -sub_8178958: @ 8178958 - push {lr} - movs r2, 0 - ldr r1, =gLinkPlayers - ldrh r0, [r1, 0x1A] - ldrh r1, [r1, 0x36] - cmp r0, r1 - bne _08178968 - movs r2, 0x1 -_08178968: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8178958 - - thumb_func_start sub_8178974 -sub_8178974: @ 8178974 - push {r4,lr} - sub sp, 0x8 - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, =sub_8178944 - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085EFD64 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085EFD68 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _08178A22 - bl DeactivateAllTextPrinters - movs r4, 0 -_081789AC: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - adds r4, 0x1 - cmp r4, 0x1 - ble _081789AC - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl sub_809882C - movs r0, 0xE0 - bl sub_81978B0 - movs r1, 0xA0 - lsls r1, 1 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r0, =sub_8009404 - movs r1, 0 - bl CreateTask - bl StopMapMusic - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - ldr r0, =sub_8178A78 - bl SetMainCallback2 -_08178A22: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178974 - - thumb_func_start sub_8178A40 -sub_8178A40: @ 8178A40 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - movs r5, 0x1 - cmp r4, 0 - bne _08178A54 - ldr r1, =gText_EventSafelyLoaded - bl StringCopy - movs r5, 0 -_08178A54: - cmp r4, 0x2 - bne _08178A5A - movs r5, 0 -_08178A5A: - cmp r4, 0x1 - bne _08178A66 - ldr r1, =gText_LoadErrorEndingSession - adds r0, r6, 0 - bl StringCopy -_08178A66: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8178A40 - - thumb_func_start sub_8178A78 -sub_8178A78: @ 8178A78 - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x10 - bls _08178A8E - b _08178E58 -_08178A8E: - lsls r0, 2 - ldr r1, =_08178AA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08178AA0: - .4byte _08178AE4 - .4byte _08178B12 - .4byte _08178B48 - .4byte _08178B80 - .4byte _08178BCC - .4byte _08178BDC - .4byte _08178C54 - .4byte _08178D28 - .4byte _08178D38 - .4byte _08178D58 - .4byte _08178D60 - .4byte _08178D74 - .4byte _08178DBC - .4byte _08178DE0 - .4byte _08178E0C - .4byte _08178E24 - .4byte _08178E48 -_08178AE4: - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xD - bl SetWindowBorderStyle - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _08178E30 -_08178B12: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08178B20 - b _08178E58 -_08178B20: - ldr r1, =gText_LinkStandby2 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178B48: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _08178B56 - b _08178E58 -_08178B56: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, =gUnknown_020229C6 - ldr r2, =0x00005501 - adds r0, r2, 0 - strh r0, [r1] - bl sub_8009734 - b _08178E58 - .pool -_08178B80: - ldr r0, =gUnknown_030030E0 - ldr r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08178B8E - b _08178D00 -_08178B8E: - movs r0, 0x1C - ands r1, r0 - cmp r1, 0x4 - bhi _08178B98 - b _08178D00 -_08178B98: - movs r0, 0x15 - bl PlaySE - ldr r1, =gText_PressAToLoadEvent - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08178D00 - .pool -_08178BCC: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _08178BDA - b _08178E58 -_08178BDA: - b _08178E34 -_08178BDC: - bl sub_800ABAC - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bne _08178CD0 - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08178C38 - movs r0, 0x5 - bl PlaySE - bl sub_800A620 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r1, =gText_LoadingEvent - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - movs r2, 0x87 - lsls r2, 3 - adds r1, r4, r2 - b _08178E3C - .pool -_08178C38: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08178C42 - b _08178E58 -_08178C42: - movs r0, 0x5 - bl PlaySE - bl sub_80097E8 - movs r0, 0x87 - lsls r0, 3 - adds r1, r4, r0 - b _08178D1E -_08178C54: - bl sub_800B320 - lsls r0, 24 - cmp r0, 0 - beq _08178D00 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08178C68 - b _08178E58 -_08178C68: - movs r0, 0x2 - movs r1, 0x2 - bl sub_800A0C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _08178CAC - bl sub_800AC34 - ldr r4, =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8178A40 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - b _08178CF2 - .pool -_08178CAC: - bl sub_8178958 - lsls r0, 24 - cmp r0, 0 - beq _08178CCC - ldr r1, =gText_DontRemoveCableTurnOff - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - b _08178E34 - .pool -_08178CCC: - bl sub_80097E8 -_08178CD0: - ldr r4, =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8178A40 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 -_08178CF2: - movs r1, 0xD - strb r1, [r0] - b _08178E58 - .pool -_08178D00: - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08178D0E - b _08178E58 -_08178D0E: - movs r0, 0x5 - bl PlaySE - bl sub_80097E8 - movs r2, 0x87 - lsls r2, 3 - adds r1, r4, r2 -_08178D1E: - movs r0, 0xF - strb r0, [r1] - b _08178E58 - .pool -_08178D28: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _08178D36 - b _08178E58 -_08178D36: - b _08178E34 -_08178D38: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _08178D44 - b _08178E58 -_08178D44: - bl ResetBlockReceivedFlags - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178D58: - movs r0, 0x87 - lsls r0, 3 - adds r1, r4, r0 - b _08178E3C -_08178D60: - bl sub_800AC34 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178D74: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r6, [r0] - cmp r6, 0 - bne _08178E58 - ldr r5, =0x0201c000 - adds r0, r5, 0 - bl sub_81538A0 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - str r6, [sp, 0x4] - ldr r2, =0x050001f5 - add r0, sp, 0x4 - adds r1, r5, 0 - bl CpuSet - ldr r0, =gStringVar4 - adds r1, r4, 0 - bl sub_8178A40 - lsls r0, 24 - cmp r0, 0 - bne _08178E34 - movs r0, 0 - bl TrySavingData - b _08178E34 - .pool -_08178DBC: - ldr r1, =gStringVar4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178DE0: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - bne _08178E58 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, =gUnknown_0203BCF8 - strb r2, [r0] - b _08178E58 - .pool -_08178E0C: - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08178E58 - movs r0, 0x5 - bl PlaySE - movs r2, 0x87 - lsls r2, 3 - adds r1, r4, r2 - b _08178E3C -_08178E24: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_08178E30: - bl BeginNormalPaletteFade -_08178E34: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_08178E3C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08178E58 - .pool -_08178E48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08178E58 - bl DoSoftReset -_08178E58: - ldr r0, =gUnknown_030030E0 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08178E98 - bl sub_800ABBC - lsls r0, 24 - cmp r0, 0 - bne _08178E98 - bl sub_80097E8 - ldr r4, =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8178A40 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0xD - strb r1, [r0] -_08178E98: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178A78 - - thumb_func_start sub_8178EC4 -sub_8178EC4: @ 8178EC4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x1C - adds r5, r0, 0 - mov r10, r1 - adds r6, r2, 0 - ldr r4, [sp, 0x38] - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - mov r9, r0 - movs r1, 0x1 - mov r8, r1 - add r0, sp, 0x14 - mov r1, r8 - strb r1, [r0] - adds r1, r0, 0 - movs r0, 0x2 - strb r0, [r1, 0x1] - movs r0, 0x3 - strb r0, [r1, 0x2] - adds r0, r1, 0 - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - str r3, [sp, 0x18] - bl FillWindowPixelBuffer - mov r0, r9 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - mov r1, r10 - str r1, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r6, 0 - ldr r3, [sp, 0x18] - bl AddTextPrinterParametrized2 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8178EC4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s deleted file mode 100644 index ce8591981..000000000 --- a/asm/mystery_event_script.s +++ /dev/null @@ -1,870 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81537CC -sub_81537CC: @ 81537CC - push {r4,lr} - adds r4, r3, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - lsrs r2, 16 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _081537FC - ands r1, r3 - cmp r1, 0 - beq _081537FC - movs r0, 0x4 - ands r2, r0 - cmp r2, 0 - beq _081537FC - movs r0, 0x80 - lsls r0, 2 - ands r0, r4 - cmp r0, 0 - beq _081537FC - movs r0, 0x1 - b _081537FE -_081537FC: - movs r0, 0 -_081537FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81537CC - - thumb_func_start sub_8153804 -sub_8153804: @ 8153804 - push {lr} - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674C86 - bl StringExpandPlaceholders - movs r0, 0x3 - bl SetMysteryEventScriptStatus - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153804 - - thumb_func_start sub_8153820 -sub_8153820: @ 8153820 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, =gUnknown_082DED2C - ldr r2, =gUnknown_082DED2C + 0x44 - bl InitScriptContext - adds r0, r4, 0 - adds r1, r5, 0 - bl SetupBytecodeScript - str r5, [r4, 0x64] - movs r0, 0 - str r0, [r4, 0x68] - str r0, [r4, 0x6C] - str r0, [r4, 0x70] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153820 - - thumb_func_start sub_8153850 -sub_8153850: @ 8153850 - push {r4,lr} - adds r4, r0, 0 - bl RunScriptCommand - lsls r0, 24 - cmp r0, 0 - beq _08153868 - ldr r0, [r4, 0x70] - cmp r0, 0 - beq _08153868 - movs r0, 0x1 - b _0815386A -_08153868: - movs r0, 0 -_0815386A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8153850 - - thumb_func_start sub_8153870 -sub_8153870: @ 8153870 - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_0203BBC0 - bl sub_8153820 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153870 - - thumb_func_start sub_8153884 -sub_8153884: @ 8153884 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gUnknown_0203BBC0 - adds r0, r4, 0 - bl sub_8153850 - ldr r1, [r4, 0x6C] - str r1, [r5] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153884 - - thumb_func_start sub_81538A0 -sub_81538A0: @ 81538A0 - push {r4,lr} - adds r1, r0, 0 - ldr r4, =gUnknown_0203BBC0 - adds r0, r4, 0 - bl sub_8153820 -_081538AC: - adds r0, r4, 0 - bl sub_8153850 - cmp r0, 0 - bne _081538AC - ldr r0, [r4, 0x6C] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81538A0 - - thumb_func_start SetMysteryEventScriptStatus -SetMysteryEventScriptStatus: @ 81538C4 - ldr r1, =gUnknown_0203BBC0 - str r0, [r1, 0x6C] - bx lr - .pool - thumb_func_end SetMysteryEventScriptStatus - - thumb_func_start sub_81538D0 -sub_81538D0: @ 81538D0 - push {lr} - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003b18 - adds r3, r0, r1 - movs r1, 0 -_081538DE: - adds r0, r3, r1 - ldrb r0, [r0] - adds r2, r0 - adds r1, 0x1 - cmp r1, 0xB - bls _081538DE - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81538D0 - - thumb_func_start sub_81538F8 -sub_81538F8: @ 81538F8 - push {r4,r5,lr} - ldr r5, =gSaveBlock1Ptr - ldr r0, [r5] - ldr r1, =0x00003b18 - adds r4, r0, r1 - bl sub_81538D0 - adds r1, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0815392A - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0815392A - ldrh r0, [r4, 0x2] - cmp r0, 0 - beq _0815392A - cmp r1, 0 - beq _0815392A - ldr r0, [r5] - ldr r2, =0x00003b14 - adds r0, r2 - ldr r0, [r0] - cmp r1, r0 - beq _0815393C -_0815392A: - movs r0, 0 - b _0815393E - .pool -_0815393C: - movs r0, 0x1 -_0815393E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81538F8 - - thumb_func_start sub_8153944 -sub_8153944: @ 8153944 - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b14 - adds r1, r0 - ldr r2, =0x01000008 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153944 - - thumb_func_start sub_8153970 -sub_8153970: @ 8153970 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r6, r2, 0 - cmp r3, 0 - beq _08153990 - cmp r1, 0 - beq _08153990 - cmp r2, 0 - bne _08153996 -_08153990: - bl sub_8153944 - b _081539BC -_08153996: - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x00003b18 - adds r0, r1 - strb r3, [r0] - ldr r0, [r4] - ldr r2, =0x00003b19 - adds r0, r2 - strb r5, [r0] - ldr r0, [r4] - adds r1, 0x2 - adds r0, r1 - strh r6, [r0] - bl sub_81538D0 - ldr r1, [r4] - ldr r2, =0x00003b14 - adds r1, r2 - str r0, [r1] -_081539BC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153970 - - thumb_func_start sub_81539D4 -sub_81539D4: @ 81539D4 - push {r4-r6,lr} - ldr r6, =gSaveBlock1Ptr - ldr r0, [r6] - ldr r1, =0x00003b18 - adds r4, r0, r1 - bl sub_81538F8 - cmp r0, 0 - bne _081539F8 - bl sub_8153944 - movs r0, 0 - b _08153A1A - .pool -_081539F8: - ldrh r5, [r4, 0x2] - ldrb r0, [r4, 0x1] - subs r0, 0x1 - strb r0, [r4, 0x1] - lsls r0, 24 - cmp r0, 0 - bne _08153A0C - bl sub_8153944 - b _08153A18 -_08153A0C: - bl sub_81538D0 - ldr r1, [r6] - ldr r2, =0x00003b14 - adds r1, r2 - str r0, [r1] -_08153A18: - adds r0, r5, 0 -_08153A1A: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81539D4 - - thumb_func_start script_status_stop_and_ret_1 -script_status_stop_and_ret_1: @ 8153A24 - push {lr} - bl StopScript - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end script_status_stop_and_ret_1 - - thumb_func_start sub_8153A30 -sub_8153A30: @ 8153A30 - push {r4-r7,lr} - adds r7, r0, 0 - bl ScriptReadWord - str r0, [r7, 0x68] - adds r0, r7, 0 - bl ScriptReadHalfword - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r7, 0 - bl ScriptReadWord - adds r6, r0, 0 - adds r0, r7, 0 - bl ScriptReadHalfword - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl ScriptReadWord - adds r3, r0, 0 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_81537CC - cmp r0, 0x1 - bne _08153A74 - str r0, [r7, 0x70] - b _08153A78 -_08153A74: - bl sub_8153804 -_08153A78: - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153A30 - - thumb_func_start sub_8153A80 -sub_8153A80: @ 8153A80 - movs r0, 0 - bx lr - thumb_func_end sub_8153A80 - - thumb_func_start sub_8153A84 -sub_8153A84: @ 8153A84 - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - str r2, [r0, 0x6C] - movs r0, 0 - bx lr - thumb_func_end sub_8153A84 - - thumb_func_start sub_8153A94 -sub_8153A94: @ 8153A94 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r5, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl ScriptReadWord - ldr r1, [r4, 0x68] - subs r0, r1 - ldr r1, [r4, 0x64] - adds r1, r0, r1 - cmp r5, 0xFF - beq _08153AB8 - ldr r0, [r4, 0x6C] - cmp r5, r0 - bne _08153ABE -_08153AB8: - ldr r0, =gStringVar4 - bl StringExpandPlaceholders -_08153ABE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153A94 - - thumb_func_start sub_8153ACC -sub_8153ACC: @ 8153ACC - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - ldr r1, [r4, 0x68] - subs r0, r1 - ldr r1, [r4, 0x64] - adds r0, r1 - bl ScriptContext2_RunNewScript - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8153ACC - - thumb_func_start sub_8153AE8 -sub_8153AE8: @ 8153AE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - bl IsEnigmaBerryValid - mov r8, r0 - adds r0, r7, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r7, 0x68] - subs r4, r0 - ldr r0, [r7, 0x64] - adds r4, r0 - ldr r0, =gStringVar1 - mov r9, r0 - ldr r6, =gSaveBlock1Ptr - ldr r1, [r6] - ldr r5, =0x000031f8 - adds r1, r5 - movs r2, 0x7 - bl StringCopyN - adds r0, r4, 0 - bl SetEnigmaBerry - ldr r4, =gStringVar2 - ldr r1, [r6] - adds r1, r5 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - mov r0, r8 - cmp r0, 0 - bne _08153B54 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674AE4 - b _08153B74 - .pool -_08153B54: - mov r0, r9 - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _08153B70 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B16 - b _08153B74 - .pool -_08153B70: - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B42 -_08153B74: - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r7, 0x6C] - bl IsEnigmaBerryValid - cmp r0, 0x1 - bne _08153B9C - ldr r0, =0x0000402d - movs r1, 0x1 - bl VarSet - b _08153BA0 - .pool -_08153B9C: - movs r0, 0x1 - str r0, [r7, 0x6C] -_08153BA0: - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153AE8 - - thumb_func_start sub_8153BB0 -sub_8153BB0: @ 8153BB0 - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r0, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl GiveGiftRibbonToParty - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B6A - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153BB0 - - thumb_func_start sub_8153BE4 -sub_8153BE4: @ 8153BE4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r4, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r4, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r4, 0x8] - adds r0, r4, 0 - bl ScriptReadWord - adds r5, r0, 0 - ldr r0, [r4, 0x68] - subs r5, r0 - ldr r0, [r4, 0x64] - adds r5, r0 - adds r0, r4, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r4, 0x68] - subs r1, r0 - ldr r0, [r4, 0x64] - adds r1, r0 - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - str r6, [sp] - adds r0, r5, 0 - mov r2, r9 - mov r3, r8 - bl InitRamScript - movs r0, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8153BE4 - - thumb_func_start sub_8153C4C -sub_8153C4C: @ 8153C4C - push {r4,lr} - adds r4, r0, 0 - bl EnableNationalPokedex - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B9E - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153C4C - - thumb_func_start sub_8153C70 -sub_8153C70: @ 8153C70 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x8] - ldrb r0, [r1] - adds r1, 0x1 - str r1, [r4, 0x8] - bl sub_811EFC0 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674BD4 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153C70 - - thumb_func_start sub_8153C9C -sub_8153C9C: @ 8153C9C - push {r4,r5,lr} - ldr r1, [r0, 0x8] - ldrb r5, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl ScriptReadHalfword - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8153970 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8153C9C - - thumb_func_start sub_8153CC8 -sub_8153CC8: @ 8153CC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x88 - adds r6, r0, 0 - bl ScriptReadWord - ldr r1, [r6, 0x68] - subs r0, r1 - ldr r1, [r6, 0x64] - adds r5, r0, r1 - movs r0, 0x64 - adds r0, r5 - mov r8, r0 - add r4, sp, 0x24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bne _08153D18 - ldr r0, =gStringVar1 - ldr r1, =gText_EggNickname - movs r2, 0xB - bl StringCopyN - b _08153D22 - .pool -_08153D18: - ldr r0, =gStringVar1 - ldr r1, =gText_Pokemon - movs r2, 0xB - bl StringCopyN -_08153D22: - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x6 - bne _08153D4C - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674C02 - bl StringExpandPlaceholders - movs r0, 0x3 - b _08153DB6 - .pool -_08153D4C: - ldr r7, =gPlayerParty + 500 - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - mov r0, sp - mov r1, r8 - movs r2, 0x24 - bl memcpy - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - beq _08153D86 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r4, 0 - movs r1, 0x3 - bl GetSetPokedexFlag -_08153D86: - adds r0, r7, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _08153DA4 - adds r0, r7, 0 - mov r1, sp - bl sub_80D460C -_08153DA4: - bl party_compaction - bl CalculatePlayerPartyCount - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674BF0 - bl StringExpandPlaceholders - movs r0, 0x2 -_08153DB6: - str r0, [r6, 0x6C] - movs r0, 0 - add sp, 0x88 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153CC8 - - thumb_func_start sub_8153DD4 -sub_8153DD4: @ 8153DD4 - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r4, 0x68] - subs r1, r0 - ldr r0, [r4, 0x64] - adds r1, r0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000bec - adds r0, r2 - movs r2, 0xBC - bl memcpy - bl sub_81652B4 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674C31 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153DD4 - - thumb_func_start sub_8153E1C -sub_8153E1C: @ 8153E1C - push {r4,lr} - adds r4, r0, 0 - bl EnableResetRTC - ldr r0, =gStringVar4 - ldr r1, =gText_InGameClockUsable - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153E1C - - thumb_func_start sub_8153E40 -sub_8153E40: @ 8153E40 - push {r4-r6,lr} - adds r6, r0, 0 - bl ScriptReadWord - adds r5, r0, 0 - adds r0, r6, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r6, 0x68] - subs r4, r0 - ldr r0, [r6, 0x64] - adds r4, r0 - adds r0, r6, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r6, 0x68] - subs r1, r0 - ldr r0, [r6, 0x64] - adds r1, r0 - subs r1, r4 - adds r0, r4, 0 - bl CalcByteArraySum - cmp r5, r0 - beq _08153E7E - movs r0, 0 - str r0, [r6, 0x70] - movs r0, 0x1 - str r0, [r6, 0x6C] -_08153E7E: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8153E40 - - thumb_func_start sub_8153E88 -sub_8153E88: @ 8153E88 - push {r4-r6,lr} - adds r6, r0, 0 - bl ScriptReadWord - adds r5, r0, 0 - adds r0, r6, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r6, 0x68] - subs r4, r0 - ldr r0, [r6, 0x64] - adds r4, r0 - adds r0, r6, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r6, 0x68] - subs r1, r0 - ldr r0, [r6, 0x64] - adds r1, r0 - subs r1, r4 - adds r0, r4, 0 - bl CalcCRC16 - lsls r0, 16 - lsrs r0, 16 - cmp r5, r0 - beq _08153ECA - movs r0, 0 - str r0, [r6, 0x70] - movs r0, 0x1 - str r0, [r6, 0x6C] -_08153ECA: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8153E88 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/naming_screen.s b/asm/naming_screen.s deleted file mode 100644 index 22d7b260e..000000000 --- a/asm/naming_screen.s +++ /dev/null @@ -1,4267 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start DoNamingScreen -@ int DoNamingScreen(u8 type, sav2 *sav2_ptr, s16 player_gender, s16 a4, int a5, void ( *after_finishing_callback)()) -DoNamingScreen: @ 80E2D78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - ldr r4, =gUnknown_02039F94 - movs r0, 0xF2 - lsls r0, 5 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _080E2DA8 - ldr r0, [sp, 0x1C] - bl SetMainCallback2 - b _080E2DE2 - .pool -_080E2DA8: - ldr r1, =0x00001e2c - adds r0, r1 - strb r7, [r0] - ldr r0, [r4] - ldr r2, =0x00001e34 - adds r1, r0, r2 - strh r5, [r1] - adds r2, 0x2 - adds r1, r0, r2 - strh r6, [r1] - ldr r1, =0x00001e38 - adds r2, r0, r1 - ldr r1, [sp, 0x18] - str r1, [r2] - ldr r2, =0x00001e30 - adds r1, r0, r2 - mov r2, r8 - str r2, [r1] - ldr r1, =0x00001e3c - adds r0, r1 - ldr r2, [sp, 0x1C] - str r2, [r0] - cmp r7, 0 - bne _080E2DDC - bl StartTimer1 -_080E2DDC: - ldr r0, =c2_choose_name_or_words_screen - bl SetMainCallback2 -_080E2DE2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DoNamingScreen - - thumb_func_start c2_choose_name_or_words_screen -c2_choose_name_or_words_screen: @ 80E2E04 - push {lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bhi _080E2E9C - lsls r0, 2 - ldr r1, =_080E2E28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E2E28: - .4byte _080E2E48 - .4byte _080E2E52 - .4byte _080E2E58 - .4byte _080E2E5E - .4byte _080E2E68 - .4byte _080E2E6E - .4byte _080E2E74 - .4byte _080E2E7A -_080E2E48: - bl sub_80E4F70 - bl choose_name_or_words_screen_setup - b _080E2E86 -_080E2E52: - bl choose_name_or_words_screen_init_bgs - b _080E2E86 -_080E2E58: - bl ResetPaletteFade - b _080E2E86 -_080E2E5E: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _080E2E86 -_080E2E68: - bl ResetTasks - b _080E2E86 -_080E2E6E: - bl choose_name_or_words_screen_apply_bg_pals - b _080E2E86 -_080E2E74: - bl choose_name_or_words_screen_load_bg_tile_patterns - b _080E2E86 -_080E2E7A: - bl sub_80E3CC8 - bl UpdatePaletteFade - bl sub_80E501C -_080E2E86: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080E2EA4 - .pool -_080E2E9C: - bl sub_80E4CB8 - bl sub_80E3194 -_080E2EA4: - pop {r0} - bx r0 - thumb_func_end c2_choose_name_or_words_screen - - thumb_func_start choose_name_or_words_screen_setup -@ void choose_name_or_words_screen_setup() -choose_name_or_words_screen_setup: @ 80E2EA8 - push {r4-r7,lr} - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e10 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r1, [r5] - ldr r3, =0x00001e18 - adds r0, r1, r3 - movs r4, 0 - strh r2, [r0] - ldr r7, =0x00001e1a - adds r0, r1, r7 - strh r2, [r0] - ldr r0, =0x00001e1c - adds r2, r1, r0 - movs r3, 0x1 - movs r0, 0x1 - strh r0, [r2] - adds r7, 0x4 - adds r2, r1, r7 - movs r0, 0x2 - strh r0, [r2] - movs r0, 0xF1 - lsls r0, 5 - adds r1, r0 - strb r4, [r1] - ldr r0, [r5] - ldr r1, =0x00001e21 - adds r0, r1 - strb r3, [r0] - ldr r1, [r5] - ldr r6, =0x00001e28 - adds r3, r1, r6 - ldr r2, =gUnknown_0858BFD8 - ldr r4, =0x00001e2c - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - ldrb r0, [r0, 0x4] - ldr r2, =0x00001e22 - adds r1, r2 - strb r0, [r1] - ldr r2, [r5] - adds r0, r2, r6 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r1, 3 - movs r0, 0xF0 - subs r0, r1 - asrs r3, r0, 1 - adds r0, r3, 0x6 - subs r7, 0x8 - adds r1, r2, r7 - strh r0, [r1] - adds r2, r4 - ldrb r0, [r2] - cmp r0, 0x4 - bne _080E2F2C - adds r0, r3, 0 - adds r0, 0x11 - strh r0, [r1] -_080E2F2C: - ldr r0, [r5] - ldr r4, =gKeyRepeatStartDelay - ldrh r1, [r4] - ldr r2, =0x00001e25 - adds r0, r2 - strb r1, [r0] - ldr r0, [r5] - movs r3, 0xC0 - lsls r3, 5 - adds r0, r3 - movs r1, 0xFF - movs r2, 0x10 - bl memset - ldr r1, [r5] - adds r0, r1, r6 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _080E2F64 - movs r7, 0xC0 - lsls r7, 5 - adds r0, r1, r7 - ldr r2, =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_080E2F64: - movs r0, 0x10 - strh r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_setup - - thumb_func_start sub_80E2FA4 -sub_80E2FA4: @ 80E2FA4 - push {r4,r5,lr} - movs r3, 0 - ldr r4, =gSprites - movs r5, 0x5 - negs r5, r5 -_080E2FAE: - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r4 - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - lsls r0, r1, 31 - cmp r0, 0 - beq _080E2FC8 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_080E2FC8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3F - bls _080E2FAE - movs r0, 0 - bl sub_80E3E3C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E2FA4 - - thumb_func_start choose_name_or_words_screen_init_bgs -choose_name_or_words_screen_init_bgs: @ 80E2FE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0xC - mov r8, r0 - add r2, sp, 0x8 - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080E300A: - strh r6, [r2] - add r0, sp, 0x8 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080E300A - strh r6, [r2] - add r2, sp, 0x8 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0xC] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x8 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0858BE00 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl sub_81971D0 - bl sub_8197200 -_080E30D8: - lsls r0, r4, 3 - ldr r1, =gUnknown_0858BE10 - adds r0, r1 - bl AddWindow - ldr r5, =gUnknown_02039F94 - ldr r1, [r5] - ldr r2, =0x00001e11 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080E30D8 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r1, 0xC8 - lsls r1, 3 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000080c - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r5] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x80 - lsls r0, 4 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_init_bgs - - thumb_func_start sub_80E3194 -sub_80E3194: @ 80E3194 - push {lr} - ldr r0, =sub_80E31B0 - movs r1, 0x2 - bl CreateTask - ldr r0, =sub_80E4F58 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3194 - - thumb_func_start sub_80E31B0 -sub_80E31B0: @ 80E31B0 - push {lr} - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _080E3240 - lsls r0, 2 - ldr r1, =_080E31D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E31D8: - .4byte _080E3200 - .4byte _080E320E - .4byte _080E3218 - .4byte _080E3214 - .4byte _080E321E - .4byte _080E3224 - .4byte _080E322A - .4byte _080E3230 - .4byte _080E3236 - .4byte _080E323C -_080E3200: - bl sub_80E3294 - bl sub_80E2FA4 - bl sub_80E4F84 - b _080E3240 -_080E320E: - bl sub_80E335C - b _080E3240 -_080E3214: - bl sub_80E33A8 -_080E3218: - bl sub_80E3398 - b _080E3240 -_080E321E: - bl sub_80E3640 - b _080E3240 -_080E3224: - bl sub_80E3680 - b _080E3240 -_080E322A: - bl pokemon_store - b _080E3240 -_080E3230: - bl sub_80E3604 - b _080E3240 -_080E3236: - bl sub_80E3448 - b _080E3240 -_080E323C: - bl sub_80E347C -_080E3240: - pop {r0} - bx r0 - thumb_func_end sub_80E31B0 - - thumb_func_start sub_80E3244 -sub_80E3244: @ 80E3244 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0858BEBB - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E3244 - - thumb_func_start sub_80E3254 -sub_80E3254: @ 80E3254 - ldr r1, =gUnknown_0858BEBE - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E3254 - - thumb_func_start sub_80E3274 -sub_80E3274: @ 80E3274 - ldr r1, =gUnknown_0858BEC1 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E3274 - - thumb_func_start sub_80E3294 -sub_80E3294: @ 80E3294 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, =gUnknown_08DD4544 - movs r0, 0x3 - bl sub_80E4CF8 - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e22 - adds r0, r1 - movs r6, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gUnknown_08DD46E0 - movs r0, 0x2 - bl sub_80E4CF8 - ldr r1, =gUnknown_08DD4620 - movs r0, 0x1 - bl sub_80E4CF8 - ldr r0, [r5] - ldr r1, =0x00001e12 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_80E4DE4 - ldr r0, [r5] - ldr r1, =0x00001e11 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_80E4DE4 - movs r0, 0x2 - movs r1, 0 - bl nullsub_10 - movs r0, 0x1 - movs r1, 0x1 - bl nullsub_10 - bl sub_80E4D10 - bl sub_80E4964 - bl sub_80E4EF0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r6, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldr r0, =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3294 - - thumb_func_start sub_80E335C -sub_80E335C: @ 80E335C - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080E3384 - movs r0, 0x1 - bl sub_80E4630 - movs r0, 0x1 - bl sub_80E3E94 - ldr r0, =gUnknown_02039F94 - ldr r1, [r0] - ldr r0, =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080E3384: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E335C - - thumb_func_start sub_80E3398 -sub_80E3398: @ 80E3398 - push {lr} - bl sub_80E44BC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80E3398 - - thumb_func_start sub_80E33A8 -sub_80E33A8: @ 80E33A8 - push {lr} - bl sub_80E3F04 - lsls r0, 24 - cmp r0, 0 - beq _080E33CA - movs r0, 0x1 - bl sub_80E4630 - bl sub_80E3E28 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] -_080E33CA: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E33A8 - - thumb_func_start pokemon_store -pokemon_store: @ 80E33D8 - push {r4,lr} - bl sub_80E4BE4 - movs r0, 0 - bl sub_80E4630 - movs r0, 0 - bl sub_80E3E94 - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl sub_80E3948 - ldr r4, =gUnknown_02039F94 - ldr r0, [r4] - ldr r1, =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080E342C - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _080E342C - bl pokemon_transfer_to_pc_with_message - ldr r0, [r4] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - movs r0, 0 - b _080E343A - .pool -_080E342C: - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] - movs r0, 0x1 -_080E343A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end pokemon_store - - thumb_func_start sub_80E3448 -sub_80E3448: @ 80E3448 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_02039F94 - ldr r1, [r0] - ldr r0, =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3448 - - thumb_func_start sub_80E347C -sub_80E347C: @ 80E347C - push {r4,r5,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080E34C6 - ldr r4, =gUnknown_02039F94 - ldr r0, [r4] - ldr r1, =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080E34A0 - bl SeedRngAndSetTrainerId -_080E34A0: - ldr r0, [r4] - ldr r1, =0x00001e3c - adds r0, r1 - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, =sub_80E31B0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, [r4] - bl Free - str r5, [r4] -_080E34C6: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E347C - - thumb_func_start pokemon_transfer_to_pc_with_message -pokemon_transfer_to_pc_with_message: @ 80E34E4 - push {r4,r5,lr} - sub sp, 0x10 - movs r5, 0 - bl sub_813B260 - lsls r0, 24 - cmp r0, 0 - bne _080E3534 - ldr r4, =gStringVar1 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - b _080E3574 - .pool -_080E3534: - ldr r4, =gStringVar1 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r4, =gStringVar3 - bl get_unknown_box_id - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - movs r5, 0x2 -_080E3574: - ldr r0, =0x000008ab - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080E3586 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080E3586: - ldr r4, =gStringVar4 - ldr r1, =gUnknown_0858BDB8 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemon_transfer_to_pc_with_message - - thumb_func_start sub_80E3604 -sub_80E3604: @ 80E3604 - push {lr} - bl RunTextPrinters - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080E362E - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E362E - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] -_080E362E: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3604 - - thumb_func_start sub_80E3640 -sub_80E3640: @ 80E3640 - push {lr} - movs r0, 0 - bl sub_80E4630 - bl sub_80E4050 - bl sub_80E373C - movs r0, 0x1 - bl sub_80E3E3C - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_80E3948 - movs r0, 0x6 - bl PlaySE - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3640 - - thumb_func_start sub_80E3680 -sub_80E3680: @ 80E3680 - push {r4-r6,lr} - sub sp, 0x4 - bl sub_80E3794 - lsls r0, 24 - cmp r0, 0 - beq _080E3732 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_80E3DFC - bl sub_80E3F70 - movs r5, 0 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 24 - lsrs r0, 24 - adds r6, r4, 0 - cmp r1, r0 - bne _080E36B2 - movs r5, 0x1 -_080E36B2: - ldr r2, =gUnknown_02039F94 - ldr r0, [r2] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r1, [r2] - ldr r3, =0x00001e22 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, [r2] - adds r4, r3 - ldrb r0, [r4] - movs r1, 0x3 - bl __umodsi3 - strb r0, [r4] - cmp r5, 0 - beq _080E36F4 - mov r4, sp - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - b _080E3712 - .pool -_080E36F4: - mov r0, sp - movs r2, 0 - ldrsh r4, [r0, r2] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _080E3714 - mov r4, sp - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 -_080E3712: - strh r0, [r4] -_080E3714: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - bl sub_80E3D78 - bl sub_80E4E5C - movs r0, 0x1 - bl sub_80E4630 - movs r0, 0 - bl sub_80E3E3C -_080E3732: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80E3680 - - thumb_func_start sub_80E373C -sub_80E373C: @ 80E373C - push {r4,lr} - ldr r4, =sub_80E375C - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E373C - - thumb_func_start sub_80E375C -sub_80E375C: @ 80E375C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0858BEC4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080E376E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080E376E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E375C - - thumb_func_start sub_80E3794 -sub_80E3794: @ 80E3794 - push {lr} - ldr r0, =sub_80E375C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080E37AC - movs r0, 0 - b _080E37AE - .pool -_080E37AC: - movs r0, 0x1 -_080E37AE: - pop {r1} - bx r1 - thumb_func_end sub_80E3794 - - thumb_func_start sub_80E37B4 -sub_80E37B4: @ 80E37B4 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r3, =0x00001e18 - adds r2, r1, r3 - movs r3, 0 - strh r3, [r2] - ldr r2, =0x00001e1a - adds r1, r2 - strh r3, [r1] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .pool - thumb_func_end sub_80E37B4 - - thumb_func_start sub_80E37DC -sub_80E37DC: @ 80E37DC - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r2, =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r1, =0x00001e18 - adds r0, r1 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r2, =0x00001e21 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _080E3852 - ldr r0, [r5] - ldr r1, =0x00001e1c - adds r2, r0, r1 - ldrb r3, [r2] - adds r1, 0x2 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - strh r3, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080E3852: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E37DC - - thumb_func_start sub_80E3870 -sub_80E3870: @ 80E3870 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r2, =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r3, =0x00001e18 - adds r0, r3 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r3, =0x00001e21 - adds r1, r3 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080E38EA - ldr r0, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r0, r2 - ldrb r2, [r1] - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [r5] - adds r0, r3 - strb r2, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080E38EA: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3870 - - thumb_func_start sub_80E3904 -sub_80E3904: @ 80E3904 - push {lr} - ldr r0, =sub_80E375C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3904 - - thumb_func_start sub_80E3920 -sub_80E3920: @ 80E3920 - push {lr} - ldr r0, =c3_0809E58C - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x3 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3920 - - thumb_func_start sub_80E3948 -sub_80E3948: @ 80E3948 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =c3_0809E58C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r5, r0 - bne _080E3988 - cmp r6, 0 - bne _080E3988 - strh r7, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - b _080E39B4 - .pool -_080E3988: - cmp r5, 0x3 - bne _080E3998 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080E3998 - cmp r6, 0 - beq _080E39B4 -_080E3998: - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _080E39AA - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80E3AE8 -_080E39AA: - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r7, 0 - bl sub_80E3B10 -_080E39B4: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E3948 - - thumb_func_start c3_0809E58C -c3_0809E58C: @ 80E39BC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _080E3A6E - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080E3A6E - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80E3A74 - lsls r0, 16 - lsrs r0, 16 - ldrb r3, [r4, 0xE] - adds r1, r3, 0 - adds r2, r3, 0 - bl sub_80B609C - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080E3A08 - subs r0, r1, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _080E3A6E -_080E3A08: - movs r0, 0x2 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r0, 0 - blt _080E3A32 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0xD - bgt _080E3A28 - adds r0, r2, r1 - b _080E3A36 - .pool -_080E3A28: - movs r0, 0x10 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x14] - adds r0, 0x1 - b _080E3A3C -_080E3A32: - ldrh r3, [r4, 0xE] - adds r0, r1, r3 -_080E3A36: - strh r0, [r4, 0xE] - ldrh r2, [r4, 0x14] - adds r0, r1, r2 -_080E3A3C: - strh r0, [r4, 0x14] - movs r3, 0xE - ldrsh r0, [r4, r3] - ldrh r1, [r4, 0xE] - cmp r0, 0x10 - bne _080E3A5C - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _080E3A5C - ldr r0, =0x0000fffc - strh r0, [r4, 0x10] - b _080E3A6E - .pool -_080E3A5C: - lsls r0, r1, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _080E3A6E - ldrh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0x2 - strh r0, [r4, 0x10] - strh r1, [r4, 0x14] -_080E3A6E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end c3_0809E58C - - thumb_func_start sub_80E3A74 -sub_80E3A74: @ 80E3A74 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x4 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x87 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - add r6, sp, 0x8 - strh r0, [r6] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - mov r1, sp - adds r1, 0xA - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - add r1, sp, 0xC - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - ldr r1, =0x00000101 - adds r0, r1 - mov r1, sp - adds r1, 0xE - strh r0, [r1] - mov r0, sp - adds r1, r6, 0 - movs r2, 0x8 - bl memcpy - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrh r0, [r0] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3A74 - - thumb_func_start sub_80E3AE8 -sub_80E3AE8: @ 80E3AE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80E3A74 - lsls r0, 16 - ldr r2, =gPlttBufferFaded - lsrs r0, 15 - adds r2, r0, r2 - ldr r1, =gPlttBufferUnfaded - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3AE8 - - thumb_func_start sub_80E3B10 -sub_80E3B10: @ 80E3B10 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0xC] - movs r2, 0x4 - strh r2, [r0, 0xE] - movs r1, 0x2 - strh r1, [r0, 0x10] - strh r3, [r0, 0x12] - strh r2, [r0, 0x14] - bx lr - thumb_func_end sub_80E3B10 - - thumb_func_start sub_80E3B30 -sub_80E3B30: @ 80E3B30 - push {r4-r6,lr} - adds r5, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E3B48 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim -_080E3B48: - ldrh r0, [r5, 0x36] - movs r1, 0xFF - ands r1, r0 - adds r6, r5, 0 - adds r6, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2E - ldrsh r4, [r5, r0] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E3B7C - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] -_080E3B7C: - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080E3BAC - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080E3BAC - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _080E3BAC - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r1, r0 - beq _080E3BB6 -_080E3BAC: - movs r0, 0 - strh r0, [r5, 0x38] - movs r0, 0x2 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x3C] -_080E3BB6: - ldrh r0, [r5, 0x3C] - subs r0, 0x1 - strh r0, [r5, 0x3C] - lsls r0, 16 - cmp r0, 0 - bne _080E3BDE - ldrh r1, [r5, 0x3A] - ldrh r2, [r5, 0x38] - adds r0, r1, r2 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _080E3BD6 - cmp r0, 0 - bne _080E3BDA -_080E3BD6: - negs r0, r1 - strh r0, [r5, 0x3A] -_080E3BDA: - movs r0, 0x2 - strh r0, [r5, 0x3C] -_080E3BDE: - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080E3C14 - ldrh r4, [r5, 0x38] - lsls r5, r4, 24 - lsrs r5, 24 - lsls r4, 16 - asrs r4, 17 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, =0x01010000 - adds r0, r2 - lsrs r0, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r5, 0 - bl sub_80B609C -_080E3C14: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3B30 - - thumb_func_start sub_80E3C20 -sub_80E3C20: @ 80E3C20 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0858BED4 - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080E3C44 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080E3C52 -_080E3C44: - movs r0, 0x8 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] -_080E3C52: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3C20 - - thumb_func_start sub_80E3C6C -sub_80E3C6C: @ 80E3C6C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0858BEDC - mov r0, sp - movs r2, 0x8 - bl memcpy - bl sub_80E4A60 - lsls r0, 24 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - cmp r0, r1 - beq _080E3C98 - movs r0, 0 - strh r0, [r4, 0x26] - strh r0, [r4, 0x30] - b _080E3CBE - .pool -_080E3C98: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080E3CC0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] - movs r0, 0 -_080E3CBE: - strh r0, [r4, 0x32] -_080E3CC0: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E3C6C - - thumb_func_start sub_80E3CC8 -sub_80E3CC8: @ 80E3CC8 - push {lr} - bl sub_80E3CE4 - bl sub_80E3F8C - bl sub_80E4218 - bl sub_80E4290 - bl sub_80E4354 - pop {r0} - bx r0 - thumb_func_end sub_80E3CC8 - - thumb_func_start sub_80E3CE4 -sub_80E3CE4: @ 80E3CE4 - push {r4-r6,lr} - ldr r0, =gUnknown_0858C138 - movs r1, 0x26 - movs r2, 0x58 - movs r3, 0x1 - bl CreateSprite - ldr r5, =gUnknown_02039F94 - ldr r1, [r5] - ldr r4, =0x00001e23 - adds r1, r4 - strb r0, [r1] - movs r0, 0x1 - bl sub_80E3E3C - ldr r6, =gSprites - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x1] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, 0x1] - ldr r2, [r5] - adds r2, r4 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x3A] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - strh r1, [r0, 0x3A] - movs r0, 0 - movs r1, 0 - bl sub_80E3D78 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3CE4 - - thumb_func_start sub_80E3D78 -sub_80E3D78: @ 80E3D78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e23 - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, =gSprites - adds r5, r1, r2 - lsrs r1, r0, 16 - mov r8, r1 - asrs r6, r0, 16 - ldr r4, =gUnknown_0858BEA0 - bl sub_80E3274 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - cmp r6, r0 - bge _080E3DD8 - bl sub_80E3274 - ldr r1, =gUnknown_0858BEA3 - lsls r0, 24 - lsrs r0, 21 - adds r0, r6, r0 - adds r0, r1 - ldrb r0, [r0] - adds r0, 0x26 - b _080E3DDA - .pool -_080E3DD8: - movs r0, 0 -_080E3DDA: - strh r0, [r5, 0x20] - lsls r0, r7, 16 - asrs r0, 12 - adds r0, 0x58 - strh r0, [r5, 0x22] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x30] - strh r0, [r5, 0x34] - mov r2, r8 - strh r2, [r5, 0x2E] - strh r7, [r5, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E3D78 - - thumb_func_start sub_80E3DFC -sub_80E3DFC: @ 80E3DFC - ldr r2, =gUnknown_02039F94 - ldr r2, [r2] - ldr r3, =0x00001e23 - adds r2, r3 - ldrb r3, [r2] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - ldr r3, =gSprites - adds r2, r3 - ldrh r3, [r2, 0x2E] - strh r3, [r0] - ldrh r0, [r2, 0x30] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_80E3DFC - - thumb_func_start sub_80E3E28 -sub_80E3E28: @ 80E3E28 - push {lr} - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80E3D78 - pop {r0} - bx r0 - thumb_func_end sub_80E3E28 - - thumb_func_start sub_80E3E3C -sub_80E3E3C: @ 80E3E3C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSprites - ldr r1, =gUnknown_02039F94 - ldr r4, [r1] - ldr r1, =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - ldr r1, =0xffffff00 - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3E3C - - thumb_func_start sub_80E3E94 -sub_80E3E94: @ 80E3E94 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, =gSprites - ldr r1, =gUnknown_02039F94 - ldr r4, [r1] - ldr r1, =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - movs r1, 0xFF - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsrs r0, 16 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3E94 - - thumb_func_start sub_80E3ED8 -sub_80E3ED8: @ 80E3ED8 - push {lr} - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3ED8 - - thumb_func_start sub_80E3F04 -sub_80E3F04: @ 80E3F04 - ldr r2, =gSprites - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_80E3F04 - - thumb_func_start sub_80E3F30 -sub_80E3F30: @ 80E3F30 - push {r4,r5,lr} - sub sp, 0x4 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl sub_80E3DFC - mov r0, sp - movs r1, 0 - ldrsh r4, [r0, r1] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _080E3F64 - ldr r0, =gUnknown_0858BEE4 - movs r2, 0 - ldrsh r1, [r5, r2] - adds r1, r0 - ldrb r0, [r1] - b _080E3F66 - .pool -_080E3F64: - movs r0, 0 -_080E3F66: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E3F30 - - thumb_func_start sub_80E3F70 -sub_80E3F70: @ 80E3F70 - push {r4,lr} - ldr r4, =gUnknown_0858BEA0 - bl sub_80E3274 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3F70 - - thumb_func_start sub_80E3F8C -sub_80E3F8C: @ 80E3F8C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0858C0C0 - movs r1, 0xCC - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e24 - adds r1, r2 - strb r0, [r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, =gSprites - mov r8, r0 - add r5, r8 - ldr r1, =gUnknown_0858C050 - adds r0, r5, 0 - bl SetSubspriteTables - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r6, 0x4 - orrs r0, r6 - strb r0, [r1] - ldr r0, =gUnknown_0858C0F0 - movs r1, 0xCC - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r8 - ldr r1, =gUnknown_0858C058 - adds r0, r4, 0 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r6 - strb r0, [r4] - ldr r0, =gUnknown_0858C0D8 - movs r1, 0xCC - movs r2, 0x53 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r6 - strb r1, [r2, 0x5] - strh r0, [r5, 0x3C] - adds r2, 0x3E - ldrb r0, [r2] - orrs r0, r6 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3F8C - - thumb_func_start sub_80E4050 -sub_80E4050: @ 80E4050 - ldr r0, =gUnknown_02039F94 - ldr r2, [r0] - ldr r1, =0x00001e24 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r1, =0x00001e22 - adds r2, r1 - ldrb r1, [r2] - strh r1, [r0, 0x30] - bx lr - .pool - thumb_func_end sub_80E4050 - - thumb_func_start sub_80E4084 -sub_80E4084: @ 80E4084 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_0858BEE8 -_080E408A: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080E408A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4084 - - thumb_func_start sub_80E40AC -sub_80E40AC: @ 80E40AC - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r1, =gSprites - adds r5, r1 - movs r2, 0x3C - ldrsh r0, [r6, r2] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e22 - adds r0, r1 - ldrb r0, [r0] - bl sub_80E3244 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80E41B8 - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E40AC - - thumb_func_start sub_80E4100 -sub_80E4100: @ 80E4100 - movs r0, 0 - bx lr - thumb_func_end sub_80E4100 - - thumb_func_start sub_80E4104 -sub_80E4104: @ 80E4104 - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites - adds r4, r0, r2 - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080E4168 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, =0x0000fffc - strh r0, [r4, 0x26] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r0, 24 - lsrs r0, 24 - bl sub_80E3244 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80E41B8 -_080E4168: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4104 - - thumb_func_start sub_80E4178 -sub_80E4178: @ 80E4178 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _080E41AC - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0x2E] -_080E41AC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4178 - - thumb_func_start sub_80E41B8 -sub_80E41B8: @ 80E41B8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0858BEF8 - lsls r4, r5, 1 - adds r0, r4, r0 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 4 - mov r1, r8 - ldrb r2, [r1, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - mov r0, r8 - strb r1, [r0, 0x5] - ldr r0, =gUnknown_0858BEFE - adds r4, r0 - ldrh r0, [r4] - bl GetSpriteTileStartByTag - adds r1, r6, 0 - adds r1, 0x40 - strh r0, [r1] - adds r6, 0x42 - movs r1, 0x3F - ands r1, r5 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E41B8 - - thumb_func_start sub_80E4218 -sub_80E4218: @ 80E4218 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0858C108 - movs r1, 0xCC - movs r2, 0x74 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r6, =gSprites - adds r4, r6 - ldr r0, =gUnknown_0858C070 - mov r8, r0 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r4] - ldr r0, =gUnknown_0858C120 - movs r1, 0xCC - movs r2, 0x8C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r5 - strb r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4218 - - thumb_func_start sub_80E4290 -sub_80E4290: @ 80E4290 - push {r4-r6,lr} - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e16 - adds r0, r4 - ldrh r1, [r0] - subs r1, 0x5 - ldr r0, =gUnknown_0858C150 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x38 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r4, r0, r4 - ldrh r1, [r4] - movs r5, 0 - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcs _080E4334 - adds r6, r3, 0 -_080E42E2: - lsls r1, 16 - asrs r4, r1, 16 - movs r0, 0xC0 - lsls r0, 10 - adds r1, r0 - asrs r1, 16 - ldr r0, =gUnknown_0858C168 - movs r2, 0x3C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - strh r5, [r0, 0x2E] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x8 - lsls r4, 16 - lsrs r1, r4, 16 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcc _080E42E2 -_080E4334: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4290 - - thumb_func_start sub_80E4354 -sub_80E4354: @ 80E4354 - push {lr} - ldr r1, =gUnknown_0858BF04 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4354 - - thumb_func_start TaskDummy2 -TaskDummy2: @ 80E4380 - bx lr - thumb_func_end TaskDummy2 - - thumb_func_start sub_80E4384 -sub_80E4384: @ 80E4384 - push {lr} - sub sp, 0x4 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e34 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0 - bl sub_808BD3C - lsls r0, 24 - lsrs r0, 24 - ldr r1, =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - movs r2, 0x38 - movs r3, 0x25 - bl AddPseudoFieldObject - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x4 - bl StartSpriteAnim - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4384 - - thumb_func_start sub_80E43E0 -sub_80E43E0: @ 80E43E0 - push {r4,lr} - ldr r0, =gUnknown_0858C180 - movs r1, 0x38 - movs r2, 0x29 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldr r1, =gUnknown_0858C078 - adds r0, r4, 0 - bl SetSubspriteTables - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E43E0 - - thumb_func_start sub_80E4420 -sub_80E4420: @ 80E4420 - push {lr} - sub sp, 0xC - bl sub_80D2F04 - ldr r0, =gUnknown_02039F94 - ldr r3, [r0] - ldr r1, =0x00001e34 - adds r0, r3, r1 - ldrh r0, [r0] - ldr r1, =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - ldr r2, =0x00001e38 - adds r3, r2 - ldr r2, [r3] - str r2, [sp, 0x4] - movs r2, 0x1 - str r2, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x28 - bl sub_80D2CC4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4420 - - thumb_func_start sub_80E447C -sub_80E447C: @ 80E447C - push {lr} - sub sp, 0x4 - ldr r1, =SpriteCallbackDummy - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r2, 0x38 - movs r3, 0x25 - bl AddPseudoFieldObject - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x4 - bl StartSpriteAnim - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E447C - - thumb_func_start sub_80E44BC -sub_80E44BC: @ 80E44BC - push {r4,r5,lr} - bl sub_80E460C - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80E3F30 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0x8 - bne _080E44DA - bl sub_80E45E0 - b _080E44F6 -_080E44DA: - cmp r4, 0x6 - bne _080E44E4 - bl sub_80E4AF8 - b _080E4504 -_080E44E4: - cmp r5, 0x9 - beq _080E4500 - ldr r1, =gUnknown_0858BF18 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_080E44F6: - lsls r0, 24 - lsrs r0, 24 - b _080E4506 - .pool -_080E4500: - bl sub_80E3E28 -_080E4504: - movs r0, 0 -_080E4506: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E44BC - - thumb_func_start sub_80E450C -sub_80E450C: @ 80E450C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - bne _080E4546 - bl sub_80E4B54 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80E3ED8 - cmp r4, 0 - beq _080E4546 - movs r0, 0x2 - bl sub_80E4630 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] -_080E4546: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E450C - - thumb_func_start sub_80E4558 -sub_80E4558: @ 80E4558 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - beq _080E4572 - movs r0, 0 - b _080E457A -_080E4572: - bl sub_80E45E0 - lsls r0, 24 - lsrs r0, 24 -_080E457A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E4558 - - thumb_func_start sub_80E4580 -sub_80E4580: @ 80E4580 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - bne _080E459A - bl sub_80E4AF8 -_080E459A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E4580 - - thumb_func_start sub_80E45A4 -sub_80E45A4: @ 80E45A4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - beq _080E45BE - movs r0, 0 - b _080E45D2 -_080E45BE: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 -_080E45D2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E45A4 - - thumb_func_start sub_80E45E0 -sub_80E45E0: @ 80E45E0 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - movs r0, 0x1 - bx lr - .pool - thumb_func_end sub_80E45E0 - - thumb_func_start sub_80E45F8 -sub_80E45F8: @ 80E45F8 - push {lr} - ldr r0, =sub_80E465C - movs r1, 0x1 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E45F8 - - thumb_func_start sub_80E460C -sub_80E460C: @ 80E460C - push {lr} - ldr r0, =sub_80E465C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0xA] - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E460C - - thumb_func_start sub_80E4630 -sub_80E4630: @ 80E4630 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sub_80E465C - bl FindTaskIdByFunc - 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] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4630 - - thumb_func_start sub_80E465C -sub_80E465C: @ 80E465C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0858BF28 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E465C - - thumb_func_start sub_80E468C -sub_80E468C: @ 80E468C - movs r1, 0 - strh r1, [r0, 0xA] - bx lr - thumb_func_end sub_80E468C - - thumb_func_start sub_80E4692 -sub_80E4692: @ 80E4692 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0xA] - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E46B4 - movs r0, 0x5 - strh r0, [r2, 0xA] - b _080E46E4 - .pool -_080E46B4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E46C2 - movs r0, 0x6 - strh r0, [r2, 0xA] - b _080E46E4 -_080E46C2: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E46D0 - movs r0, 0x8 - strh r0, [r2, 0xA] - b _080E46E4 -_080E46D0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080E46DE - movs r0, 0x9 - strh r0, [r2, 0xA] - b _080E46E4 -_080E46DE: - adds r0, r2, 0 - bl sub_80E46F0 -_080E46E4: - pop {r0} - bx r0 - thumb_func_end sub_80E4692 - - thumb_func_start sub_80E46E8 -sub_80E46E8: @ 80E46E8 - movs r1, 0 - strh r1, [r0, 0xA] - bx lr - thumb_func_end sub_80E46E8 - - thumb_func_start sub_80E46F0 -sub_80E46F0: @ 80E46F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r9, r0 - ldr r1, =gUnknown_0858BF34 - mov r0, sp - movs r2, 0xA - bl memcpy - add r0, sp, 0xC - mov r10, r0 - ldr r1, =gUnknown_0858BF3E - movs r2, 0xA - bl memcpy - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x2C] - ldr r1, =gUnknown_0858BF48 - ldr r0, [sp, 0x2C] - movs r2, 0x8 - bl memcpy - mov r2, sp - adds r2, 0x20 - str r2, [sp, 0x30] - ldr r1, =gUnknown_0858BF50 - adds r0, r2, 0 - movs r2, 0x6 - bl memcpy - add r4, sp, 0x28 - mov r5, sp - adds r5, 0x2A - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80E3DFC - ldr r0, =gMain - ldrh r2, [r0, 0x30] - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - negs r0, r0 - lsrs r1, r0, 31 - movs r0, 0x80 - ands r0, r2 - adds r6, r4, 0 - cmp r0, 0 - beq _080E475E - movs r1, 0x2 -_080E475E: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _080E4768 - movs r1, 0x3 -_080E4768: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _080E4772 - movs r1, 0x4 -_080E4772: - ldrh r0, [r6] - mov r8, r0 - lsls r1, 1 - mov r2, sp - adds r7, r2, r1 - ldrh r0, [r7] - add r0, r8 - strh r0, [r6] - add r1, r10 - ldrh r0, [r1] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - bge _080E479E - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] -_080E479E: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _080E47B2 - movs r0, 0 - strh r0, [r6] -_080E47B2: - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _080E481E - movs r2, 0 - ldrsh r4, [r6, r2] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E47F0 - ldrh r0, [r5] - mov r1, r9 - strh r0, [r1, 0xC] - movs r2, 0 - ldrsh r0, [r5, r2] - lsls r0, 1 - ldr r1, [sp, 0x2C] - adds r0, r1, r0 - b _080E481A - .pool -_080E47F0: - mov r2, r8 - lsls r4, r2, 16 - asrs r4, 16 - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E481E - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080E4810 - mov r2, r9 - ldrh r0, [r2, 0xC] - b _080E481C -_080E4810: - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 1 - ldr r2, [sp, 0x30] - adds r0, r2, r0 -_080E481A: - ldrh r0, [r0] -_080E481C: - strh r0, [r5] -_080E481E: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E4860 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _080E483A - movs r0, 0x2 - strh r0, [r5] -_080E483A: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0x2 - ble _080E4846 - movs r0, 0 - strh r0, [r5] -_080E4846: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080E4856 - movs r0, 0x1 - mov r2, r9 - strh r0, [r2, 0xC] - b _080E4878 -_080E4856: - cmp r0, 0x2 - bne _080E4878 - mov r1, r9 - strh r0, [r1, 0xC] - b _080E4878 -_080E4860: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0 - bge _080E486C - movs r0, 0x3 - strh r0, [r5] -_080E486C: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - ble _080E4878 - movs r0, 0 - strh r0, [r5] -_080E4878: - movs r2, 0 - ldrsh r0, [r6, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl sub_80E3D78 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E46F0 - - thumb_func_start sub_80E4894 -sub_80E4894: @ 80E4894 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldr r2, [r1, 0x8] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4894 - - thumb_func_start sub_80E48E8 -sub_80E48E8: @ 80E48E8 - push {r4,r5,lr} - sub sp, 0x2C - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e34 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - add r0, sp, 0xC - bl StringCopy - ldr r0, [r5] - ldr r1, =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x8] - add r0, sp, 0xC - movs r2, 0xF - bl StringAppendN - ldr r0, [r5] - ldr r4, =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x8 - bl PrintTextOnWindow - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E48E8 - - thumb_func_start sub_80E4964 -sub_80E4964: @ 80E4964 - push {lr} - ldr r1, =gUnknown_0858BF58 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e2c - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4964 - - thumb_func_start sub_80E498C -sub_80E498C: @ 80E498C - push {lr} - ldr r1, =gUnknown_0858BF6C - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E498C - - thumb_func_start TaskDummy3 -TaskDummy3: @ 80E49B8 - bx lr - thumb_func_end TaskDummy3 - - thumb_func_start sub_80E49BC -sub_80E49BC: @ 80E49BC - push {r4,r5,lr} - sub sp, 0x10 - movs r4, 0 - ldr r1, =gText_MaleSymbol - add r0, sp, 0xC - bl StringCopy - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e36 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _080E4A0C - cmp r0, 0xFE - bne _080E49E6 - ldr r1, =gText_FemaleSymbol - add r0, sp, 0xC - bl StringCopy - movs r4, 0x1 -_080E49E6: - ldr r0, [r5] - ldr r1, =0x00001e13 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r4, 1 - adds r1, r4 - ldr r2, =gUnknown_0858BF74 - adds r1, r2 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0x68 - movs r3, 0x1 - bl box_print -_080E4A0C: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E49BC - - thumb_func_start sub_80E4A2C -sub_80E4A2C: @ 80E4A2C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gUnknown_0858BE40 - bl sub_80E3274 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 13 - adds r4, r5 - lsls r0, 24 - lsrs r0, 19 - adds r4, r0 - adds r4, r6 - ldrb r0, [r4] - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4A2C - - thumb_func_start sub_80E4A60 -sub_80E4A60: @ 80E4A60 - push {r4,r5,lr} - movs r2, 0 - ldr r0, =gUnknown_02039F94 - ldr r4, [r0] - ldr r3, =0x00001e28 - adds r1, r4, r3 - ldr r1, [r1] - ldrb r3, [r1, 0x1] - adds r5, r0, 0 - cmp r2, r3 - bcs _080E4A9A - movs r0, 0xC0 - lsls r0, 5 - adds r1, r4, r0 -_080E4A7C: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E4A90 - adds r0, r2, 0 - b _080E4AAA - .pool -_080E4A90: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _080E4A7C -_080E4A9A: - ldr r0, [r5] - ldr r1, =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_080E4AAA: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4A60 - - thumb_func_start sub_80E4AB4 -sub_80E4AB4: @ 80E4AB4 - push {lr} - ldr r0, =gUnknown_02039F94 - ldr r2, [r0] - ldr r1, =0x00001e28 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - ble _080E4AF0 - movs r0, 0xC0 - lsls r0, 5 - adds r3, r2, r0 -_080E4AD0: - asrs r2, r1, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080E4AE8 - lsrs r0, r1, 24 - b _080E4AF2 - .pool -_080E4AE8: - subs r0, r2, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - bgt _080E4AD0 -_080E4AF0: - movs r0, 0 -_080E4AF2: - pop {r1} - bx r1 - thumb_func_end sub_80E4AB4 - - thumb_func_start sub_80E4AF8 -sub_80E4AF8: @ 80E4AF8 - push {r4-r6,lr} - bl sub_80E4AB4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gUnknown_02039F94 - ldr r0, [r6] - movs r5, 0xC0 - lsls r5, 5 - adds r0, r5 - adds r0, r4 - movs r1, 0 - strb r1, [r0] - bl sub_80E4D10 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - adds r0, r5 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - bl sub_80E3F30 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080E4B38 - cmp r0, 0x2 - bne _080E4B42 -_080E4B38: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl sub_80E3948 -_080E4B42: - movs r0, 0x17 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4AF8 - - thumb_func_start sub_80E4B54 -sub_80E4B54: @ 80E4B54 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_80E3DFC - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl sub_80E4A2C - lsls r0, 24 - lsrs r0, 24 - bl sub_80E4BBC - bl sub_80E4D10 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x5 - bl PlaySE - bl sub_80E4AB4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldrb r1, [r1, 0x1] - subs r1, 0x1 - cmp r0, r1 - bne _080E4BB0 - movs r0, 0x1 - b _080E4BB2 - .pool -_080E4BB0: - movs r0, 0 -_080E4BB2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E4B54 - - thumb_func_start sub_80E4BBC -sub_80E4BBC: @ 80E4BBC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80E4A60 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - adds r1, r0 - strb r4, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4BBC - - thumb_func_start sub_80E4BE4 -sub_80E4BE4: @ 80E4BE4 - push {r4,r5,lr} - movs r2, 0 - ldr r1, =gUnknown_02039F94 - ldr r0, [r1] - ldr r4, =0x00001e28 - adds r0, r4 - ldr r0, [r0] - adds r5, r1, 0 - b _080E4C44 - .pool -_080E4C00: - ldr r1, [r1] - movs r0, 0xC0 - lsls r0, 5 - adds r3, r1, r0 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E4C34 - cmp r0, 0xFF - beq _080E4C34 - ldr r2, =0x00001e30 - adds r0, r1, r2 - ldr r0, [r0] - adds r1, r4 - ldr r1, [r1] - ldrb r2, [r1, 0x1] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r1, r3, 0 - bl StringCopyN - b _080E4C4A - .pool -_080E4C34: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, r5, 0 - ldr r0, [r1] - ldr r4, =0x00001e28 - adds r0, r4 - ldr r0, [r0] -_080E4C44: - ldrb r0, [r0, 0x1] - cmp r2, r0 - bcc _080E4C00 -_080E4C4A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4BE4 - - thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns -choose_name_or_words_screen_load_bg_tile_patterns: @ 80E4C54 - push {r4-r6,lr} - ldr r0, =gUnknown_08DD3838 - ldr r6, =gUnknown_02039F94 - ldr r1, [r6] - ldr r4, =0x00001810 - adds r1, r4 - bl LZ77UnCompWram - ldr r1, [r6] - adds r1, r4 - movs r5, 0xC0 - lsls r5, 3 - movs r0, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x3 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gUnknown_0858C1C8 - bl LoadSpriteSheets - ldr r0, =gUnknown_0858C230 - bl LoadSpritePalettes - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns - - thumb_func_start sub_80E4CB8 -sub_80E4CB8: @ 80E4CB8 - push {lr} - bl sub_80E45F8 - bl sub_80E3920 - pop {r0} - bx r0 - thumb_func_end sub_80E4CB8 - - thumb_func_start choose_name_or_words_screen_apply_bg_pals -choose_name_or_words_screen_apply_bg_pals: @ 80E4CC8 - push {lr} - ldr r0, =gUnknown_08DD3778 - movs r1, 0 - movs r2, 0xC0 - bl LoadPalette - ldr r0, =gUnknown_0858BD78 - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl stdpal_get - movs r1, 0xB0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_apply_bg_pals - - thumb_func_start sub_80E4CF8 -sub_80E4CF8: @ 80E4CF8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - pop {r0} - bx r0 - thumb_func_end sub_80E4CF8 - - thumb_func_start nullsub_10 -nullsub_10: @ 80E4D0C - bx lr - thumb_func_end nullsub_10 - - thumb_func_start sub_80E4D10 -sub_80E4D10: @ 80E4D10 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r7, =gUnknown_02039F94 - ldr r1, [r7] - ldr r2, =0x00001e28 - adds r0, r1, r2 - ldr r0, [r0] - ldrb r6, [r0, 0x1] - subs r2, 0x12 - adds r0, r1, r2 - ldrh r0, [r0] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, =0x00001e13 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - cmp r4, r6 - bcs _080E4DA6 - add r5, sp, 0xC - mov r10, r4 - ldr r0, =gExpandedPlaceholder_Empty - ldrb r0, [r0] - mov r8, r0 -_080E4D52: - ldr r0, [r7] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r5] - mov r2, r8 - strb r2, [r5, 0x1] - ldrb r0, [r5] - bl sub_80E503C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0x1 - bne _080E4D76 - movs r1, 0x2 -_080E4D76: - ldr r0, [r7] - ldr r2, =0x00001e13 - adds r0, r2 - ldrb r0, [r0] - lsls r3, r4, 3 - add r3, r9 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _080E4D52 -_080E4DA6: - bl sub_80E498C - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e13 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4D10 - - thumb_func_start sub_80E4DE4 -sub_80E4DE4: @ 80E4DE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gUnknown_0858BF88 - adds r0, r5, r0 - ldrb r1, [r0] - adds r0, r6, 0 - bl FillWindowPixelBuffer - movs r4, 0 - ldr r1, =gUnknown_0858BF8C - lsls r0, r5, 2 - adds r0, r1 - ldr r7, [r0] - ldr r0, =gUnknown_0858C198 - mov r8, r0 -_080E4E0E: - lsls r3, r4, 4 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r7, [sp] - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r4, 2 - lsls r1, r5, 4 - adds r0, r1 - add r0, r8 - ldr r0, [r0] - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0 - bl box_print - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080E4E0E - adds r0, r6, 0 - bl PutWindowTilemap - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4DE4 - - thumb_func_start sub_80E4E5C -sub_80E4E5C: @ 80E4E5C - push {r4-r6,lr} - movs r0, 0xA - bl GetGpuReg - adds r4, r0, 0 - movs r5, 0x3 - ands r4, r5 - movs r0, 0xC - bl GetGpuReg - ands r0, r5 - cmp r4, r0 - bls _080E4E8C - movs r5, 0x1 - movs r6, 0x1 - ldr r1, =gUnknown_02039F94 - ldr r0, [r1] - ldr r2, =0x00001e11 - b _080E4E96 - .pool -_080E4E8C: - movs r5, 0x2 - movs r6, 0x2 - ldr r1, =gUnknown_02039F94 - ldr r0, [r1] - ldr r2, =0x00001e12 -_080E4E96: - adds r0, r2 - ldrb r4, [r0] - adds r0, r1, 0 - ldr r1, =gUnknown_0858BF98 - ldr r0, [r0] - ldr r2, =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_80E4CF8 - bl sub_80E3254 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80E4DE4 - bl sub_80E3254 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl nullsub_10 - adds r0, r6, 0 - bl CopyBgTilemapBufferToVram - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4E5C - - thumb_func_start sub_80E4EF0 -sub_80E4EF0: @ 80E4EF0 - push {r4,r5,lr} - sub sp, 0x10 - ldr r1, =gUnknown_0858BFA4 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e15 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - add r1, sp, 0xC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, =gText_MoveOkBack - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl box_print - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4EF0 - - thumb_func_start sub_80E4F58 -sub_80E4F58: @ 80E4F58 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80E4F58 - - thumb_func_start sub_80E4F70 -sub_80E4F70: @ 80E4F70 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_80E4F70 - - thumb_func_start sub_80E4F84 -sub_80E4F84: @ 80E4F84 - push {lr} - ldr r0, =sub_80E4F94 - bl SetVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4F84 - - thumb_func_start sub_80E4F94 -sub_80E4F94: @ 80E4F94 - push {r4,r5,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e18 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r5] - ldr r1, =0x00001e1a - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - movs r0, 0xA - bl GetGpuReg - ldr r4, =0x0000fffc - adds r1, r4, 0 - ands r1, r0 - movs r0, 0xA - bl SetGpuReg - ldr r0, [r5] - ldr r1, =0x00001e1c - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xA - bl SetGpuRegBits - movs r0, 0xC - bl GetGpuReg - ands r4, r0 - movs r0, 0xC - adds r1, r4, 0 - bl SetGpuReg - ldr r0, [r5] - ldr r1, =0x00001e1e - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xC - bl SetGpuRegBits - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4F94 - - thumb_func_start sub_80E501C -sub_80E501C: @ 80E501C - push {lr} - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r0} - bx r0 - thumb_func_end sub_80E501C - - thumb_func_start sub_80E503C -sub_80E503C: @ 80E503C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r0, =gUnknown_0858BDC8 - ldrb r1, [r0] - adds r3, r0, 0 - cmp r1, 0xFF - beq _080E5066 - adds r1, r3, 0 -_080E5050: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r4, r0 - beq _080E5066 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E5050 -_080E5066: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E503C - - thumb_func_start sub_80E5074 -sub_80E5074: @ 80E5074 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E5074 - - thumb_func_start sub_80E509C -sub_80E509C: @ 80E509C - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E509C - - thumb_func_start sub_80E50C4 -sub_80E50C4: @ 80E50C4 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E50C4 - - thumb_func_start sub_80E50EC -sub_80E50EC: @ 80E50EC - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E50EC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s deleted file mode 100755 index d79f7df32..000000000 --- a/asm/new_menu_helpers.s +++ /dev/null @@ -1,1178 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8197184 -sub_8197184: @ 8197184 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0860EA6C - movs r2, 0x80 - lsls r2, 1 - lsls r4, 16 - lsrs r4, 16 - adds r3, r4, 0 - bl LoadBgTiles - ldr r0, =gUnknown_0860EA4C - lsls r5, 20 - lsrs r5, 16 - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197184 - - thumb_func_start sub_81971C4 -sub_81971C4: @ 81971C4 - push {lr} - bl sub_819645C - pop {r0} - bx r0 - thumb_func_end sub_81971C4 - - thumb_func_start sub_81971D0 -sub_81971D0: @ 81971D0 - push {lr} - ldr r0, =gUnknown_0860F098 - bl InitWindows - ldr r0, =gUnknown_0203CD8C - movs r1, 0xFF - strb r1, [r0] - ldr r0, =gUnknown_0203CD8D - strb r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81971D0 - - thumb_func_start sub_81971F4 -sub_81971F4: @ 81971F4 - push {lr} - bl FreeAllWindowBuffers - pop {r0} - bx r0 - thumb_func_end sub_81971F4 - - thumb_func_start sub_8197200 -sub_8197200: @ 8197200 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl DeactivateAllTextPrinters - bl sub_81973A4 - pop {r0} - bx r0 - thumb_func_end sub_8197200 - - thumb_func_start sub_8197224 -sub_8197224: @ 8197224 - push {lr} - bl RunTextPrinters - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8197224 - - thumb_func_start AddTextPrinterParametrized -@ u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor) -AddTextPrinterParametrized: @ 8197238 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r7, [sp, 0x28] - ldr r4, [sp, 0x2C] - mov r8, r4 - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - str r2, [sp] - mov r2, sp - movs r4, 0 - strb r0, [r2, 0x4] - mov r0, sp - strb r1, [r0, 0x5] - strb r4, [r0, 0x6] - movs r1, 0x1 - strb r1, [r0, 0x7] - strb r4, [r0, 0x8] - strb r1, [r0, 0x9] - strb r4, [r0, 0xA] - strb r4, [r0, 0xB] - mov r4, sp - ldrb r2, [r4, 0xC] - subs r1, 0x11 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r4, 0xC] - mov r0, sp - mov r2, r8 - lsls r2, 4 - movs r4, 0xF - strb r2, [r0, 0xC] - mov r2, sp - ands r5, r4 - ldrb r0, [r2, 0xD] - ands r1, r0 - orrs r1, r5 - strb r1, [r2, 0xD] - mov r0, sp - lsrs r6, 20 - ands r1, r4 - orrs r1, r6 - strb r1, [r0, 0xD] - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, sp - adds r1, r3, 0 - adds r2, r7, 0 - bl AddTextPrinter - lsls r0, 16 - lsrs r0, 16 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end AddTextPrinterParametrized - - thumb_func_start AddTextPrinterForMessage -@ void AddTextPrinterForMessage(u8 allowSkippingDelayWithButtonPress) -AddTextPrinterForMessage: @ 81972C4 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - ldr r3, =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterForMessage - - thumb_func_start AddTextPrinterForMessage_2 -@ void AddTextPrinterForMessage_2(u8 allowSkippingDelayWithButtonPress) -AddTextPrinterForMessage_2: @ 8197310 - push {r4,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterForMessage_2 - - thumb_func_start AddTextPrinterWithCustomSpeedForMessage -@ void AddTextPrinterWithCustomSpeedForMessage(u8 allowSkippingDelayWithButtonPress, u8 speed) -AddTextPrinterWithCustomSpeedForMessage: @ 819735C - push {r4,r5,lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, =gTextFlags - movs r5, 0x1 - ands r0, r5 - ldrb r2, [r4] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - ldr r2, =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterWithCustomSpeedForMessage - - thumb_func_start sub_81973A4 -sub_81973A4: @ 81973A4 - push {lr} - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - movs r1, 0x85 - lsls r1, 2 - movs r0, 0 - movs r2, 0xE0 - bl sub_809882C - pop {r0} - bx r0 - thumb_func_end sub_81973A4 - - thumb_func_start sub_81973C4 -sub_81973C4: @ 81973C4 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81975F4 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _081973F2 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_081973F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81973C4 - - thumb_func_start sub_81973FC -sub_81973FC: @ 81973FC - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81974A4 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _0819742A - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0819742A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81973FC - - thumb_func_start sub_8197434 -sub_8197434: @ 8197434 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_8197804 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _08197462 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197462: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197434 - - thumb_func_start sub_819746C -sub_819746C: @ 819746C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81977BC - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _0819749A - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0819749A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819746C - - thumb_func_start sub_81974A4 -sub_81974A4: @ 81974A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r4, r2, 0 - ldr r2, [sp, 0x3C] - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsls r4, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - movs r3, 0x85 - lsls r3, 2 - lsrs r0, r1, 24 - str r0, [sp, 0xC] - movs r2, 0xFF - lsls r2, 24 - adds r2, r1 - mov r8, r2 - lsrs r2, 24 - lsrs r0, r4, 24 - mov r9, r0 - movs r0, 0xFF - lsls r0, 24 - adds r4, r0 - lsrs r4, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - movs r6, 0xE - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r1, r3, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000215 - ldr r2, [sp, 0x10] - str r2, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000216 - ldr r3, [sp, 0xC] - ldr r2, [sp, 0x10] - adds r0, r3, r2 - lsls r0, 24 - mov r10, r0 - lsrs r2, r0, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - mov r5, r9 - ldr r0, [sp, 0x14] - add r0, r9 - cmp r9, r0 - bge _08197578 - mov r3, r8 - str r3, [sp, 0x18] - movs r6, 0x1 - movs r0, 0xE - mov r8, r0 -_0819753E: - lsls r4, r5, 24 - lsrs r4, 24 - str r6, [sp] - str r6, [sp, 0x4] - mov r2, r8 - str r2, [sp, 0x8] - adds r0, r7, 0 - ldr r1, =0x00000217 - ldr r3, [sp, 0x18] - lsrs r2, r3, 24 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - str r6, [sp] - str r6, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - adds r0, r7, 0 - ldr r1, =0x00000219 - mov r3, r10 - lsrs r2, r3, 24 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - adds r5, 0x1 - ldr r0, [sp, 0x14] - add r0, r9 - cmp r5, r0 - blt _0819753E -_08197578: - ldr r1, =0x0000021a - ldr r2, [sp, 0xC] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r4, [sp, 0x14] - add r4, r9 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - movs r6, 0xE - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x0000021b - ldr r0, [sp, 0x10] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl FillBgTilemapBufferRect - movs r1, 0x87 - lsls r1, 2 - ldr r3, [sp, 0xC] - ldr r0, [sp, 0x10] - adds r2, r3, r0 - lsls r2, 24 - lsrs r2, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81974A4 - - thumb_func_start sub_81975F4 -sub_81975F4: @ 81975F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - adds r6, r0, 0 - adds r5, r2, 0 - mov r8, r3 - ldr r2, [sp, 0x44] - lsls r6, 24 - lsrs r6, 24 - lsls r0, r1, 24 - lsls r5, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - ldr r1, =0x00000201 - lsrs r2, r0, 24 - str r2, [sp, 0xC] - movs r3, 0xFE - lsls r3, 24 - adds r2, r0, r3 - lsrs r2, 24 - str r2, [sp, 0x14] - lsrs r0, r5, 24 - mov r10, r0 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r3, 0xF - mov r9, r3 - str r3, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x14] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000203 - ldr r0, [sp, 0xC] - subs r0, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x18] - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - movs r1, 0x81 - lsls r1, 2 - mov r0, r8 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - str r0, [sp] - str r4, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0xC] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000205 - ldr r7, [sp, 0xC] - add r7, r8 - subs r0, r7, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x20] - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r6, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000206 - lsls r2, r7, 24 - lsrs r7, r2, 24 - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - adds r2, r7, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000207 - str r4, [sp] - movs r5, 0x5 - str r5, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x14] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000209 - add r8, r4 - mov r3, r8 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - str r5, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x18] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x0000020a - str r4, [sp] - str r5, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - adds r2, r7, 0 - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a01 - ldr r3, [sp, 0x10] - add r10, r3 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x14] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a03 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x18] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a04 - ldr r0, [sp, 0x1C] - str r0, [sp] - str r4, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0xC] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a05 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x20] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a06 - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - adds r2, r7, 0 - mov r3, r10 - bl FillBgTilemapBufferRect - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81975F4 - - thumb_func_start sub_81977BC -sub_81977BC: @ 81977BC - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFF - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0x80 - lsls r2, 18 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81977BC - - thumb_func_start sub_8197804 -sub_8197804: @ 8197804 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFD - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0xC0 - lsls r2, 19 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8197804 - - thumb_func_start SetStandardWindowBorderStyle -@ void SetStandardWindowBorderStyle(u8 windowId, bool copyToVram) -SetStandardWindowBorderStyle: @ 8197854 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x85 - lsls r2, 2 - movs r3, 0xE - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end SetStandardWindowBorderStyle - - thumb_func_start sub_819786C -sub_819786C: @ 819786C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r6, 0x80 - lsls r6, 2 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0xF - bl sub_8197B1C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819786C - - thumb_func_start sub_819789C -sub_819789C: @ 819789C - push {lr} - ldr r0, =gUnknown_0860F074 - movs r1, 0xE0 - movs r2, 0x14 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_819789C - - thumb_func_start sub_81978B0 -sub_81978B0: @ 81978B0 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_0860F074 - movs r2, 0x14 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_81978B0 - - thumb_func_start sub_81978C8 -sub_81978C8: @ 81978C8 - ldr r0, =gUnknown_0860F074 - bx lr - .pool - thumb_func_end sub_81978C8 - - thumb_func_start sub_81978D0 -sub_81978D0: @ 81978D0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _081978DC - movs r1, 0 -_081978DC: - ldr r0, =gUnknown_0860F074 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81978D0 - - thumb_func_start DisplayItemMessageOnField -@ void DisplayItemMessageOnField(u8 taskId, u8 *str, void ( *callback)(u8 taskId)) -DisplayItemMessageOnField: @ 81978EC - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_81973A4 - bl sav2_get_text_speed - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0xF - bl DisplayMessageAndContinueTask - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DisplayItemMessageOnField - - thumb_func_start sub_8197930 -sub_8197930: @ 8197930 - push {lr} - ldr r0, =gUnknown_0860F0A8 - movs r1, 0x85 - lsls r1, 2 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197930 - - thumb_func_start sub_8197948 -sub_8197948: @ 8197948 - push {lr} - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_0860F0A8 - movs r1, 0x85 - lsls r1, 2 - movs r2, 0xE - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197948 - - thumb_func_start sub_8197964 -sub_8197964: @ 8197964 - push {lr} - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08197988 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsls r0, 29 - lsrs r0, 29 - b _0819798A - .pool -_08197988: - movs r0, 0x1 -_0819798A: - pop {r1} - bx r1 - thumb_func_end sub_8197964 - - thumb_func_start sav2_get_text_speed -sav2_get_text_speed: @ 8197990 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x14] - lsls r0, r1, 29 - lsrs r0, 29 - cmp r0, 0x2 - bls _081979AC - movs r0, 0x8 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x14] -_081979AC: - bl sub_8197964 - ldr r1, =gUnknown_0860F094 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sav2_get_text_speed - - thumb_func_start sub_81979C4 -sub_81979C4: @ 81979C4 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r4, =gUnknown_0203CD8C - ldrb r0, [r4] - cmp r0, 0xFF - bne _081979F6 - lsls r0, r1, 25 - movs r1, 0x80 - lsls r1, 18 - adds r0, r1 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - ldr r0, =0x00000139 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x16 - movs r2, 0x1 - movs r3, 0x7 - bl sub_8198AA4 - strb r0, [r4] -_081979F6: - ldrb r0, [r4] - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81979C4 - - thumb_func_start GetStartMenuWindowId -GetStartMenuWindowId: @ 8197A08 - ldr r0, =gUnknown_0203CD8C - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetStartMenuWindowId - - thumb_func_start remove_start_menu_window_maybe -remove_start_menu_window_maybe: @ 8197A14 - push {r4,lr} - ldr r4, =gUnknown_0203CD8C - ldrb r0, [r4] - cmp r0, 0xFF - beq _08197A26 - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_08197A26: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end remove_start_menu_window_maybe - - thumb_func_start sub_8197A30 -sub_8197A30: @ 8197A30 - movs r0, 0x80 - lsls r0, 2 - bx lr - thumb_func_end sub_8197A30 - - thumb_func_start sub_8197A38 -sub_8197A38: @ 8197A38 - movs r0, 0x85 - lsls r0, 2 - bx lr - thumb_func_end sub_8197A38 - - thumb_func_start AddMapNamePopUpWindow -AddMapNamePopUpWindow: @ 8197A40 - push {r4,lr} - sub sp, 0xC - ldr r4, =gUnknown_0203CD8D - ldrb r0, [r4] - cmp r0, 0xFF - bne _08197A66 - movs r0, 0x3 - str r0, [sp] - movs r0, 0xE - str r0, [sp, 0x4] - adds r0, 0xF9 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xA - bl sub_8198AA4 - strb r0, [r4] -_08197A66: - ldrb r0, [r4] - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end AddMapNamePopUpWindow - - thumb_func_start GetMapNamePopUpWindowId -GetMapNamePopUpWindowId: @ 8197A74 - ldr r0, =gUnknown_0203CD8D - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetMapNamePopUpWindowId - - thumb_func_start RemoveMapNamePopUpWindow -RemoveMapNamePopUpWindow: @ 8197A80 - push {r4,lr} - ldr r4, =gUnknown_0203CD8D - ldrb r0, [r4] - cmp r0, 0xFF - beq _08197A92 - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_08197A92: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end RemoveMapNamePopUpWindow - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/option_menu.s b/asm/option_menu.s deleted file mode 100644 index 1c554e26f..000000000 --- a/asm/option_menu.s +++ /dev/null @@ -1,1694 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BA4B0 -sub_80BA4B0: @ 80BA4B0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80BA4B0 - - thumb_func_start sub_80BA4C8 -sub_80BA4C8: @ 80BA4C8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80BA4C8 - - thumb_func_start CB2_OptionsMenu -CB2_OptionsMenu: @ 80BA4DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xB - bhi _080BA538 - lsls r0, 2 - ldr r1, =_080BA508 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BA508: - .4byte _080BA538 - .4byte _080BA54C - .4byte _080BA69C - .4byte _080BA6BC - .4byte _080BA6E0 - .4byte _080BA718 - .4byte _080BA728 - .4byte _080BA740 - .4byte _080BA748 - .4byte _080BA760 - .4byte _080BA774 - .4byte _080BA80C -_080BA538: - movs r0, 0 - bl SetVBlankCallback - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA54C: - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r1, sp, 0x8 - mov r8, r1 - add r2, sp, 0x4 - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080BA56A: - strh r6, [r2] - add r0, sp, 0x4 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080BA56A - strh r6, [r2] - add r2, sp, 0x4 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x8] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x4 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0855C698 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, =gUnknown_0855C680 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x1 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x23 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xC1 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x4 - bl SetGpuReg - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - b _080BA7EC - .pool -_080BA69C: - bl ResetPaletteFade - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA6BC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl sub_8098758 - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r3, 0xD1 - lsls r3, 1 - movs r0, 0x1 - bl LoadBgTiles - b _080BA7EC - .pool -_080BA6E0: - ldr r0, =gUnknown_0855C6A0 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl sub_8098758 - ldr r0, [r0, 0x4] - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA718: - ldr r0, =gUnknown_0855C604 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - b _080BA7EC - .pool -_080BA728: - movs r0, 0 - bl PutWindowTilemap - bl sub_80BB0D0 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA740: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _080BA7F4 -_080BA748: - movs r0, 0x1 - bl PutWindowTilemap - bl sub_80BB104 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080BA760: - bl sub_80BB154 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA774: - ldr r0, =sub_80BA83C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r0, [r2, 0x14] - lsls r0, 29 - lsrs r0, 29 - strh r0, [r4, 0xA] - ldrb r1, [r2, 0x15] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r4, 0xC] - ldrb r1, [r2, 0x15] - lsls r1, 30 - lsrs r1, 31 - strh r1, [r4, 0xE] - ldrb r1, [r2, 0x15] - lsls r1, 31 - lsrs r1, 31 - strh r1, [r4, 0x10] - ldrb r1, [r2, 0x13] - strh r1, [r4, 0x12] - ldrb r1, [r2, 0x14] - lsrs r1, 3 - strh r1, [r4, 0x14] - bl sub_80BAC38 - ldrb r0, [r4, 0xC] - bl sub_80BAD08 - ldrb r0, [r4, 0xE] - bl sub_80BAD84 - ldrb r0, [r4, 0x10] - bl sub_80BAE08 - ldrb r0, [r4, 0x12] - bl sub_80BB028 - ldrb r0, [r4, 0x14] - bl sub_80BAF0C - ldrb r0, [r4, 0x8] - bl sub_80BAB38 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_080BA7EC: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_080BA7F4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080BA828 - .pool -_080BA80C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_80BA4C8 - bl SetVBlankCallback - ldr r0, =sub_80BA4B0 - bl SetMainCallback2 -_080BA828: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end CB2_OptionsMenu - - thumb_func_start sub_80BA83C -sub_80BA83C: @ 80BA83C - 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 _080BA85C - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BA86C - str r0, [r1] -_080BA85C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA83C - - thumb_func_start sub_80BA86C -sub_80BA86C: @ 80BA86C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080BA89C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x6 - beq _080BA892 - b _080BAA5A -_080BA892: - b _080BA8AE - .pool -_080BA89C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BA8BC - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 -_080BA8AE: - ldr r0, =sub_80BAA64 - str r0, [r1] - b _080BAA5A - .pool -_080BA8BC: - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080BA8EC - ldr r1, =gTasks - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r5, [r3, 0x8] - movs r6, 0x8 - ldrsh r0, [r3, r6] - adds r7, r1, 0 - cmp r0, 0 - ble _080BA8E8 - subs r0, r5, 0x1 - b _080BA90C - .pool -_080BA8E8: - movs r0, 0x6 - b _080BA90C -_080BA8EC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BA924 - ldr r1, =gTasks - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r5, [r3, 0x8] - movs r7, 0x8 - ldrsh r0, [r3, r7] - adds r7, r1, 0 - cmp r0, 0x5 - bgt _080BA914 - adds r0, r5, 0x1 -_080BA90C: - strh r0, [r3, 0x8] - b _080BA916 - .pool -_080BA914: - strh r6, [r3, 0x8] -_080BA916: - adds r0, r2, r4 - lsls r0, 3 - adds r0, r7 - ldrb r0, [r0, 0x8] - bl sub_80BAB38 - b _080BAA5A -_080BA924: - ldr r0, =gTasks - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - adds r7, r0, 0 - cmp r1, 0x5 - bls _080BA93A - b _080BAA5A -_080BA93A: - lsls r0, r1, 2 - ldr r1, =_080BA94C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BA94C: - .4byte _080BA964 - .4byte _080BA98A - .4byte _080BA9B0 - .4byte _080BA9D6 - .4byte _080BA9FC - .4byte _080BAA22 -_080BA964: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0xA] - adds r0, r5, 0 - bl sub_80BABDC - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0xA] - movs r6, 0xA - ldrsh r0, [r4, r6] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAC38 - b _080BAA46 -_080BA98A: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0xC] - adds r0, r5, 0 - bl sub_80BACE0 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0xC] - movs r7, 0xC - ldrsh r0, [r4, r7] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAD08 - b _080BAA46 -_080BA9B0: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0xE] - adds r0, r5, 0 - bl sub_80BAD5C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAD84 - b _080BAA46 -_080BA9D6: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0x10] - adds r0, r5, 0 - bl sub_80BADD8 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAE08 - b _080BAA46 -_080BA9FC: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0x12] - adds r0, r5, 0 - bl sub_80BAFCC - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0x12] - movs r6, 0x12 - ldrsh r0, [r4, r6] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BB028 - b _080BAA46 -_080BAA22: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0x14] - adds r0, r5, 0 - bl sub_80BAE5C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0x14] - movs r7, 0x14 - ldrsh r0, [r4, r7] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAF0C -_080BAA46: - ldr r1, =gUnknown_02039B48 - ldrb r0, [r1] - cmp r0, 0 - beq _080BAA5A - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram -_080BAA5A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA86C - - thumb_func_start sub_80BAA64 -sub_80BAA64: @ 80BAA64 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSaveBlock2Ptr - ldr r3, [r6] - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0x7 - ldrb r1, [r4, 0xA] - ands r1, r0 - ldrb r2, [r3, 0x14] - movs r0, 0x8 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x14] - ldr r3, [r6] - movs r5, 0x1 - ldrb r1, [r4, 0xC] - ands r1, r5 - lsls r1, 2 - ldrb r2, [r3, 0x15] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - ldr r3, [r6] - ldrb r1, [r4, 0xE] - ands r1, r5 - lsls r1, 1 - ldrb r2, [r3, 0x15] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - ldr r3, [r6] - ldrb r1, [r4, 0x10] - ands r1, r5 - ldrb r2, [r3, 0x15] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - ldr r1, [r6] - ldrh r0, [r4, 0x12] - movs r5, 0 - strb r0, [r1, 0x13] - ldr r3, [r6] - ldrb r1, [r4, 0x14] - lsls r1, 3 - ldrb r2, [r3, 0x14] - movs r0, 0x7 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x14] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80BAB08 - str r0, [r4] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAA64 - - thumb_func_start sub_80BAB08 -sub_80BAB08: @ 80BAB08 - 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 _080BAB2C - adds r0, r2, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080BAB2C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAB08 - - thumb_func_start sub_80BAB38 -sub_80BAB38: @ 80BAB38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x87 - lsls r1, 5 - movs r0, 0x40 - bl SetGpuReg - lsls r4, 4 - adds r1, r4, 0 - adds r1, 0x28 - lsls r1, 8 - adds r4, 0x38 - orrs r1, r4 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80BAB38 - - thumb_func_start sub_80BAB68 -sub_80BAB68: @ 80BAB68 - push {r4-r6,lr} - sub sp, 0x1C - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r2, 0 - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - beq _080BABA0 -_080BAB84: - mov r0, sp - adds r0, r2 - adds r0, 0xC - strb r1, [r0] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - beq _080BABA0 - cmp r2, 0xE - bls _080BAB84 -_080BABA0: - cmp r3, 0 - beq _080BABAE - add r1, sp, 0xC - movs r0, 0x4 - strb r0, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x5] -_080BABAE: - mov r1, sp - adds r1, r2 - adds r1, 0xC - movs r0, 0xFF - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - add r2, sp, 0xC - adds r3, r6, 0 - bl PrintTextOnWindow - add sp, 0x1C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BAB68 - - thumb_func_start sub_80BABDC -sub_80BABDC: @ 80BABDC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAC08 - cmp r3, 0x1 - bhi _080BAC00 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BAC02 - .pool -_080BAC00: - movs r3, 0 -_080BAC02: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAC08: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BAC2C - cmp r3, 0 - beq _080BAC24 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BAC26 - .pool -_080BAC24: - movs r3, 0x2 -_080BAC26: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAC2C: - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BABDC - - thumb_func_start sub_80BAC38 -sub_80BAC38: @ 80BAC38 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r4, =gText_TextSpeedSlow - mov r0, sp - ldrb r3, [r0] - adds r0, r4, 0 - movs r1, 0x68 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - ldr r0, =gText_TextSpeedMid - mov r8, r0 - movs r0, 0x1 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - adds r5, r0, 0 - ldr r6, =gText_TextSpeedFast - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - subs r5, 0x5E - subs r4, r5 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r4, 1 - adds r4, 0x68 - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x2] - adds r0, r6, 0 - movs r2, 0 - bl sub_80BAB68 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAC38 - - thumb_func_start sub_80BACE0 -sub_80BACE0: @ 80BACE0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080BACFA - movs r1, 0x1 - eors r2, r1 - ldr r0, =gUnknown_02039B48 - strb r1, [r0] -_080BACFA: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BACE0 - - thumb_func_start sub_80BAD08 -sub_80BAD08: @ 80BAD08 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gText_BattleSceneOn - mov r1, sp - ldrb r3, [r1] - movs r1, 0x68 - movs r2, 0x10 - bl sub_80BAB68 - ldr r4, =gText_BattleSceneOff - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - adds r0, r4, 0 - movs r2, 0x10 - bl sub_80BAB68 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAD08 - - thumb_func_start sub_80BAD5C -sub_80BAD5C: @ 80BAD5C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080BAD76 - movs r1, 0x1 - eors r2, r1 - ldr r0, =gUnknown_02039B48 - strb r1, [r0] -_080BAD76: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BAD5C - - thumb_func_start sub_80BAD84 -sub_80BAD84: @ 80BAD84 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gText_BattleStyleShift - mov r1, sp - ldrb r3, [r1] - movs r1, 0x68 - movs r2, 0x20 - bl sub_80BAB68 - ldr r4, =gText_BattleStyleSet - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - adds r0, r4, 0 - movs r2, 0x20 - bl sub_80BAB68 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAD84 - - thumb_func_start sub_80BADD8 -sub_80BADD8: @ 80BADD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080BADF8 - movs r4, 0x1 - eors r5, r4 - adds r0, r5, 0 - bl SetPokemonCryStereo - ldr r0, =gUnknown_02039B48 - strb r4, [r0] -_080BADF8: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BADD8 - - thumb_func_start sub_80BAE08 -sub_80BAE08: @ 80BAE08 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gText_SoundMono - mov r1, sp - ldrb r3, [r1] - movs r1, 0x68 - movs r2, 0x30 - bl sub_80BAB68 - ldr r4, =gText_SoundStereo - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - adds r0, r4, 0 - movs r2, 0x30 - bl sub_80BAB68 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAE08 - - thumb_func_start sub_80BAE5C -sub_80BAE5C: @ 80BAE5C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAEAE - cmp r4, 0x12 - bhi _080BAE80 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - b _080BAE82 - .pool -_080BAE80: - movs r4, 0 -_080BAE82: - adds r0, r4, 0 - bl sub_8098758 - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r3, 0xD1 - lsls r3, 1 - movs r0, 0x1 - bl LoadBgTiles - adds r0, r4, 0 - bl sub_8098758 - ldr r0, [r0, 0x4] - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAEAE: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BAEFE - cmp r4, 0 - beq _080BAED0 - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - b _080BAED2 - .pool -_080BAED0: - movs r4, 0x13 -_080BAED2: - adds r0, r4, 0 - bl sub_8098758 - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r3, 0xD1 - lsls r3, 1 - movs r0, 0x1 - bl LoadBgTiles - adds r0, r4, 0 - bl sub_8098758 - ldr r0, [r0, 0x4] - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAEFE: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BAE5C - - thumb_func_start sub_80BAF0C -sub_80BAF0C: @ 80BAF0C - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r6, r0, 24 - movs r5, 0 - ldr r1, =gText_FrameTypeNumber - ldrb r0, [r1] - ldr r7, =gText_FrameType - cmp r0, 0xFF - beq _080BAF44 - adds r2, r1, 0 -_080BAF28: - mov r0, sp - adds r1, r0, r5 - adds r0, r5, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r5, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080BAF44 - cmp r5, 0x5 - bls _080BAF28 -_080BAF44: - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - adds r2, r0, 0 - lsls r0, r2, 24 - cmp r0, 0 - beq _080BAF80 - mov r0, sp - adds r1, r0, r5 - adds r0, r2, 0 - adds r0, 0xA1 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r1, sp - adds r4, r1, r5 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4] - b _080BAF9E - .pool -_080BAF80: - mov r0, sp - adds r4, r0, r5 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, sp - adds r1, r0, r5 - movs r0, 0x77 - strb r0, [r1] -_080BAF9E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, sp - adds r1, r0, r5 - movs r0, 0xFF - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x68 - movs r2, 0x50 - movs r3, 0 - bl sub_80BAB68 - mov r0, sp - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0x1 - bl sub_80BAB68 - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BAF0C - - thumb_func_start sub_80BAFCC -sub_80BAFCC: @ 80BAFCC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAFF8 - cmp r3, 0x1 - bhi _080BAFF0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BAFF2 - .pool -_080BAFF0: - movs r3, 0 -_080BAFF2: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAFF8: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BB01C - cmp r3, 0 - beq _080BB014 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BB016 - .pool -_080BB014: - movs r3, 0x2 -_080BB016: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BB01C: - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BAFCC - - thumb_func_start sub_80BB028 -sub_80BB028: @ 80BB028 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r4, =gText_ButtonTypeNormal - mov r0, sp - ldrb r3, [r0] - adds r0, r4, 0 - movs r1, 0x68 - movs r2, 0x40 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - ldr r0, =gText_ButtonTypeLR - mov r8, r0 - movs r0, 0x1 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - adds r5, r0, 0 - ldr r6, =gText_ButtonTypeLEqualsA - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - subs r5, 0x5E - subs r4, r5 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r4, 1 - adds r4, 0x68 - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - mov r0, r8 - adds r1, r4, 0 - movs r2, 0x40 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x2] - adds r0, r6, 0 - movs r2, 0x40 - bl sub_80BAB68 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB028 - - thumb_func_start sub_80BB0D0 -sub_80BB0D0: @ 80BB0D0 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_Option - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB0D0 - - thumb_func_start sub_80BB104 -sub_80BB104: @ 80BB104 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - ldr r5, =gUnknown_0855C664 -_080BB114: - lsls r0, r4, 2 - adds r0, r5 - ldr r2, [r0] - lsls r0, r4, 4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080BB114 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB104 - - thumb_func_start sub_80BB154 -sub_80BB154: @ 80BB154 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r5, 0x7 - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD1 - lsls r1, 1 - movs r2, 0x1 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0x1B - mov r8, r0 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a3 - movs r2, 0x2 - movs r3, 0 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD2 - lsls r1, 1 - movs r2, 0x1C - movs r3, 0 - bl FillBgTilemapBufferRect - str r4, [sp] - movs r6, 0x2 - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a5 - movs r2, 0x1 - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a7 - movs r2, 0x1C - movs r3, 0x1 - bl FillBgTilemapBufferRect - movs r7, 0xD4 - lsls r7, 1 - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0x3 - bl FillBgTilemapBufferRect - ldr r0, =0x000001a9 - mov r10, r0 - mov r0, r8 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r10 - movs r2, 0x2 - movs r3, 0x3 - bl FillBgTilemapBufferRect - movs r0, 0xD5 - lsls r0, 1 - mov r9, r0 - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r9 - movs r2, 0x1C - movs r3, 0x3 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD1 - lsls r1, 1 - movs r2, 0x1 - movs r3, 0x4 - bl FillBgTilemapBufferRect - movs r0, 0x1A - mov r8, r0 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a3 - movs r2, 0x2 - movs r3, 0x4 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD2 - lsls r1, 1 - movs r2, 0x1C - movs r3, 0x4 - bl FillBgTilemapBufferRect - str r4, [sp] - movs r6, 0x12 - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a5 - movs r2, 0x1 - movs r3, 0x5 - bl FillBgTilemapBufferRect - str r4, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a7 - movs r2, 0x1C - movs r3, 0x5 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0x13 - bl FillBgTilemapBufferRect - mov r0, r8 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r10 - movs r2, 0x2 - movs r3, 0x13 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r9 - movs r2, 0x1C - movs r3, 0x13 - bl FillBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB154 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom4.s b/asm/overworld.s index bf682fc51..492fcd2cb 100644 --- a/asm/rom4.s +++ b/asm/overworld.s @@ -8,7 +8,7 @@ thumb_func_start sub_8084620 sub_8084620: @ 8084620 push {r4,lr} - ldr r0, =gUnknown_08271857 + ldr r0, =EverGrandeCity_HallOfFame_EventScript_271857 bl ScriptContext2_RunNewScript ldr r0, =gSaveBlock1Ptr ldr r4, [r0] @@ -21,7 +21,7 @@ sub_8084620: @ 8084620 lsrs r1, 1 adds r0, r4, 0 bl SetMoney - bl sp000_heal_pokemon + bl HealPlayerParty bl sub_8084720 bl copy_saved_warp3_bank_and_enter_x_to_warp1 bl warp_in @@ -50,8 +50,8 @@ flag_var_implications_of_teleport_: @ 8084660 .pool thumb_func_end flag_var_implications_of_teleport_ - thumb_func_start sub_808469C -sub_808469C: @ 808469C + thumb_func_start Overworld_ResetStateAfterTeleport +Overworld_ResetStateAfterTeleport: @ 808469C push {lr} bl player_avatar_init_params_reset ldr r0, =0x0000088b @@ -64,12 +64,12 @@ sub_808469C: @ 808469C bl FlagClear ldr r0, =0x00000888 bl FlagClear - ldr r0, =gUnknown_08271862 + ldr r0, =EverGrandeCity_HallOfFame_EventScript_271862 bl ScriptContext2_RunNewScript pop {r0} bx r0 .pool - thumb_func_end sub_808469C + thumb_func_end Overworld_ResetStateAfterTeleport thumb_func_start flagmods_08054D70 flagmods_08054D70: @ 80846E4 @@ -130,7 +130,7 @@ sub_8084788: @ 8084788 ldr r0, =0x0000088c bl FlagClear bl sub_8085B2C - bl wild_pokemon_reroll + bl ResetCyclingRoadChallengeData bl UpdateLocationHistoryForRoamer bl RoamerMoveToOtherLocationSet pop {r0} @@ -238,8 +238,8 @@ _08084854: .pool thumb_func_end sav12_xor_set - thumb_func_start ApplyNewEncyprtionKeyToGameStats -ApplyNewEncyprtionKeyToGameStats: @ 8084864 + thumb_func_start ApplyNewEncryptionKeyToGameStats +ApplyNewEncryptionKeyToGameStats: @ 8084864 push {r4-r6,lr} adds r5, r0, 0 movs r4, 0 @@ -251,7 +251,7 @@ _0808486C: ldr r0, [r6] adds r0, r1 adds r1, r5, 0 - bl ApplyNewEncyprtionKeyToWord + bl ApplyNewEncryptionKeyToWord adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -261,7 +261,7 @@ _0808486C: pop {r0} bx r0 .pool - thumb_func_end ApplyNewEncyprtionKeyToGameStats + thumb_func_end ApplyNewEncryptionKeyToGameStats thumb_func_start CopyFieldObjectTemplatesToSav1 @ void CopyFieldObjectTemplatesToSav1() @@ -419,7 +419,7 @@ get_mapdata_header: @ 80849A8 b _080849C6 .pool _080849BC: - ldr r0, =gUnknown_08481DD4 + ldr r0, =gMapAttributes subs r1, 0x1 lsls r1, 2 adds r1, r0 @@ -535,7 +535,7 @@ _08084A8A: get_mapheader_by_bank_and_number: @ 8084A90 lsls r0, 16 lsls r1, 16 - ldr r2, =gUnknown_08486578 + ldr r2, =gMapGroups lsrs r0, 14 adds r0, r2 ldr r0, [r0] @@ -841,7 +841,7 @@ sub_8084CCC: @ 8084CCC sub sp, 0x4 lsls r0, 24 lsrs r0, 24 - bl sub_8122CBC + bl GetHealLocationPointer adds r4, r0, 0 cmp r4, 0 beq _08084CFA @@ -885,7 +885,7 @@ Overworld_SetHealLocationWarp: @ 8084D1C sub sp, 0x8 lsls r0, 24 lsrs r0, 24 - bl sub_8122CBC + bl GetHealLocationPointer adds r5, r0, 0 cmp r5, 0 beq _08084D50 @@ -1187,7 +1187,7 @@ sub_8084F6C: @ 8084F6C sub sp, 0x8 lsls r0, 24 lsrs r0, 24 - bl sub_8122CBC + bl GetHealLocationPointer adds r5, r0, 0 cmp r5, 0 beq _08084FA0 @@ -1377,16 +1377,16 @@ _080850C8: bl CopyFieldObjectTemplatesToSav1 bl TrySetMapSaveWarpStatus bl ClearTempFieldEventData - bl wild_pokemon_reroll + bl ResetCyclingRoadChallengeData bl prev_quest_postbuffer_cursor_backup_reset adds r0, r6, 0 adds r1, r5, 0 - bl sub_80B21B4 + bl TryUpdateRandomTrainerRematches bl DoTimeBasedEvents - bl sub_80AEDBC + bl SetSav1WeatherFromCurrMapHeader bl sub_8085B2C bl update_sav1_flash_used_on_map - bl sav1_reset_battle_music_maybe + bl Overworld_ClearSavedMusic bl mapheader_run_script_with_tag_x3 bl not_trainer_hill_battle_pyramid ldr r0, [r4] @@ -1465,7 +1465,7 @@ _080851A2: bl sub_80EB218 bl TrySetMapSaveWarpStatus bl ClearTempFieldEventData - bl wild_pokemon_reroll + bl ResetCyclingRoadChallengeData bl prev_quest_postbuffer_cursor_backup_reset ldr r0, =gSaveBlock1Ptr ldr r1, [r0] @@ -1478,12 +1478,12 @@ _080851A2: asrs r1, 24 lsls r1, 16 lsrs r1, 16 - bl sub_80B21B4 + bl TryUpdateRandomTrainerRematches cmp r7, 0x1 beq _080851EE bl DoTimeBasedEvents _080851EE: - bl sub_80AEDBC + bl SetSav1WeatherFromCurrMapHeader bl sub_8085B2C cmp r5, 0 beq _08085200 @@ -1491,7 +1491,7 @@ _080851EE: bl FlagClear _08085200: bl update_sav1_flash_used_on_map - bl sav1_reset_battle_music_maybe + bl Overworld_ClearSavedMusic bl mapheader_run_script_with_tag_x3 bl UpdateLocationHistoryForRoamer bl RoamerMoveToOtherLocationSet @@ -1880,15 +1880,15 @@ _080854FE: .pool thumb_func_end Overworld_SetFlashLevel - thumb_func_start sav1_get_flash_used_on_map -sav1_get_flash_used_on_map: @ 8085514 + thumb_func_start Overworld_GetFlashLevel +Overworld_GetFlashLevel: @ 8085514 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x30 ldrb r0, [r0] bx lr .pool - thumb_func_end sav1_get_flash_used_on_map + thumb_func_end Overworld_GetFlashLevel thumb_func_start sub_8085524 sub_8085524: @ 8085524 @@ -2133,7 +2133,7 @@ sav1_map_get_music: @ 80856D4 lsls r0, 5 cmp r1, r0 bne _080856FC - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r0, 24 cmp r0, 0x8 @@ -2212,8 +2212,8 @@ call_ResetMapMusic: @ 8085778 bx r0 thumb_func_end call_ResetMapMusic - thumb_func_start sub_8085784 -sub_8085784: @ 8085784 + thumb_func_start Overworld_PlaySpecialMapMusic +Overworld_PlaySpecialMapMusic: @ 8085784 push {r4,lr} bl sav1_map_get_music lsls r0, 16 @@ -2261,7 +2261,7 @@ _080857E8: pop {r0} bx r0 .pool - thumb_func_end sub_8085784 + thumb_func_end Overworld_PlaySpecialMapMusic thumb_func_start Overworld_SetSavedMusic Overworld_SetSavedMusic: @ 80857F4 @@ -2272,15 +2272,15 @@ Overworld_SetSavedMusic: @ 80857F4 .pool thumb_func_end Overworld_SetSavedMusic - thumb_func_start sav1_reset_battle_music_maybe -sav1_reset_battle_music_maybe: @ 8085800 + thumb_func_start Overworld_ClearSavedMusic +Overworld_ClearSavedMusic: @ 8085800 ldr r0, =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0 strh r0, [r1, 0x2C] bx lr .pool - thumb_func_end sav1_reset_battle_music_maybe + thumb_func_end Overworld_ClearSavedMusic thumb_func_start sub_8085810 sub_8085810: @ 8085810 @@ -2668,19 +2668,19 @@ sub_8085B2C: @ 8085B2C lsls r0, 6 cmp r1, r0 bne _08085B5C - bl sub_813793C + bl IsMirageIslandPresent lsls r0, 24 cmp r0, 0 bne _08085B5C ldr r1, =gUnknown_02032306 movs r0, 0x1 strb r0, [r1] - bl sub_80B582C + bl GetLocalWaterMon b _08085B62 .pool _08085B5C: ldr r0, =gUnknown_02032306 - bl wild_pokemon_rand_for_map + bl GetLocalWildMon _08085B62: ldr r1, =gUnknown_02032304 strh r0, [r1] @@ -2772,8 +2772,8 @@ _08085BF0: bx r1 thumb_func_end is_light_level_1_2_3_5_or_6 - thumb_func_start is_light_level_1_2_3_or_6 -is_light_level_1_2_3_or_6: @ 8085BF4 + thumb_func_start Overworld_MapTypeAllowsTeleportAndFly +Overworld_MapTypeAllowsTeleportAndFly: @ 8085BF4 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2793,7 +2793,7 @@ _08085C0E: _08085C10: pop {r1} bx r1 - thumb_func_end is_light_level_1_2_3_or_6 + thumb_func_end Overworld_MapTypeAllowsTeleportAndFly thumb_func_start is_light_level_8_or_9 is_light_level_8_or_9: @ 8085C14 @@ -2856,8 +2856,8 @@ sav1_map_get_name: @ 8085C58 .pool thumb_func_end sav1_map_get_name - thumb_func_start sav1_map_get_battletype -sav1_map_get_battletype: @ 8085C80 + thumb_func_start GetCurrentMapBattleScene +GetCurrentMapBattleScene: @ 8085C80 push {lr} ldr r0, =gSaveBlock1Ptr ldr r1, [r0] @@ -2875,7 +2875,7 @@ sav1_map_get_battletype: @ 8085C80 pop {r1} bx r1 .pool - thumb_func_end sav1_map_get_battletype + thumb_func_end GetCurrentMapBattleScene thumb_func_start overworld_bg_setup @ void overworld_bg_setup() @@ -3055,9 +3055,9 @@ _08085E18: .pool thumb_func_end c1_overworld - thumb_func_start c2_overworld_basic -@ void c2_overworld_basic() -c2_overworld_basic: @ 8085E24 + thumb_func_start OverworldBasic +@ void OverworldBasic() +OverworldBasic: @ 8085E24 push {lr} bl ScriptContext2_RunScript bl RunTasks @@ -3070,15 +3070,15 @@ c2_overworld_basic: @ 8085E24 bl do_scheduled_bg_tilemap_copies_to_vram pop {r0} bx r0 - thumb_func_end c2_overworld_basic + thumb_func_end OverworldBasic - thumb_func_start sub_8085E50 -sub_8085E50: @ 8085E50 + thumb_func_start CB2_OverworldBasic +CB2_OverworldBasic: @ 8085E50 push {lr} - bl c2_overworld_basic + bl OverworldBasic pop {r0} bx r0 - thumb_func_end sub_8085E50 + thumb_func_end CB2_OverworldBasic thumb_func_start c2_overworld c2_overworld: @ 8085E5C @@ -3092,7 +3092,7 @@ c2_overworld: @ 8085E5C movs r0, 0 bl SetVBlankCallback _08085E70: - bl c2_overworld_basic + bl OverworldBasic cmp r4, 0 beq _08085E7C bl SetFieldVBlankCallback @@ -3192,8 +3192,8 @@ CB2_NewGame: @ 8085EF8 .pool thumb_func_end CB2_NewGame - thumb_func_start c2_whiteout -c2_whiteout: @ 8085F58 + thumb_func_start CB2_WhiteOut +CB2_WhiteOut: @ 8085F58 push {lr} sub sp, 0x4 ldr r1, =gMain @@ -3232,7 +3232,7 @@ _08085FB0: pop {r0} bx r0 .pool - thumb_func_end c2_whiteout + thumb_func_end CB2_WhiteOut thumb_func_start c2_load_new_map c2_load_new_map: @ 8085FCC @@ -3584,7 +3584,7 @@ sub_808631C: @ 808631C lsrs r0, 24 cmp r0, 0x1 bne _0808632E - bl sub_80097E8 + bl CloseLink _0808632E: ldr r0, =gLinkVSyncDisabled ldrb r0, [r0] @@ -3637,7 +3637,7 @@ VBlankCB_Field: @ 8086390 push {lr} bl LoadOam bl ProcessSpriteCopyRequests - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer bl FieldUpdateBgTilemapScroll bl TransferPlttBuffer bl TransferTilesetAnimsBuffer @@ -3657,11 +3657,11 @@ sub_80863B0: @ 80863B0 ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams b _080863F0 .pool _080863D4: - bl sav1_get_flash_used_on_map + bl Overworld_GetFlashLevel lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -3671,7 +3671,7 @@ _080863D4: ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams _080863F0: pop {r0} bx r0 @@ -4122,7 +4122,7 @@ sub_80867D8: @ 80867D8 movs r0, 0 movs r1, 0 bl SetGpuReg - bl remove_some_task + bl ScanlineEffect_Stop ldr r2, =0x05000002 mov r1, sp movs r0, 0 @@ -4294,7 +4294,7 @@ sub_8086988: @ 8086988 bl ResetTasks bl ResetSpriteData bl ResetPaletteFade - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl dp13_810BB8C bl ResetCameraUpdateInfo bl InstallCameraPanAheadCallback @@ -6698,7 +6698,7 @@ _08087C38: lsls r1, 30 lsrs r1, 31 movs r0, 0 - bl sub_808BD3C + bl GetRivalAvatarGraphicsIdByStateIdAndGender _08087C44: lsls r0, 24 lsrs r0, 24 diff --git a/asm/party_menu.s b/asm/party_menu.s index 3d2af7e7d..991ad3623 100755..100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4,6 +4,192 @@ .syntax unified .text + + thumb_func_start sub_81B0038 +sub_81B0038: @ 81B0038 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + ldr r4, [sp, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + lsls r2, 24 + lsrs r7, r2, 24 + lsls r3, 24 + lsrs r3, 24 + str r3, [sp] + lsls r4, 24 + lsrs r6, r4, 24 + bl reset_brm + ldr r0, =gUnknown_0203CEC4 + mov r10, r0 + movs r0, 0x8E + lsls r0, 2 + bl Alloc + adds r5, r0, 0 + mov r1, r10 + str r5, [r1] + cmp r5, 0 + bne _081B0088 + ldr r0, [sp, 0x2C] + bl SetMainCallback2 + b _081B0194 + .pool +_081B0088: + ldr r3, =gUnknown_0203CEC8 + movs r1, 0xF + mov r4, r8 + ands r1, r4 + ldrb r2, [r3, 0x8] + movs r0, 0x10 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x8] + ldr r0, [sp, 0x2C] + str r0, [r3] + movs r4, 0 + strb r7, [r3, 0xB] + lsls r2, r6, 2 + ldrh r1, [r5, 0xA] + movs r0, 0x3 + ands r0, r1 + orrs r0, r2 + strh r0, [r5, 0xA] + ldr r0, [sp, 0x28] + str r0, [r5] + str r4, [r5, 0x4] + ldrb r1, [r5, 0x8] + movs r0, 0xF + negs r0, r0 + ands r0, r1 + strb r0, [r5, 0x8] + mov r1, r10 + ldr r2, [r1] + ldrh r0, [r2, 0x8] + movs r4, 0xFE + lsls r4, 3 + adds r1, r4, 0 + orrs r0, r1 + strh r0, [r2, 0x8] + ldr r0, [r2, 0x8] + movs r1, 0xFE + lsls r1, 10 + orrs r0, r1 + str r0, [r2, 0x8] + adds r6, r3, 0 + mov r5, r8 + cmp r5, 0x4 + bne _081B00F0 + ldrb r0, [r2, 0x8] + movs r1, 0x1 + orrs r0, r1 + b _081B00F8 + .pool +_081B00F0: + ldrb r1, [r2, 0x8] + movs r0, 0x2 + negs r0, r0 + ands r0, r1 +_081B00F8: + strb r0, [r2, 0x8] + mov r0, r9 + cmp r0, 0xFF + beq _081B0114 + movs r0, 0x3 + mov r1, r9 + ands r0, r1 + lsls r0, 4 + ldrb r2, [r6, 0x8] + movs r1, 0x31 + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r6, 0x8] +_081B0114: + movs r2, 0 + ldr r5, =gUnknown_0203CEC4 + movs r4, 0x86 + lsls r4, 2 + movs r3, 0 +_081B011E: + ldr r0, [r5] + lsls r1, r2, 1 + adds r0, r4 + adds r0, r1 + strh r3, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0xF + bls _081B011E + movs r2, 0 + ldr r4, =gUnknown_0203CEC4 + movs r3, 0xFF +_081B0138: + ldr r0, [r4] + adds r0, 0xC + adds r0, r2 + ldrb r1, [r0] + orrs r1, r3 + strb r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x2 + bls _081B0138 + ldr r4, [sp] + cmp r4, 0 + bne _081B015C + strb r4, [r6, 0x9] + b _081B017E + .pool +_081B015C: + adds r1, r6, 0 + movs r0, 0x9 + ldrsb r0, [r1, r0] + cmp r0, 0x5 + bgt _081B017A + adds r1, r0, 0 + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + bne _081B017E +_081B017A: + movs r0, 0 + strb r0, [r6, 0x9] +_081B017E: + ldr r2, =gTextFlags + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + bl CalculatePlayerPartyCount + ldr r0, =c2_811EBD0 + bl SetMainCallback2 +_081B0194: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81B0038 thumb_func_start sub_81B01B0 sub_81B01B0: @ 81B01B0 @@ -98,7 +284,7 @@ _081B0234: .4byte _081B0474 _081B0290: bl SetVBlankHBlankCallbacksToNull - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs bl clear_scheduled_bg_copies_to_vram ldr r1, =gMain movs r0, 0x87 @@ -107,7 +293,7 @@ _081B0290: b _081B048C .pool _081B02AC: - bl remove_some_task + bl ScanlineEffect_Stop b _081B0484 _081B02B2: bl ResetPaletteFade @@ -429,7 +615,7 @@ sub_81B0550: @ 81B0550 ldr r1, [r5] movs r0, 0x1 bl SetBgTilemapBuffer - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r0, 0x1 bl schedule_bg_copy_tilemap_to_vram movs r1, 0x82 @@ -487,7 +673,7 @@ _081B05F0: .4byte _081B0694 _081B0610: ldr r4, =gUnknown_0203CEE0 - ldr r0, =gUnknown_08D967EC + ldr r0, =gPartyMenuMisc_Gfx mov r1, sp bl malloc_and_decompress adds r1, r0, 0 @@ -505,14 +691,14 @@ _081B0638: lsls r0, 24 cmp r0, 0 bne _081B06B4 - ldr r0, =gUnknown_08D96BA0 + ldr r0, =gPartyMenuMisc_Tilemap ldr r1, =gUnknown_0203CEE4 ldr r1, [r1] bl LZDecompressWram b _081B069A .pool _081B0658: - ldr r0, =gUnknown_08D96AB4 + ldr r0, =gPartyMenuMisc_Pal movs r2, 0xB0 lsls r2, 1 movs r1, 0 @@ -1213,13 +1399,13 @@ sub_81B0BFC: @ 81B0BFC muls r1, r0 ldr r0, =gPlayerParty adds r6, r1, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] ldr r0, =gUnknown_0203CEC8 ldrb r0, [r0, 0xB] cmp r0, 0xC bne _081B0C40 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =gSpecialVar_0x8005 @@ -2111,13 +2297,13 @@ _081B134C: bx r0 thumb_func_end c3_0811FAB4 - thumb_func_start brm_get_pokemon_selection -brm_get_pokemon_selection: @ 81B1354 + thumb_func_start GetCursorSelectionMonId +GetCursorSelectionMonId: @ 81B1354 ldr r0, =gUnknown_0203CEC8 ldrb r0, [r0, 0x9] bx lr .pool - thumb_func_end brm_get_pokemon_selection + thumb_func_end GetCursorSelectionMonId thumb_func_start sub_81B1360 sub_81B1360: @ 81B1360 @@ -2554,7 +2740,7 @@ sub_81B1708: @ 81B1708 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3161,7 +3347,7 @@ sub_81B1B8C: @ 81B1B8C lsrs r4, r0, 24 adds r5, r4, 0 movs r0, 0x6 - bl sub_8121F20 + bl RunTextPrintersRetIsActive lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -3402,14 +3588,14 @@ sub_81B1DB8: @ 81B1DB8 lsrs r4, r5, 16 adds r7, r4, 0 adds r0, r4, 0 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _081B1DE2 adds r0, r6, 0 adds r1, r4, 0 - bl sub_80D4420 + bl GiveMailToMon lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -4010,7 +4196,7 @@ sub_81B227C: @ 81B227C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4211,7 +4397,7 @@ _081B23E8: movs r1, 0x4F movs r2, 0xD0 bl sub_809882C - bl sub_8098C64 + bl GetOverworldTextboxPalettePtr movs r1, 0xE0 movs r2, 0x20 bl LoadPalette @@ -4249,7 +4435,7 @@ _081B243E: adds r0, r4, 0 movs r1, 0 bl FillWindowPixelBuffer - ldr r5, =gText_Confirm + ldr r5, =gMenuText_Confirm movs r0, 0 adds r1, r5, 0 movs r2, 0x30 @@ -4268,7 +4454,7 @@ _081B243E: adds r0, r4, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -5946,7 +6132,7 @@ _081B328C: str r1, [sp, 0x10] movs r1, 0x1 mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -5992,7 +6178,7 @@ sub_81B3300: @ 81B3300 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sav2_get_text_speed + bl GetPlayerTextSpeed adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -6007,7 +6193,7 @@ sub_81B3300: @ 81B3300 movs r0, 0x6 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized add sp, 0x10 pop {r4} pop {r0} @@ -6216,7 +6402,7 @@ _081B34D2: bl GetMonData lsls r0, 16 lsrs r0, 16 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B3508 @@ -7739,7 +7925,7 @@ c2_8123744: @ 81B41F0 mov r7, r8 push {r7} sub sp, 0xC - ldr r6, =gScriptItemId + ldr r6, =gSpecialVar_ItemId ldrh r0, [r6] cmp r0, 0 bne _081B4224 @@ -7791,7 +7977,7 @@ _081B425A: .pool _081B4278: ldrh r0, [r6] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B42A4 @@ -7845,7 +8031,7 @@ sub_81B42D0: @ 81B42D0 ands r0, r1 cmp r0, 0 bne _081B432C - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] ldr r0, =gUnknown_0203CEC8 mov r8, r0 @@ -7952,7 +8138,7 @@ sub_81B43DC: @ 81B43DC push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -7969,7 +8155,7 @@ _081B43FC: beq _081B44DE b _081B44EC _081B4402: - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] movs r1, 0x1 bl RemoveBagItem @@ -7999,7 +8185,7 @@ _081B4402: .pool _081B4458: ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B4498 @@ -8135,12 +8321,12 @@ sub_81B4578: @ 81B4578 lsls r0, 16 lsrs r0, 16 mov r8, r0 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r7, [r0] cmp r7, 0 bne _081B45F8 adds r0, r5, 0 - bl sub_80D4680 + bl TakeMailFromMon ldr r4, =gUnknown_0203CEFC adds r0, r5, 0 movs r1, 0xC @@ -8212,7 +8398,7 @@ sub_81B4624: @ 81B4624 muls r0, r1 ldr r1, =gPlayerParty adds r0, r1 - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] movs r2, 0 movs r3, 0 @@ -8220,7 +8406,7 @@ sub_81B4624: @ 81B4624 b _081B467C .pool _081B4670: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r1] movs r2, 0 @@ -8485,7 +8671,7 @@ sub_81B48DC: @ 81B48DC muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8681,7 +8867,7 @@ sub_81B4A98: @ 81B4A98 adds r0, r1 ldr r1, =sub_81B4AE0 movs r2, 0x1 - bl sub_8121478 + bl ReadMail pop {r0} bx r0 .pool @@ -8777,7 +8963,7 @@ sub_81B4BA0: @ 81B4BA0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8801,7 +8987,7 @@ _081B4BC6: muls r0, r1 ldr r1, =gPlayerParty adds r0, r1 - bl sub_80D4700 + bl TakeMailFromMon2 lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -8883,7 +9069,7 @@ sub_81B4C94: @ 81B4C94 push {r7} lsls r0, 24 lsrs r5, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8925,7 +9111,7 @@ _081B4CBE: ldrsb r0, [r1, r0] muls r0, r7 adds r0, r6 - bl sub_80D4680 + bl TakeMailFromMon ldr r0, =gText_MailTakenFromPkmn movs r1, 0 bl sub_81B1B5C @@ -9691,7 +9877,7 @@ sub_81B5430: @ 81B5430 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -9892,7 +10078,7 @@ _081B55E8: .pool _081B5614: ldr r1, =gUnknown_0203CEC8 - ldr r0, =sub_8124690 + ldr r0, =MCB2_FlyMap b _081B5628 .pool _081B5624: @@ -9985,7 +10171,7 @@ sub_81B56D8: @ 81B56D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -10027,8 +10213,8 @@ _081B572A: .pool thumb_func_end sub_81B56D8 - thumb_func_start hm_add_c3_launch_phase_2 -hm_add_c3_launch_phase_2: @ 81B5738 + thumb_func_start FieldCallback_Teleport +FieldCallback_Teleport: @ 81B5738 push {lr} bl pal_fill_black ldr r0, =task_launch_hm_phase_2 @@ -10038,7 +10224,7 @@ hm_add_c3_launch_phase_2: @ 81B5738 pop {r1} bx r1 .pool - thumb_func_end hm_add_c3_launch_phase_2 + thumb_func_end FieldCallback_Teleport thumb_func_start task_launch_hm_phase_2 task_launch_hm_phase_2: @ 81B5750 @@ -10134,7 +10320,7 @@ _081B57FE: thumb_func_start hm_surf_run_dp02scr hm_surf_run_dp02scr: @ 81B5804 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -10160,7 +10346,7 @@ sub_81B5820: @ 81B5820 cmp r0, 0x1 bne _081B585C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm_surf_run_dp02scr @@ -10199,7 +10385,7 @@ sub_81B5884: @ 81B5884 push {lr} ldr r0, =gMapHeader ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -10238,7 +10424,7 @@ sub_81B58A8: @ 81B58A8 thumb_func_start hm2_waterfall hm2_waterfall: @ 81B58D4 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -10278,7 +10464,7 @@ hm_prepare_waterfall: @ 81B58F0 cmp r0, 0x1 bne _081B594C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_waterfall @@ -10298,7 +10484,7 @@ _081B594E: thumb_func_start sub_81B5958 sub_81B5958: @ 81B5958 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -10325,7 +10511,7 @@ sub_81B5974: @ 81B5974 .pool _081B5990: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_81B5958 @@ -10415,7 +10601,7 @@ party_menu_link_mon_icon_anim: @ 81B5A2C ldr r0, [sp, 0x20] str r0, [sp, 0x8] adds r0, r5, 0 - bl sub_80D2CC4 + bl CreateMonIcon strb r0, [r4, 0x9] ldr r2, =gSprites ldrb r0, [r4, 0x9] @@ -10645,7 +10831,7 @@ party_menu_held_item_object: @ 81B5C14 bl GetMonData cmp r0, 0 beq _081B5C3C - ldr r0, =gUnknown_08615EC0 + ldr r0, =gSpriteTemplate_8615EC0 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x2] ldrb r2, [r2, 0x3] @@ -10671,7 +10857,7 @@ party_menu_link_mon_held_item_object: @ 81B5C48 lsrs r5, r1, 16 cmp r0, 0 beq _081B5C84 - ldr r0, =gUnknown_08615EC0 + ldr r0, =gSpriteTemplate_8615EC0 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x2] ldrb r2, [r2, 0x3] @@ -10735,7 +10921,7 @@ sub_81B5CB0: @ 81B5CB0 b _081B5D24 .pool _081B5CD8: - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B5CFC @@ -10821,7 +11007,7 @@ _081B5D68: adds r0, r7, r5 ldrb r4, [r0] adds r0, r1, 0 - bl itemid_is_mail + bl ItemIsMail adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -10853,7 +11039,7 @@ _081B5DAC: adds r0, r5, r7 ldrb r4, [r0, 0x6] adds r0, r1, 0 - bl itemid_is_mail + bl ItemIsMail adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -10896,7 +11082,7 @@ sub_81B5DF0: @ 81B5DF0 add r0, r8 adds r0, 0x43 ldrb r3, [r0] - ldr r0, =gUnknown_08615EC0 + ldr r0, =gSpriteTemplate_8615EC0 subs r3, 0x1 lsls r3, 24 lsrs r3, 24 @@ -10991,7 +11177,7 @@ party_menu_pokeball_object: @ 81B5ECC bl GetMonData cmp r0, 0 beq _081B5EEA - ldr r0, =gUnknown_08615F08 + ldr r0, =gSpriteTemplate_8615F08 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x6] ldrb r2, [r2, 0x7] @@ -11012,7 +11198,7 @@ party_menu_link_mon_pokeball_object: @ 81B5EF4 lsls r0, 16 cmp r0, 0 beq _081B5F24 - ldr r0, =gUnknown_08615F08 + ldr r0, =gSpriteTemplate_8615F08 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x6] ldrb r2, [r2, 0x7] @@ -11046,7 +11232,7 @@ sub_81B5F34: @ 81B5F34 lsrs r3, 24 lsls r2, 24 lsrs r2, 24 - ldr r0, =gUnknown_08615F08 + ldr r0, =gSpriteTemplate_8615F08 adds r1, r3, 0 movs r3, 0x8 bl CreateSprite @@ -11078,7 +11264,7 @@ sub_81B5F74: @ 81B5F74 lsrs r3, 24 lsls r2, 24 lsrs r2, 24 - ldr r0, =gUnknown_08615F78 + ldr r0, =gSpriteTemplate_8615F78 adds r1, r3, 0 movs r3, 0x8 bl CreateSprite @@ -11194,7 +11380,7 @@ party_menu_status_condition_object: @ 81B6064 bl GetMonData cmp r0, 0 beq _081B608C - ldr r0, =gUnknown_08616008 + ldr r0, =gSpriteTemplate_8616008 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x4] ldrb r2, [r2, 0x5] @@ -11220,7 +11406,7 @@ party_menu_link_mon_status_condition_object: @ 81B6098 lsrs r5, r1, 24 cmp r0, 0 beq _081B60D4 - ldr r0, =gUnknown_08616008 + ldr r0, =gSpriteTemplate_8616008 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x4] ldrb r2, [r2, 0x5] @@ -11359,7 +11545,7 @@ _081B61BC: movs r7, 0 movs r6, 0 _081B61C0: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl GetItemEffectType lsls r0, 24 @@ -11787,7 +11973,7 @@ ItemUseCB_Medicine: @ 81B6588 muls r1, r0 ldr r0, =gPlayerParty adds r5, r1, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r6, [r0] adds r0, r5, 0 adds r1, r6, 0 @@ -12032,7 +12218,7 @@ sub_81B67C8: @ 81B67C8 muls r1, r0 ldr r0, =gPlayerParty adds r5, r1, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r6, [r0] adds r0, r6, 0 bl GetItemEffectType @@ -12391,7 +12577,7 @@ dp05_ether: @ 81B6AFC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] cmp r0, 0xAF bne _081B6B20 @@ -12500,7 +12686,7 @@ ether_effect_related: @ 81B6BEC lsrs r6, r0, 24 movs r4, 0 ldr r7, =gUnknown_0203CED6 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r5, [r0] movs r0, 0xE negs r0, r0 @@ -12729,7 +12915,7 @@ sub_81B6DC4: @ 81B6DC4 movs r0, 0xE adds r0, r7 mov r8, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] ldr r1, =gStringVar1 adds r0, r5, 0 @@ -12818,7 +13004,7 @@ sub_81B6EB4: @ 81B6EB4 adds r5, r1, r0 adds r6, r2, 0 adds r6, 0xE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] movs r1, 0x2 ldrsh r0, [r6, r1] @@ -12928,7 +13114,7 @@ _081B6FC0: _081B6FDC: cmp r0, 0x2 bne _081B6FE4 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] _081B6FE4: adds r0, r5, 0 @@ -12970,7 +13156,7 @@ sub_81B7028: @ 81B7028 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -13272,7 +13458,7 @@ sub_81B72C8: @ 81B72C8 muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r5, r0, 24 cmp r5, 0 @@ -13324,7 +13510,7 @@ _081B7306: _081B7368: cmp r0, 0x2 bne _081B7370 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] _081B7370: ldr r0, =gTasks @@ -13409,7 +13595,7 @@ dp05_rare_candy: @ 81B7404 movs r1, 0x86 lsls r1, 2 adds r4, r6, r1 - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId mov r8, r2 adds r0, r5, 0 movs r1, 0x38 @@ -13467,7 +13653,7 @@ _081B74B4: ldrb r0, [r0, 0x9] adds r1, r5, 0 bl sub_81B754C - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -14084,7 +14270,7 @@ sub_81B7A28: @ 81B7A28 lsls r0, 16 lsrs r7, r0, 16 ldrb r0, [r6, 0x9] - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -14236,7 +14422,7 @@ _081B7BC8: ldr r1, =gUnknown_0203CEE8 movs r0, 0x1 strb r0, [r1] - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -14312,7 +14498,7 @@ sub_81B7C74: @ 81B7C74 ldr r0, [r1] str r0, [r2] ldrb r0, [r1, 0x9] - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r1, [r4] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -14685,7 +14871,7 @@ _081B7F72: movs r3, 0 bl sub_81B0038 ldr r1, =gUnknown_0203CEC8 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] strh r0, [r1, 0xC] add sp, 0xC @@ -14728,7 +14914,7 @@ sub_81B7FAC: @ 81B7FAC .pool _081B7FF8: ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B800C @@ -14770,7 +14956,7 @@ sub_81B8044: @ 81B8044 lsrs r4, r0, 24 ldr r5, =gUnknown_0203CEC8 ldrh r0, [r5, 0xC] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B807C @@ -14933,12 +15119,12 @@ sub_81B81A8: @ 81B81A8 bl GetMonData lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 bne _081B8208 adds r0, r5, 0 - bl sub_80D4680 + bl TakeMailFromMon ldr r4, =gUnknown_0203CEFC adds r0, r5, 0 movs r1, 0xC @@ -15054,7 +15240,7 @@ sub_81B82D4: @ 81B82D4 push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -15093,7 +15279,7 @@ _081B82FA: .pool _081B8338: adds r0, r4, 0 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B835C @@ -15281,9 +15467,9 @@ sub_81B8474: @ 81B8474 _081B84DC: adds r0, r5, 0 adds r1, r4, 0 - bl sub_80D460C + bl GiveMailToMon2 adds r0, r4, 0 - bl sub_80D439C + bl ClearMailStruct ldr r0, =gText_MailTransferredFromMailbox movs r1, 0x1 bl sub_81B1B5C @@ -15994,7 +16180,7 @@ sub_81B8A7C: @ 81B8A7C push {r4-r7,lr} mov r7, r8 push {r7} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r5, r0, 24 bl sub_81B1250 @@ -16041,14 +16227,14 @@ _081B8AF8: b _081B8B24 _081B8AFC: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081B8B1E adds r0, r5, 0 bl sub_81B8F38 lsls r0, 24 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes lsls r1, r4, 1 adds r1, r2 lsrs r0, 24 @@ -16060,7 +16246,7 @@ _081B8B1E: lsls r0, 24 lsrs r4, r0, 24 _081B8B24: - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _081B8AFC @@ -16115,8 +16301,8 @@ _081B8BA8: ldr r1, =gUnknown_0203CEE8 movs r0, 0x1 strb r0, [r1] - ldr r1, =gBattlePartyID - ldr r0, =gBankInMenu + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerInMenuId ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -16148,9 +16334,9 @@ _081B8BFC: b _081B8C42 .pool _081B8C20: - ldr r0, =gBankInMenu + ldr r0, =gBattlerInMenuId ldrb r0, [r0] - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, 1 adds r0, r1 ldrb r0, [r0] @@ -16228,9 +16414,9 @@ _081B8CBE: bne _081B8CFC movs r5, 0x1 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r2, sp - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -16255,16 +16441,16 @@ _081B8CF0: _081B8CFC: movs r5, 0x2 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r1, sp - ldr r4, =gBattlePartyID + ldr r4, =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 adds r0, r4 ldrh r0, [r0] strb r0, [r1] movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r1, sp lsls r0, 24 lsrs r0, 23 @@ -16339,24 +16525,24 @@ sub_81B8D88: @ 81B8D88 lsrs r7, r1, 24 lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081B8DB0 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x2 b _081B8DBC _081B8DB0: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x3 _081B8DBC: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 bl sub_81B1250 @@ -16388,7 +16574,7 @@ _081B8DF0: bne _081B8E28 movs r3, 0x1 mov r2, sp - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r0, [r0] @@ -16412,7 +16598,7 @@ _081B8E1A: _081B8E28: movs r3, 0x2 mov r1, sp - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r2 ldrh r0, [r0] @@ -17113,7 +17299,7 @@ sub_81B9354: @ 81B9354 sub_81B9390: @ 81B9390 push {r4,lr} ldr r4, =gSpecialVar_0x8004 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r4] @@ -17171,7 +17357,7 @@ sub_81B9404: @ 81B9404 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B9424 movs r1, 0xA bl CreateTask @@ -17218,7 +17404,7 @@ _081B945C: thumb_func_start sub_81B9470 sub_81B9470: @ 81B9470 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r2, =gUnknown_02039F24 strb r0, [r2] lsls r0, 24 @@ -17247,7 +17433,7 @@ sub_81B94B0: @ 81B94B0 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B94D0 movs r1, 0xA bl CreateTask @@ -17297,7 +17483,7 @@ sub_81B951C: @ 81B951C bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B953C movs r1, 0xA bl CreateTask @@ -17345,7 +17531,7 @@ _081B9574: sub_81B9588: @ 81B9588 push {r4,r5,lr} ldr r5, =gSpecialVar_0x8004 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r5] @@ -17381,7 +17567,7 @@ _081B95BA: thumb_func_start sub_81B95E0 sub_81B95E0: @ 81B95E0 push {r4,r5,lr} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r4, 0 @@ -17418,7 +17604,7 @@ sub_81B9620: @ 81B9620 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B9640 movs r1, 0xA bl CreateTask @@ -17490,7 +17676,7 @@ sub_81B968C: @ 81B968C thumb_func_start sub_81B96D0 sub_81B96D0: @ 81B96D0 push {r4,r5,lr} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r4, 0 @@ -17741,13 +17927,13 @@ sub_81B98DC: @ 81B98DC adds r1, r0, 0 cmp r1, 0 beq _081B990C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _081B9910 .pool _081B990C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _081B9910: pop {r0} @@ -17760,7 +17946,7 @@ sub_81B9918: @ 81B9918 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =gSpecialVar_0x8004 @@ -17813,7 +17999,7 @@ _081B9980: bl sub_80D23A8 cmp r0, 0x1 beq _081B999C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081B999C: diff --git a/asm/player_pc.s b/asm/player_pc.s index cd91ed3e1..1ae5b4d14 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -379,12 +379,12 @@ sub_816B148: @ 816B148 ldrb r0, [r0, 0x8] cmp r0, 0 bne _0816B174 - ldr r0, =gUnknown_081F863F + ldr r0, =LittlerootTown_BrendansHouse_2F_EventScript_1F863F bl ScriptContext1_SetupScript b _0816B184 .pool _0816B174: - ldr r0, =gUnknown_081F958F + ldr r0, =LittlerootTown_MaysHouse_2F_EventScript_1F958F bl ScriptContext1_SetupScript b _0816B184 .pool @@ -463,7 +463,7 @@ sub_816B21C: @ 816B21C adds r4, r0, 0 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r0, 0x1 str r0, [sp] movs r0, 0 @@ -552,7 +552,7 @@ sub_816B2C8: @ 816B2C8 str r0, [r1] movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r0} bx r0 .pool @@ -599,7 +599,7 @@ mapldr_080EBC0C: @ 816B33C bl sub_81973A4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r0, =sub_816B368 movs r1, 0 bl CreateTask @@ -733,7 +733,7 @@ sub_816B430: @ 816B430 bl sub_816B4C0 bl sub_816BC14 bl gpu_pal_allocator_reset__manage_upper_four - bl sub_8122328 + bl LoadListMenuArrowsGfx ldr r0, =gUnknown_0203BCC4 ldr r0, [r0] movs r1, 0xCD @@ -1013,7 +1013,7 @@ sub_816B674: @ 816B674 cmp r0, 0 bne _0816B71E ldrb r0, [r4, 0xA] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4, 0xA] ldr r7, =gUnknown_0203BCBA @@ -1021,7 +1021,7 @@ sub_816B674: @ 816B674 mov r8, r1 adds r1, r7, 0 mov r2, r8 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r6, r0 @@ -1221,7 +1221,7 @@ sub_816B878: @ 816B878 lsrs r4, 24 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 @@ -1263,7 +1263,7 @@ sub_816B8A4: @ 816B8A4 adds r0, r1 ldr r1, =sub_816B900 movs r2, 0x1 - bl sub_8121478 + bl ReadMail adds r0, r4, 0 bl DestroyTask _0816B8E6: @@ -1378,7 +1378,7 @@ sub_816B9D8: @ 816B9D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r0, 24 movs r1, 0x1 @@ -1444,7 +1444,7 @@ _0816BA68: adds r0, r6, 0 bl DisplayItemMessageOnField adds r0, r5, 0 - bl sub_80D439C + bl ClearMailStruct bl sub_816B54C ldrb r0, [r4, 0x5] subs r0, 0x1 @@ -1494,7 +1494,7 @@ sub_816BABC: @ 816BABC _0816BAD4: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =gTasks lsls r1, r4, 2 adds r1, r4 @@ -1820,7 +1820,7 @@ _0816BD58: movs r1, 0x2 negs r1, r1 str r1, [r0] - ldr r4, =gUnknown_03006310 + ldr r4, =gMultiuseListMenuTemplate adds r1, r4, 0 ldr r0, =gUnknown_085DFF44 ldm r0!, {r2,r3,r6} @@ -2150,7 +2150,7 @@ _0816C030: movs r1, 0x1 movs r2, 0 adds r3, r6, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _0816C050: add sp, 0x14 pop {r4-r6} @@ -2179,7 +2179,7 @@ sub_816C060: @ 816C060 adds r0, r4, 0 adds r1, r4, 0 adds r2, r6, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 @@ -2327,7 +2327,7 @@ _0816C186: bl sub_816C110 bl sub_816C140 bl sub_816BD04 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldr r2, =gUnknown_0203BCB8 ldrh r1, [r2, 0x2] ldrh r2, [r2] @@ -2476,7 +2476,7 @@ sub_816C30C: @ 816C30C ldr r1, =gUnknown_0203BCBA subs r4, r1, 0x2 adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldrh r1, [r4, 0x2] ldrh r0, [r4] adds r1, r0 @@ -2492,12 +2492,12 @@ sub_816C30C: @ 816C30C .pool _0816C35C: ldrb r0, [r4, 0xA] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4, 0xA] ldr r1, =gUnknown_0203BCBA subs r2, r1, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r6, r0 @@ -2540,7 +2540,7 @@ bx_battle_menu_t3: @ 816C3A4 bne _0816C3F2 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r1, 0x6 ldrsh r0, [r5, r1] cmp r0, 0 @@ -2691,18 +2691,18 @@ sub_816C4FC: @ 816C4FC ldrb r0, [r4, 0xA] ldr r1, =gUnknown_0203BCBA subs r2, r1, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 b _0816C57E .pool _0816C530: ldrb r0, [r4, 0xA] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4, 0xA] ldr r1, =gUnknown_0203BCBA subs r4, r1, 0x2 adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldr r0, =gUnknown_0203BCC4 ldr r0, [r0] movs r1, 0xCD @@ -2825,7 +2825,7 @@ _0816C622: adds r0, r2 movs r1, 0xFF strb r1, [r0] - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldr r2, =gUnknown_0203BCB8 ldrh r1, [r2, 0x2] ldrh r2, [r2] @@ -3363,7 +3363,7 @@ sub_816CB04: @ 816CB04 bl sub_816C110 bl sub_816C140 bl sub_816BD04 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4, 0x2] ldrh r2, [r4] bl ListMenuInit diff --git a/asm/pokeball.s b/asm/pokeball.s deleted file mode 100755 index 0afd27932..000000000 --- a/asm/pokeball.s +++ /dev/null @@ -1,2861 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80753E8 -sub_80753E8: @ 80753E8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r6, =gActiveBank - ldrb r1, [r6] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - ldr r0, =sub_8075450 - movs r1, 0x5 - 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, 0xA] - strh r5, [r1, 0xC] - ldrb r0, [r6] - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80753E8 - - thumb_func_start sub_8075450 -sub_8075450: @ 8075450 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - str r0, [sp] - ldr r1, =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08075488 - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - b _08075602 - .pool -_08075488: - ldrh r0, [r1, 0xC] - mov r8, r0 - ldrb r5, [r1, 0xE] - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080754B4 - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _080754C2 - .pool -_080754B4: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_080754C2: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8076A78 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, =gUnknown_0832C588 - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gSprites - mov r9, r2 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - adds r4, r6, r2 - movs r0, 0x80 - strh r0, [r4, 0x2E] - movs r3, 0 - strh r3, [r4, 0x30] - mov r0, r8 - strh r0, [r4, 0x3C] - mov r2, r8 - cmp r2, 0xFE - beq _08075548 - cmp r2, 0xFF - bne _08075584 - ldr r0, =gBankTarget - strb r5, [r0] - movs r0, 0x18 - strh r0, [r4, 0x20] - movs r0, 0x44 - strh r0, [r4, 0x22] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =sub_80761B4 - str r1, [r0] - b _08075592 - .pool -_08075548: - adds r0, r5, 0 - movs r1, 0 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x22] - ldr r0, =gBankTarget - strb r5, [r0] - movs r3, 0 - strh r3, [r4, 0x2E] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =sub_8076398 - str r1, [r0] - b _08075592 - .pool -_08075584: - movs r0, 0x1 - bl GetBankByIdentity - ldr r1, =gBankTarget - strb r0, [r1] - movs r0, 0x1 - str r0, [sp] -_08075592: - ldr r0, =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r4, r1, r0 - ldr r5, =gBankTarget - ldrb r0, [r5] - strh r0, [r4, 0x3A] - ldr r2, [sp] - cmp r2, 0 - bne _080755B8 - mov r0, r10 - bl DestroyTask - b _08075602 - .pool -_080755B8: - movs r0, 0x22 - strh r0, [r4, 0x2E] - ldrb r0, [r5] - movs r1, 0 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r4, 0x36] - ldr r0, =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_80A68D4 - mov r3, r10 - strh r3, [r4, 0x6] - ldr r1, =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r5] - strh r1, [r0, 0x10] - ldr r1, =TaskDummy - str r1, [r0] - movs r0, 0x3D - bl PlaySE -_08075602: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075450 - - thumb_func_start objc_0804ABD4 -objc_0804ABD4: @ 8075620 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - bl sub_80A6900 - lsls r0, 24 - cmp r0, 0 - beq _080756C0 - ldrb r6, [r7, 0x6] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r5, [r0, 0x10] - ldrb r0, [r0, 0xC] - mov r8, r0 - adds r0, r7, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r7, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x26] - ldrh r2, [r7, 0x22] - adds r0, r2 - strh r0, [r7, 0x22] - strh r1, [r7, 0x24] - strh r1, [r7, 0x26] - strh r1, [r7, 0x38] - adds r0, r5, 0 - bl sub_8076B14 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r7, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r7, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_8171D98 - movs r0, 0 - adds r1, r5, 0 - movs r2, 0xE - adds r3, r4, 0 - bl sub_81729E8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x2E] - strh r5, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - adds r0, r6, 0 - bl DestroyTask - ldr r0, =sub_80756D4 - str r0, [r7, 0x1C] -_080756C0: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end objc_0804ABD4 - - thumb_func_start sub_80756D4 -sub_80756D4: @ 80756D4 - ldr r1, =sub_80756E0 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_80756D4 - - thumb_func_start sub_80756E0 -sub_80756E0: @ 80756E0 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - movs r7, 0 - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0807573A - strh r7, [r6, 0x38] - ldr r0, =sub_807574C - str r0, [r6, 0x1C] - ldr r5, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x30] -_0807573A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80756E0 - - thumb_func_start sub_807574C -sub_807574C: @ 807574C - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08075764 - movs r0, 0x3C - bl PlaySE -_08075764: - ldr r6, =gSprites - ldr r5, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080757BC - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r2, 0x3A - ldrsh r0, [r4, r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, =sub_80757E4 - str r0, [r4, 0x1C] - b _080757DC - .pool -_080757BC: - ldrh r0, [r1, 0x30] - adds r0, 0x60 - strh r0, [r1, 0x30] - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r2, 0x30 - ldrsh r0, [r1, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] -_080757DC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_807574C - - thumb_func_start sub_80757E4 -sub_80757E4: @ 80757E4 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0807582C - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _0807582C - strh r1, [r4, 0x34] - movs r0, 0x20 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, =sub_8075838 - str r0, [r4, 0x1C] -_0807582C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80757E4 - - thumb_func_start sub_8075838 -sub_8075838: @ 8075838 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _0807584E - cmp r1, 0x1 - beq _080758C2 - b _080758EE -_0807584E: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _080758EE - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _0807588A - movs r5, 0x1 -_0807588A: - cmp r0, 0x2 - beq _080758AA - cmp r0, 0x2 - bgt _0807589C - cmp r0, 0x1 - beq _080758A2 - b _080758BA - .pool -_0807589C: - cmp r0, 0x3 - beq _080758B2 - b _080758BA -_080758A2: - movs r0, 0x38 - bl PlaySE - b _080758EE -_080758AA: - movs r0, 0x39 - bl PlaySE - b _080758EE -_080758B2: - movs r0, 0x3A - bl PlaySE - b _080758EE -_080758BA: - movs r0, 0x3B - bl PlaySE - b _080758EE -_080758C2: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _080758EE - strh r5, [r4, 0x38] - ldr r0, =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_080758EE: - cmp r5, 0 - beq _08075926 - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0807591C - ldr r0, =sub_8075D14 - str r0, [r4, 0x1C] - b _08075926 - .pool -_0807591C: - ldr r0, =sub_8075930 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_08075926: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075838 - - thumb_func_start sub_8075930 -sub_8075930: @ 8075930 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08075964 - movs r0, 0 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, =sub_8075970 - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_08075964: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075930 - - thumb_func_start sub_8075970 -sub_8075970: @ 8075970 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x4 - bhi _08075A70 - lsls r0, r1, 2 - ldr r1, =_0807598C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807598C: - .4byte _080759A0 - .4byte _080759D2 - .4byte _080759A0 - .4byte _08075A26 - .4byte _08075A70 -_080759A0: - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _08075AB6 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - movs r0, 0 - strh r0, [r4, 0x38] - b _08075AB6 -_080759D2: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08075A18 - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _08075A0E - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _08075AB6 -_08075A0E: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _08075AB6 -_08075A18: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _08075AB6 -_08075A26: - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r2, [r4, 0x34] - adds r0, r2 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08075A48 - ldr r0, =sub_8075D14 - str r0, [r4, 0x1C] - b _08075AB6 - .pool -_08075A48: - cmp r1, 0x4 - bne _08075A5C - cmp r0, 0x3 - bne _08075A5C - ldr r0, =sub_8075FB4 - str r0, [r4, 0x1C] - b _08075A62 - .pool -_08075A5C: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_08075A62: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _08075AB6 -_08075A70: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08075AB6 - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _08075AA8 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _08075AB0 - .pool -_08075AA8: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_08075AB0: - movs r0, 0x17 - bl PlaySE -_08075AB6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075970 - - thumb_func_start c3_0804B070 -c3_0804B070: @ 8075ABC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0xC] - mov r12, r1 - ldrb r5, [r0, 0xA] - ldrh r6, [r0, 0x8] - ldrb r3, [r0, 0xE] - mov r8, r3 - ldrb r7, [r0, 0x10] - movs r3, 0x12 - ldrsh r1, [r0, r3] - lsls r3, r1, 16 - ldrh r1, [r0, 0x14] - orrs r3, r1 - movs r1, 0x26 - ldrsh r0, [r0, r1] - cmp r0, 0x20 - bhi _08075B88 - lsls r0, 2 - ldr r1, =_08075B04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08075B04: - .4byte _08075B88 - .4byte _08075BB4 - .4byte _08075BDA - .4byte _08075C54 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075BF8 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075C66 - .4byte _08075C7E - .4byte _08075CA8 -_08075B88: - ldr r0, =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - adds r1, 0x3F - ldrb r0, [r1] - lsls r0, 26 - cmp r0, 0 - blt _08075B9E - b _08075D04 -_08075B9E: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - mov r1, r12 - adds r1, 0x1 - strh r1, [r0, 0x26] - b _08075D04 - .pool -_08075BB4: - adds r0, r3, 0 - bl sub_805F110 - cmp r0, 0x1 - bne _08075BCC - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - bl PlayCry3 - b _08075C2E -_08075BCC: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl PlayCry3 - b _08075C2E -_08075BDA: - bl StopCryAndClearCrySongs - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x1C] - movs r1, 0x14 - strh r1, [r0, 0x26] - b _08075D04 - .pool -_08075BF8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r7, 0x1C - ldrsh r0, [r1, r7] - cmp r0, 0 - bne _08075CBA - adds r0, r3, 0 - bl sub_805F110 - cmp r0, 0x1 - bne _08075C22 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0x1 - bl PlayCry4 - b _08075C2E -_08075C22: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xC - bl PlayCry4 -_08075C2E: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r2, r8 - lsls r1, r2, 1 - add r1, r8 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - adds r0, r4, 0 - bl DestroyTask - b _08075D04 - .pool -_08075C54: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x1C] - movs r1, 0x1E - strh r1, [r0, 0x26] - b _08075D04 -_08075C66: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r3, 0x1C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08075CBA - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] -_08075C7E: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _08075D04 - bl StopCryAndClearCrySongs - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x3 - strh r0, [r1, 0x1C] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08075D04 - .pool -_08075CA8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r7, 0x1C - ldrsh r0, [r1, r7] - cmp r0, 0 - beq _08075CC0 -_08075CBA: - subs r0, r2, 0x1 - strh r0, [r1, 0x1C] - b _08075D04 -_08075CC0: - adds r0, r3, 0 - bl sub_805F110 - cmp r0, 0x1 - bne _08075CD8 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - bl PlayCry4 - b _08075CE4 -_08075CD8: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl PlayCry4 -_08075CE4: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r2, r8 - lsls r1, r2, 1 - add r1, r8 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - adds r0, r4, 0 - bl DestroyTask -_08075D04: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0804B070 - - thumb_func_start sub_8075D14 -sub_8075D14: @ 8075D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_8076B14 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_8171D98 - ldrh r1, [r6, 0x3A] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - movs r2, 0xE - adds r3, r4, 0 - bl sub_81729E8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x2E] - ldr r0, =sub_8075FD4 - str r0, [r6, 0x1C] - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08075D88 - b _08075EF4 -_08075D88: - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _08075DC0 - ldr r0, =gBattlePartyID - lsls r2, r5, 1 - adds r0, r2, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty - adds r7, r1, r0 - movs r4, 0x19 - mov r10, r4 - b _08075DD4 - .pool -_08075DC0: - ldr r0, =gBattlePartyID - lsls r2, r5, 1 - adds r0, r2, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r7, r1, r0 - movs r0, 0xE7 - mov r10, r0 -_08075DD4: - mov r8, r2 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08075E00 - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08075E56 -_08075E00: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08075E56 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08075E56 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x42 - ands r0, r1 - cmp r0, 0x42 - bne _08075E4C - bl IsBGMPlaying - lsls r0, 24 - cmp r0, 0 - beq _08075E56 - ldr r0, =gMPlay_BGM - bl m4aMPlayStop - b _08075E56 - .pool -_08075E4C: - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - bl m4aMPlayVolumeControl -_08075E56: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08075E70 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08075E80 -_08075E70: - movs r4, 0 - b _08075EA2 - .pool -_08075E80: - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08075E9C - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08075EA0 -_08075E9C: - movs r4, 0x1 - b _08075EA2 -_08075EA0: - movs r4, 0x2 -_08075EA2: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r2, r8 - adds r1, r2, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1, 0x1] - ldr r0, =c3_0804B070 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r3, 0 - mov r0, r9 - strh r0, [r1, 0x8] - mov r2, r10 - lsls r0, r2, 24 - asrs r0, 24 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - strh r5, [r1, 0xE] - ldr r2, =gBankSpriteIds - movs r4, 0x3A - ldrsh r0, [r6, r4] - adds r0, r2 - ldrb r0, [r0] - strh r0, [r1, 0x10] - lsrs r0, r7, 16 - strh r0, [r1, 0x12] - strh r7, [r1, 0x14] - strh r3, [r1, 0x26] -_08075EF4: - ldr r4, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08075F50 - movs r2, 0x3A - ldrsh r0, [r6, r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_8039B58 - b _08075F66 - .pool -_08075F50: - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_8039E44 -_08075F66: - str r1, [r0] - ldr r5, =gBankSpriteIds - movs r2, 0x3A - ldrsh r0, [r6, r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075D14 - - thumb_func_start sub_8075FB4 -sub_8075FB4: @ 8075FB4 - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, =sub_80760F8 - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .pool - thumb_func_end sub_8075FB4 - - thumb_func_start sub_8075FD4 -sub_8075FD4: @ 8075FD4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r7, 0 - ldrh r0, [r5, 0x3A] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, =gSprites - ldr r0, =gBankSpriteIds - adds r3, r6, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076016 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08076016: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _08076040 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r7, 0x1 - b _0807605C - .pool -_08076040: - ldr r2, =0xfffffee0 - adds r0, r2, 0 - ldrh r2, [r1, 0x30] - adds r0, r2 - strh r0, [r1, 0x30] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_0807605C: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080760DE - cmp r7, 0 - beq _080760DE - ldr r2, =gSprites - ldr r0, =gBankSpriteIds - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x26] - ldr r0, =gDoingBattleAnim - strb r2, [r0] - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0, 0x4] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite - movs r3, 0 - ldr r0, [r4] - ldr r2, [r0, 0x4] - movs r5, 0x8 - movs r4, 0x3 -_080760B6: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _080760C2 - adds r3, 0x1 -_080760C2: - adds r2, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _080760B6 - cmp r3, 0x4 - bne _080760DE - movs r4, 0 -_080760D0: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8076AE8 - adds r4, 0x1 - cmp r4, 0xB - ble _080760D0 -_080760DE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075FD4 - - thumb_func_start sub_80760F8 -sub_80760F8: @ 80760F8 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x36] - adds r0, 0x1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - beq _08076196 - cmp r1, 0x5F - bne _08076130 - ldr r0, =gDoingBattleAnim - movs r1, 0 - strb r1, [r0] - bl m4aMPlayAllStop - ldr r0, =0x00000173 - bl PlaySE - b _08076196 - .pool -_08076130: - ldr r0, =0x0000013b - cmp r1, r0 - bne _08076196 - ldr r5, =gSprites - ldr r4, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r6, 0 - bl DestroySpriteAndFreeResources - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08076196 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08076196: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80760F8 - - thumb_func_start sub_80761B4 -sub_80761B4: @ 80761B4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x19 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x36] - ldr r0, =0x0000ffe2 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3A] - strh r0, [r4, 0x6] - adds r0, r4, 0 - bl sub_80A68D4 - ldr r0, =sub_8076204 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80761B4 - - thumb_func_start sub_8076204 -sub_8076204: @ 8076204 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldrh r0, [r5, 0x3C] - movs r1, 0xFF - mov r8, r1 - lsrs r0, 8 - subs r0, 0x23 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2C - bhi _080762F8 - ldrh r1, [r5, 0x6] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - bne _08076266 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - movs r1, 0x2 - negs r1, r1 - adds r4, r1, 0 - ands r0, r4 - orrs r6, r0 - strh r6, [r5, 0x30] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - ands r0, r4 - orrs r7, r0 - strh r7, [r5, 0x32] - adds r0, r5, 0 - movs r1, 0x4 - bl StartSpriteAffineAnim -_08076266: - ldrh r4, [r5, 0x2E] - adds r0, r5, 0 - bl sub_80A6F3C - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - ldrh r0, [r5, 0x3C] - adds r0, r1 - strh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 24 - mov r2, r8 - ands r0, r2 - movs r2, 0x38 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r5, 0x6] - adds r0, r1 - strh r0, [r5, 0x6] - lsls r0, 16 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _080762B6 - strh r4, [r5, 0x2E] - b _080762BE -_080762B6: - lsls r0, r4, 16 - asrs r0, 16 - subs r0, 0x1 - strh r0, [r5, 0x2E] -_080762BE: - ldrh r0, [r5, 0x3C] - lsrs r0, 8 - cmp r0, 0x4F - ble _08076364 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r1 - movs r1, 0x2 - negs r1, r1 - adds r2, r1, 0 - ands r0, r2 - orrs r0, r6 - strh r0, [r5, 0x30] - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - ands r0, r2 - orrs r0, r7 - strh r0, [r5, 0x32] - b _08076364 -_080762F8: - adds r0, r5, 0 - bl sub_80A6900 - lsls r0, 24 - cmp r0, 0 - beq _08076364 - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldrb r0, [r5, 0x6] - strh r0, [r5, 0x3A] - strh r1, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08076358 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076358 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x2 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08076358 - ldr r0, =sub_8076374 - b _0807635A - .pool -_08076358: - ldr r0, =sub_8075D14 -_0807635A: - str r0, [r5, 0x1C] - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim -_08076364: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076204 - - thumb_func_start sub_8076374 -sub_8076374: @ 8076374 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r1, r0, 0x1 - strh r1, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _0807638E - movs r0, 0 - strh r0, [r2, 0x2E] - ldr r0, =sub_8075D14 - str r0, [r2, 0x1C] -_0807638E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076374 - - thumb_func_start sub_8076398 -sub_8076398: @ 8076398 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080763EC - movs r0, 0 - strh r0, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080763E8 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080763E8 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x3 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080763E8 - ldr r0, =sub_8076374 - b _080763EA - .pool -_080763E8: - ldr r0, =sub_8075D14 -_080763EA: - str r0, [r5, 0x1C] -_080763EC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076398 - - thumb_func_start sub_80763F8 -sub_80763F8: @ 80763F8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - str r4, [sp] - bl sub_8171D98 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80763F8 - - thumb_func_start sub_8076420 -sub_8076420: @ 8076420 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - bl sub_81729E8 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8076420 - - thumb_func_start sub_8076438 -sub_8076438: @ 8076438 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r0, 0 - mov r9, r2 - mov r10, r3 - ldr r6, [sp, 0x28] - ldr r4, [sp, 0x2C] - ldr r0, [sp, 0x30] - ldr r2, [sp, 0x38] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - lsls r0, r2, 16 - lsrs r7, r0, 16 - ldr r0, =gUnknown_0832C400 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_0832C460 - bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =gUnknown_0832C588 - mov r1, r9 - mov r2, r10 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - mov r8, r1 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r2, r4, r1 - strh r5, [r2, 0x2E] - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - add r1, r8 - ldrh r0, [r1, 0x20] - strh r0, [r2, 0x38] - ldrh r0, [r1, 0x22] - strh r0, [r2, 0x3A] - mov r3, r9 - strh r3, [r1, 0x20] - mov r0, r10 - strh r0, [r1, 0x22] - strh r7, [r1, 0x3C] - mov r3, sp - ldrh r3, [r3, 0x4] - strh r3, [r2, 0x30] - mov r0, sp - ldrh r0, [r0] - strh r0, [r2, 0x32] - mov r3, sp - ldrh r3, [r3, 0x34] - strh r3, [r2, 0x34] - ldr r3, [sp, 0x34] - lsrs r0, r3, 16 - strh r0, [r2, 0x36] - movs r0, 0x3 - ands r6, r0 - lsls r6, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r6 - strb r0, [r2, 0x5] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, =sub_8076524 - str r0, [r4] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076438 - - thumb_func_start sub_8076524 -sub_8076524: @ 8076524 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrh r1, [r6, 0x30] - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _080765D0 - ldrh r0, [r6, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r4, [r6, 0x34] - ldrh r0, [r6, 0x36] - lsls r0, 16 - orrs r4, r0 - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0807655E - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - b _08076560 -_0807655E: - movs r5, 0 -_08076560: - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r5, 0 - bl sub_80763F8 - movs r0, 0x1 - mov r1, r8 - adds r2, r4, 0 - bl sub_8076420 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r6, 0x30] - ldr r0, =sub_80765E0 - str r0, [r6, 0x1C] - ldr r0, =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - movs r0, 0x80 - lsls r0, 5 - strh r0, [r4, 0x30] - strh r5, [r6, 0x3C] - b _080765D4 - .pool -_080765D0: - subs r0, r1, 0x1 - strh r0, [r6, 0x30] -_080765D4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8076524 - - thumb_func_start sub_80765E0 -sub_80765E0: @ 80765E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r0, 0 - mov r12, r0 - movs r7, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076610 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08076610: - ldr r1, =gSprites - lsls r2, r6, 4 - adds r0, r2, r6 - lsls r0, 2 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - mov r8, r2 - cmp r0, 0 - bge _08076634 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r1, 0x1 - mov r12, r1 -_08076634: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r3, 0x20 - ldrsh r1, [r4, r3] - subs r0, r1 - movs r1, 0x3C - ldrsh r2, [r4, r1] - muls r0, r2 - cmp r0, 0 - bge _0807664A - adds r0, 0x7F -_0807664A: - asrs r0, 7 - ldrh r3, [r4, 0x20] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r3, 0x22 - ldrsh r1, [r4, r3] - subs r0, r1 - muls r0, r2 - cmp r0, 0 - bge _08076668 - adds r0, 0x7F -_08076668: - asrs r0, 7 - ldrh r1, [r4, 0x22] - adds r0, r1 - mov r2, r9 - strh r2, [r5, 0x20] - strh r0, [r5, 0x22] - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0x7F - bgt _080766AC - ldr r1, =gSineTable - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08076690 - adds r0, 0x7 -_08076690: - asrs r0, 3 - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - adds r1, r2, 0x4 - strh r1, [r4, 0x3C] - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - b _080766BA - .pool -_080766AC: - ldrh r0, [r4, 0x38] - strh r0, [r5, 0x20] - ldrh r0, [r4, 0x3A] - strh r0, [r5, 0x22] - strh r7, [r5, 0x24] - strh r7, [r5, 0x26] - movs r7, 0x1 -_080766BA: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0807670E - mov r2, r12 - cmp r2, 0 - beq _0807670E - cmp r7, 0 - beq _0807670E - ldr r1, =gSprites - mov r3, r8 - adds r0, r3, r6 - lsls r0, 2 - adds r2, r0, r1 - movs r0, 0x3C - ldrsh r1, [r2, r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _080766FC - ldrh r1, [r2, 0x3C] - adds r0, r2, 0 - movs r2, 0x1 - movs r3, 0 - bl DoMonFrontSpriteAnimation - b _08076708 - .pool -_080766FC: - ldrh r1, [r2, 0x3C] - adds r0, r2, 0 - movs r2, 0 - movs r3, 0 - bl DoMonFrontSpriteAnimation -_08076708: - adds r0, r4, 0 - bl DestroySpriteAndFreeResources -_0807670E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80765E0 - - thumb_func_start sub_807671C -sub_807671C: @ 807671C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r6, r2, 0 - mov r8, r3 - ldr r5, [sp, 0x20] - ldr r4, [sp, 0x24] - ldr r0, [sp, 0x28] - mov r9, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gUnknown_0832C400 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_0832C460 - bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =gUnknown_0832C588 - adds r1, r6, 0 - mov r2, r8 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r2, r3, r6 - mov r1, r10 - strh r1, [r2, 0x2E] - mov r4, r9 - strh r4, [r2, 0x30] - strh r7, [r2, 0x32] - mov r1, sp - ldrh r1, [r1, 0x2C] - strh r1, [r2, 0x34] - ldr r4, [sp, 0x2C] - lsrs r1, r4, 16 - strh r1, [r2, 0x36] - movs r1, 0x3 - ands r5, r1 - lsls r5, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r5 - strb r1, [r2, 0x5] - adds r6, 0x1C - adds r3, r6 - ldr r1, =sub_80767D4 - str r1, [r3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807671C - - thumb_func_start sub_80767D4 -sub_80767D4: @ 80767D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0807686C - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r5, [r4, 0x34] - ldrh r0, [r4, 0x36] - lsls r0, 16 - orrs r5, r0 - adds r0, r4, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0807680E - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - b _08076810 -_0807680E: - movs r6, 0 -_08076810: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r6, 0 - bl sub_80763F8 - movs r0, 0x1 - mov r1, r8 - adds r2, r5, 0 - bl sub_8076420 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x30] - ldr r0, =sub_807687C - str r0, [r4, 0x1C] - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - strh r5, [r4, 0x30] - b _08076870 - .pool -_0807686C: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_08076870: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80767D4 - - thumb_func_start sub_807687C -sub_807687C: @ 807687C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - adds r0, 0x1 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08076894 - movs r0, 0x3C - bl PlaySE -_08076894: - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080768D8 - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r5, 0x38] - ldr r0, =sub_80768F0 - str r0, [r5, 0x1C] - b _080768E8 - .pool -_080768D8: - ldrh r0, [r4, 0x30] - adds r0, 0x60 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - negs r0, r0 - asrs r0, 8 - strh r0, [r4, 0x26] -_080768E8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807687C - - thumb_func_start sub_80768F0 -sub_80768F0: @ 80768F0 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076904 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08076904: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80768F0 - - thumb_func_start obj_delete_and_free_associated_resources_ -obj_delete_and_free_associated_resources_: @ 807690C - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end obj_delete_and_free_associated_resources_ - - thumb_func_start sub_8076918 -sub_8076918: @ 8076918 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, =gHealthBoxesIds - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r4, r0, r6 - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r0, 0x73 - strh r0, [r4, 0x24] - strh r1, [r4, 0x26] - ldr r0, =sub_80769CC - str r0, [r4, 0x1C] - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _08076966 - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] -_08076966: - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r1, r0, r1 - adds r0, r6 - ldr r1, [r1] - bl _call_via_r1 - adds r0, r5, 0 - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08076990 - ldr r0, =sub_80769A8 - str r0, [r4, 0x1C] -_08076990: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076918 - - thumb_func_start sub_80769A8 -sub_80769A8: @ 80769A8 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080769C2 - movs r0, 0 - strh r0, [r1, 0x30] - ldr r0, =sub_80769CC - str r0, [r1, 0x1C] -_080769C2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80769A8 - - thumb_func_start sub_80769CC -sub_80769CC: @ 80769CC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - ldrh r1, [r2, 0x30] - subs r0, r1 - strh r0, [r2, 0x26] - ldr r0, [r2, 0x24] - cmp r0, 0 - bne _080769EA - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_080769EA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80769CC - - thumb_func_start DoHitAnimHealthboxEffect -DoHitAnimHealthboxEffect: @ 80769F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =oamc_804BEB4 - adds r0, r5, 0 - bl CreateInvisibleSpriteWithCallback - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r2 - movs r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, =gHealthBoxesIds - adds r4, r0 - ldrb r0, [r4] - strh r0, [r3, 0x30] - adds r2, 0x1C - adds r1, r2 - str r5, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DoHitAnimHealthboxEffect - - thumb_func_start oamc_804BEB4 -oamc_804BEB4: @ 8076A38 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r0, [r3, 0x2E] - movs r2, 0 - strh r0, [r1, 0x26] - ldrh r0, [r3, 0x2E] - negs r0, r0 - strh r0, [r3, 0x2E] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _08076A70 - strh r2, [r1, 0x24] - strh r2, [r1, 0x26] - adds r0, r3, 0 - bl DestroySprite -_08076A70: - pop {r0} - bx r0 - .pool - thumb_func_end oamc_804BEB4 - - thumb_func_start sub_8076A78 -sub_8076A78: @ 8076A78 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0832C400 - lsls r6, r4, 3 - adds r5, r6, r0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _08076AA0 - adds r0, r5, 0 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_0832C460 - adds r0, r6, r0 - bl LoadCompressedObjectPaletteUsingHeap -_08076AA0: - cmp r4, 0x6 - beq _08076ACC - cmp r4, 0x6 - blt _08076AB0 - cmp r4, 0xB - bgt _08076AB0 - cmp r4, 0xA - bge _08076ACC -_08076AB0: - ldr r1, =gUnknown_0832C400 - lsls r0, r4, 3 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - ldr r0, =gUnknown_08C02300 - lsrs r1, 11 - ldr r2, =0x06010100 - adds r1, r2 - bl LZDecompressVram -_08076ACC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076A78 - - thumb_func_start sub_8076AE8 -sub_8076AE8: @ 8076AE8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - ldr r0, =gUnknown_0832C400 - lsrs r4, 21 - adds r0, r4, r0 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r0, =gUnknown_0832C460 - adds r4, r0 - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076AE8 - - thumb_func_start sub_8076B14 -sub_8076B14: @ 8076B14 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _08076B40 - ldr r1, =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _08076B4E - .pool -_08076B40: - ldr r1, =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_08076B4E: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8076B14 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s deleted file mode 100644 index a3047e225..000000000 --- a/asm/pokeblock_feed.s +++ /dev/null @@ -1,1873 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8179B68 -sub_8179B68: @ 8179B68 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8179B68 - - thumb_func_start sub_8179B84 -sub_8179B84: @ 8179B84 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8179B84 - - thumb_func_start sub_8179B98 -sub_8179B98: @ 8179B98 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xD - bls _08179BAC - b _08179D4C -_08179BAC: - lsls r0, 2 - ldr r1, =_08179BC0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08179BC0: - .4byte _08179BF8 - .4byte _08179C20 - .4byte _08179C34 - .4byte _08179C48 - .4byte _08179C4E - .4byte _08179C60 - .4byte _08179C66 - .4byte _08179C78 - .4byte _08179C98 - .4byte _08179CB0 - .4byte _08179CDC - .4byte _08179CF8 - .4byte _08179CFE - .4byte _08179D18 -_08179BF8: - ldr r4, =gUnknown_0203BD18 - ldr r0, =0x00001084 - bl AllocZeroed - str r0, [r4] - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C20: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _08179D30 - .pool -_08179C34: - bl ResetSpriteData - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C48: - bl FreeAllSpritePalettes - b _08179D32 -_08179C4E: - bl AllocateMonSpritesGfx - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C60: - bl sub_8179D9C - b _08179D32 -_08179C66: - bl sub_8179FAC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C78: - ldr r0, =gUnknown_0203BC9C - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_8179DF4 - lsls r0, 24 - cmp r0, 0 - beq _08179D64 - b _08179D32 - .pool -_08179C98: - bl sub_817A4A4 - ldr r1, =gUnknown_0203BD18 - ldr r1, [r1] - ldr r2, =0x0000105e - adds r1, r2 - strb r0, [r1] - b _08179D32 - .pool -_08179CB0: - ldr r0, =gUnknown_0203BC9C - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_817A358 - ldr r1, =gUnknown_0203BD18 - ldr r1, [r1] - ldr r2, =0x0000105d - adds r1, r2 - strb r0, [r1] - b _08179D32 - .pool -_08179CDC: - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179CF8: - bl sub_817A168 - b _08179D32 -_08179CFE: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179D18: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_08179D30: - strb r0, [r2, 0x8] -_08179D32: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_08179D3A: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08179D64 - .pool -_08179D4C: - ldr r0, =sub_8179B84 - bl SetVBlankCallback - ldr r0, =sub_8179B68 - bl SetMainCallback2 - movs r0, 0x1 - b _08179D66 - .pool -_08179D64: - movs r0, 0 -_08179D66: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8179B98 - - thumb_func_start sub_8179D70 -sub_8179D70: @ 8179D70 - push {lr} -_08179D72: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08179D96 - bl sub_8179B98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08179D96 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08179D72 -_08179D96: - pop {r0} - bx r0 - thumb_func_end sub_8179D70 - - thumb_func_start sub_8179D9C -sub_8179D9C: @ 8179D9C - push {lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085F0550 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - adds r1, 0x48 - movs r0, 0x1 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_8179D9C - - thumb_func_start sub_8179DF4 -sub_8179DF4: @ 8179DF4 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r1, =0x0000107e - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x8 - bls _08179E0C - b _08179FA0 -_08179E0C: - lsls r0, 2 - ldr r1, =_08179E24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08179E24: - .4byte _08179E48 - .4byte _08179E84 - .4byte _08179EC4 - .4byte _08179ED8 - .4byte _08179EEC - .4byte _08179F00 - .4byte _08179F20 - .4byte _08179F44 - .4byte _08179F78 -_08179E48: - adds r0, r6, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - adds r4, r0, 0 - lsls r0, r5, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_2 - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179E84: - adds r0, r6, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - adds r1, r0, 0 - adds r0, r5, 0 - adds r2, r4, 0 - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedObjectPalette - ldrh r0, [r4, 0x4] - movs r1, 0x1 - bl sub_806A068 - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179EC4: - ldr r0, =gUnknown_085B26F4 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179ED8: - ldr r0, =gUnknown_085B26FC - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179EEC: - ldr r0, =gUnknown_085F06A0 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179F00: - ldr r0, =gScriptItemId - ldrb r0, [r0] - bl sub_8179FEC - ldr r0, =gUnknown_0203BD1C - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179F20: - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D7C440 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179F44: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08179FA0 - ldr r0, =gUnknown_08D9BA44 - ldr r4, =gUnknown_0203BD18 - ldr r1, [r4] - adds r1, 0x48 - bl LZDecompressWram - ldr r1, [r4] -_08179F5E: - ldr r0, =0x0000107e - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08179FA0 - .pool -_08179F78: - ldr r0, =gUnknown_08D7C9EC - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r1, =0x0000107e - adds r0, r1 - movs r1, 0 - strh r1, [r0] - movs r0, 0x1 - b _08179FA2 - .pool -_08179FA0: - movs r0, 0 -_08179FA2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8179DF4 - - thumb_func_start sub_8179FAC -sub_8179FAC: @ 8179FAC - push {lr} - ldr r0, =gUnknown_085F0558 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl sub_809882C - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - .pool - thumb_func_end sub_8179FAC - - thumb_func_start sub_8179FEC -sub_8179FEC: @ 8179FEC - push {lr} - lsls r0, 24 - ldr r1, =gSaveBlock1Ptr - lsrs r0, 21 - ldr r2, =0x00000848 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - movs r1, 0 - bl sub_8136F9C - lsls r0, 24 - ldr r2, =gUnknown_0203BD1C - ldr r1, =gUnknown_085F0568 - lsrs r0, 22 - subs r0, 0x4 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r0, =0x000039e2 - strh r0, [r2, 0x4] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8179FEC - - thumb_func_start sub_817A030 -sub_817A030: @ 817A030 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0817A044 - b _0817A154 -_0817A044: - ldr r0, =gTasks - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x8 - ldrsh r3, [r1, r0] - ldr r0, =0x0000010d - adds r5, r2, 0 - cmp r3, r0 - beq _0817A0C8 - cmp r3, r0 - bgt _0817A074 - cmp r3, 0 - beq _0817A088 - cmp r3, 0xFF - beq _0817A0AC - b _0817A104 - .pool -_0817A074: - ldr r0, =0x00000119 - cmp r3, r0 - beq _0817A0E0 - adds r0, 0x10 - cmp r3, r0 - beq _0817A0F8 - b _0817A104 - .pool -_0817A088: - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - ldr r2, =0x00001050 - adds r1, r2 - strb r3, [r1] - ldr r0, [r0] - ldr r1, =0x00001058 - adds r0, r1 - strh r3, [r0] - bl sub_817A5CC - b _0817A104 - .pool -_0817A0AC: - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r2, =0x0000105e - adds r0, r2 - ldrb r0, [r0] - ldrb r1, [r1, 0xA] - bl sub_817A4F8 - b _0817A104 - .pool -_0817A0C8: - bl sub_817A56C - ldr r1, =gUnknown_0203BD18 - ldr r1, [r1] - ldr r2, =0x0000105f - adds r1, r2 - strb r0, [r1] - b _0817A104 - .pool -_0817A0E0: - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r1, =0x0000105d - adds r0, r1 - ldrb r0, [r0] - bl sub_817A434 - b _0817A104 - .pool -_0817A0F8: - ldr r0, =sub_817A1C4 - str r0, [r1] - b _0817A154 - .pool -_0817A104: - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r2, =0x00001058 - adds r1, r0, r2 - subs r2, 0x2 - adds r0, r2 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - bcs _0817A128 - bl sub_817A634 - b _0817A138 - .pool -_0817A128: - cmp r1, r0 - bne _0817A138 - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0xFE - strh r0, [r1, 0x8] -_0817A138: - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - ldr r0, =0x00001058 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0817A154: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A030 - - thumb_func_start sub_817A168 -sub_817A168: @ 817A168 - push {lr} - ldr r0, =sub_817A030 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x1 - strh r0, [r1, 0xA] - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A168 - - thumb_func_start sub_817A194 -sub_817A194: @ 817A194 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl sub_8121F20 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _0817A1B6 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_817A320 - str r0, [r1] -_0817A1B6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A194 - - thumb_func_start sub_817A1C4 -sub_817A1C4: @ 817A1C4 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203BC9C - ldrb r1, [r0] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, =gPlayerParty - adds r5, r0 - ldr r1, =gSaveBlock1Ptr - ldr r0, =gScriptItemId - ldrh r0, [r0] - lsls r0, 3 - ldr r2, =0x00000848 - adds r0, r2 - ldr r4, [r1] - adds r4, r0 - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_8136FE4 - ldr r6, =gUnknown_0203BC9E - strh r0, [r6] - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl sub_8137044 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0817A248 - ldr r0, =gStringVar4 - ldr r1, =gText_Var1AteTheVar2 - bl StringExpandPlaceholders - b _0817A268 - .pool -_0817A248: - cmp r0, 0 - ble _0817A260 - ldr r0, =gStringVar4 - ldr r1, =gText_Var1HappilyAteVar2 - bl StringExpandPlaceholders - b _0817A268 - .pool -_0817A260: - ldr r0, =gStringVar4 - ldr r1, =gText_Var1DisdainfullyAteVar2 - bl StringExpandPlaceholders -_0817A268: - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_817A194 - str r1, [r0] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A1C4 - - thumb_func_start sub_817A2C0 -sub_817A2C0: @ 817A2C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0817A304 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - bl Free - bl FreeMonSpritesGfx -_0817A304: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A2C0 - - thumb_func_start sub_817A320 -sub_817A320: @ 817A320 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_817A2C0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A320 - - thumb_func_start sub_817A358 -sub_817A358: @ 817A358 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gUnknown_0202499C - movs r1, 0x30 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203BD18 - mov r9, r0 - ldr r0, [r0] - ldr r2, =0x00001054 - adds r1, r0, r2 - strh r4, [r1] - ldr r1, =0x0000105b - adds r0, r1 - mov r2, r8 - strb r2, [r0] - adds r0, r5, 0 - bl GetNature - mov r2, r9 - ldr r1, [r2] - ldr r2, =0x0000105a - adds r1, r2 - strb r0, [r1] - ldr r7, =gSprites - mov r1, r8 - lsls r0, r1, 4 - add r0, r8 - lsls r5, r0, 2 - adds r6, r5, r7 - strh r4, [r6, 0x32] - adds r0, r7, 0 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - mov r2, r9 - ldr r0, [r2] - ldr r1, =0x00001053 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - adds r0, r4, 0 - bl IsPokeSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _0817A402 - adds r0, r7, 0 - adds r0, 0x10 - adds r0, r5, r0 - ldr r1, =gUnknown_085F05B0 - str r1, [r0] - ldrb r3, [r6, 0x1] - movs r0, 0x3 - orrs r3, r0 - strb r3, [r6, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r6, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r6, 0 - bl CalcCenterToCornerVec - mov r2, r9 - ldr r0, [r2] - ldr r1, =0x00001053 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0817A402: - mov r0, r8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817A358 - - thumb_func_start sub_817A434 -sub_817A434: @ 817A434 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r3 - movs r0, 0x30 - strh r0, [r2, 0x20] - movs r0, 0x50 - strh r0, [r2, 0x22] - ldr r0, =0x0000fff8 - strh r0, [r2, 0x2E] - movs r0, 0x1 - strh r0, [r2, 0x30] - adds r3, 0x1C - adds r1, r3 - ldr r0, =sub_817A468 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_817A434 - - thumb_func_start sub_817A468 -sub_817A468: @ 817A468 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x2E] - ldrh r2, [r4, 0x22] - adds r1, r0, r2 - strh r1, [r4, 0x22] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _0817A48E - ldrh r0, [r4, 0x32] - movs r1, 0 - bl PlayCry1 -_0817A48E: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bne _0817A49A - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0817A49A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A468 - - thumb_func_start sub_817A4A4 -sub_817A4A4: @ 817A4A4 - push {r4,r5,lr} - movs r0, 0xBC - movs r1, 0x64 - movs r2, 0x2 - bl sub_8136444 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gSprites - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r0, r3, r5 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] - adds r1, r5, 0 - adds r1, 0x10 - adds r1, r3, r1 - ldr r2, =gUnknown_085F0664 - str r2, [r1] - adds r5, 0x1C - adds r3, r5 - ldr r1, =SpriteCallbackDummy - str r1, [r3] - bl InitSpriteAffineAnim - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817A4A4 - - thumb_func_start sub_817A4F8 -sub_817A4F8: @ 817A4F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gSprites - mov r8, r0 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - mov r0, r8 - adds r4, r6, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - cmp r5, 0 - bne _0817A540 - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_085F0668 - b _0817A548 - .pool -_0817A540: - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_085F066C -_0817A548: - str r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl InitSpriteAffineAnim - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A4F8 - - thumb_func_start sub_817A56C -sub_817A56C: @ 817A56C - push {lr} - ldr r0, =gUnknown_085F06A8 - movs r1, 0xAE - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r2, =0x0000fff4 - strh r2, [r1, 0x2E] - movs r2, 0x1 - strh r2, [r1, 0x30] - pop {r1} - bx r1 - .pool - thumb_func_end sub_817A56C - - thumb_func_start sub_817A5A0 -sub_817A5A0: @ 817A5A0 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x20] - subs r0, 0x4 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x2E] - ldrh r3, [r2, 0x22] - adds r1, r0, r3 - strh r1, [r2, 0x22] - ldrh r1, [r2, 0x30] - adds r0, r1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0817A5C6 - adds r0, r2, 0 - bl DestroySprite -_0817A5C6: - pop {r0} - bx r0 - thumb_func_end sub_817A5A0 - - thumb_func_start sub_817A5CC -sub_817A5CC: @ 817A5CC - push {r4-r7,lr} - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - ldr r0, =0x00001056 - adds r3, r1, r0 - movs r0, 0x1 - strh r0, [r3] - ldr r2, =gUnknown_085EFEBC - ldr r7, =0x0000105a - adds r1, r7 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrb r2, [r0] - movs r4, 0 - ldr r5, =gUnknown_085EFF00 - adds r6, r5, 0 - subs r6, 0xA -_0817A5F0: - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, r1, r6 - ldrh r0, [r0] - ldrh r7, [r3] - adds r0, r7 - strh r0, [r3] - adds r1, r5 - movs r7, 0 - ldrsh r0, [r1, r7] - cmp r0, 0x1 - beq _0817A61A - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r4, 0x7 - bls _0817A5F0 -_0817A61A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A5CC - - thumb_func_start sub_817A634 -sub_817A634: @ 817A634 - push {r4,lr} - ldr r0, =gUnknown_0203BD18 - ldr r4, [r0] - ldr r1, =0x00001050 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0x5A - bls _0817A646 - b _0817A90E -_0817A646: - lsls r0, 2 - ldr r1, =_0817A65C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817A65C: - .4byte _0817A7C8 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A818 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A858 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A8A2 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A8FC - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E -_0817A7C8: - ldr r1, =gUnknown_085EFEBC - ldr r2, =0x0000105a - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r1, [r0] - ldr r3, =0x00001051 - adds r0, r4, r3 - strb r1, [r0] - ldr r1, =0x0000105b - adds r0, r4, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - adds r0, r4, 0 - stm r0!, {r1} - movs r2, 0x44 - bl memcpy - ldr r2, =0x00001050 - adds r1, r4, r2 - movs r0, 0xA - strb r0, [r1] - b _0817A90E - .pool -_0817A818: - bl sub_817A91C - ldr r1, =gUnknown_085EFEBC - ldr r3, =0x0000105a - adds r0, r4, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0817A850 - ldr r2, [r4] - ldrb r0, [r2, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - ldr r0, [r4] - ldr r1, =gUnknown_085F04FC - str r1, [r0, 0x10] - bl InitSpriteAffineAnim -_0817A850: - ldr r0, =0x00001050 - adds r1, r4, r0 - movs r0, 0x32 - strb r0, [r1] -_0817A858: - ldr r1, =gUnknown_085EFEBC - ldr r2, =0x0000105a - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x1 - adds r2, r0, r1 - ldrb r1, [r2] - cmp r1, 0 - beq _0817A8C8 - ldr r3, =0x00001053 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0817A898 - ldr r0, [r4] - adds r1, 0xA - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAffineAnim - b _0817A8C8 - .pool -_0817A898: - ldr r0, [r4] - ldrb r1, [r2] - bl StartSpriteAffineAnim - b _0817A8C8 -_0817A8A2: - bl sub_817A9E4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0817A90E - ldr r1, =0x00001072 - adds r0, r4, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0817A8E0 - ldr r3, =0x00001051 - adds r1, r4, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_817A91C -_0817A8C8: - ldr r0, =0x00001050 - adds r1, r4, r0 - movs r0, 0x3C - strb r0, [r1] - b _0817A90E - .pool -_0817A8E0: - ldr r0, [r4] - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r2, =0x00001050 - adds r1, r4, r2 - movs r0, 0x46 - strb r0, [r1] - b _0817A90E - .pool -_0817A8FC: - bl sub_817AA3C - ldr r3, =0x00001051 - adds r0, r4, r3 - movs r1, 0 - strb r1, [r0] - ldr r2, =0x00001050 - adds r0, r4, r2 - strb r1, [r0] -_0817A90E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A634 - - thumb_func_start sub_817A91C -sub_817A91C: @ 817A91C - push {r4-r7,lr} - ldr r0, =gUnknown_0203BD18 - ldr r5, [r0] - movs r4, 0 - movs r0, 0x83 - lsls r0, 5 - adds r7, r5, r0 - ldr r1, =gUnknown_085EFEEE - mov r12, r1 - ldr r2, =0x00001051 - adds r6, r5, r2 -_0817A932: - lsls r2, r4, 1 - adds r3, r7, r2 - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - add r2, r12 - ldrh r0, [r2] - strh r0, [r3] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _0817A932 - ldr r0, =0x00001068 - adds r6, r5, r0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0817A9DC - movs r2, 0x83 - lsls r2, 5 - adds r4, r5, r2 - movs r1, 0 - ldrsh r0, [r4, r1] - adds r2, 0x4 - adds r1, r5, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl Sin - ldr r2, =0x00001074 - adds r1, r5, r2 - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r4, r1] - subs r2, 0xE - adds r1, r5, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl Cos - ldr r2, =0x00001076 - adds r1, r5, r2 - strh r0, [r1] - ldrh r0, [r6] - ldr r1, =0x00001078 - adds r4, r5, r1 - strh r0, [r4] - ldr r0, [r5] - ldrh r1, [r0, 0x24] - adds r2, 0x4 - adds r0, r5, r2 - strh r1, [r0] - ldr r0, [r5] - ldrh r1, [r0, 0x26] - adds r2, 0x2 - adds r0, r5, r2 - strh r1, [r0] - bl sub_817AB68 - ldrh r0, [r4] - strh r0, [r6] - bl sub_817AA54 - ldrh r0, [r4] - strh r0, [r6] - movs r0, 0 - b _0817A9DE - .pool -_0817A9DC: - movs r0, 0x1 -_0817A9DE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_817A91C - - thumb_func_start sub_817A9E4 -sub_817A9E4: @ 817A9E4 - push {r4,r5,lr} - ldr r0, =gUnknown_0203BD18 - ldr r2, [r0] - ldr r1, =0x00001078 - adds r0, r2, r1 - ldr r5, =0x00001068 - adds r4, r2, r5 - ldrh r1, [r0] - ldrh r0, [r4] - subs r1, r0 - lsls r1, 16 - ldr r3, [r2] - lsrs r1, 15 - movs r5, 0x85 - lsls r5, 4 - adds r0, r2, r5 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3, 0x24] - ldr r3, [r2] - movs r0, 0xC5 - lsls r0, 4 - adds r2, r0 - adds r2, r1 - ldrh r0, [r2] - strh r0, [r3, 0x26] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - beq _0817AA34 - movs r0, 0 - b _0817AA36 - .pool -_0817AA34: - movs r0, 0x1 -_0817AA36: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_817A9E4 - - thumb_func_start sub_817AA3C -sub_817AA3C: @ 817AA3C - push {lr} - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r0, [r0] - bl FreeSpriteOamMatrix - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_817AA3C - - thumb_func_start sub_817AA54 -sub_817AA54: @ 817AA54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r0, =gUnknown_0203BD18 - ldr r7, [r0] - ldr r1, =0x00001070 - adds r0, r7, r1 - ldrh r0, [r0] - mov r9, r0 - ldr r2, =0x00001078 - adds r0, r7, r2 - ldrh r0, [r0] - mov r3, r9 - subs r0, r3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r4, =0x0000107a - adds r1, r7, r4 - subs r2, 0xC - adds r0, r7, r2 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldr r3, =0x0000107c - adds r1, r7, r3 - subs r4, 0xC - adds r0, r7, r4 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r5, 0 - mov r0, r8 - subs r0, 0x1 - cmp r5, r0 - bge _0817AB20 - ldr r1, [sp] - lsls r0, r1, 16 - asrs r0, 16 - str r0, [sp, 0x8] - ldr r2, [sp, 0x4] - lsls r0, r2, 16 - asrs r0, 16 - mov r10, r0 -_0817AABE: - mov r3, r9 - adds r0, r3, r5 - lsls r0, 1 - movs r4, 0x85 - lsls r4, 4 - adds r2, r7, r4 - adds r2, r0 - ldrh r6, [r2] - ldr r3, [sp, 0x8] - subs r1, r6, r3 - movs r4, 0xC5 - lsls r4, 4 - adds r3, r7, r4 - adds r3, r0 - ldrh r4, [r3] - mov r0, r10 - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r5, 0x1 - adds r0, r1, 0 - muls r0, r5 - mov r1, r8 - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl __divsi3 - subs r6, r0 - ldr r2, [sp, 0xC] - strh r6, [r2] - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - muls r0, r5 - mov r1, r8 - bl __divsi3 - ldr r3, [sp, 0x10] - ldrh r1, [r3] - subs r1, r0 - strh r1, [r3] - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - subs r0, 0x1 - cmp r5, r0 - blt _0817AABE -_0817AB20: - mov r0, r9 - add r0, r8 - subs r0, 0x1 - lsls r0, 1 - movs r2, 0x85 - lsls r2, 4 - adds r1, r7, r2 - adds r1, r0 - mov r3, sp - ldrh r3, [r3] - strh r3, [r1] - movs r4, 0xC5 - lsls r4, 4 - adds r1, r7, r4 - adds r1, r0 - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r1] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817AA54 - - thumb_func_start sub_817AB68 -sub_817AB68: @ 817AB68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, =gUnknown_0203BD18 - ldr r6, [r0] - movs r0, 0 - str r0, [sp] - ldr r1, =0x0000107a - adds r0, r6, r1 - ldr r2, =0x00001074 - adds r1, r6, r2 - ldrh r2, [r0] - ldrh r0, [r1] - subs r2, r0 - ldr r3, =0x0000107c - adds r0, r6, r3 - ldr r1, =0x00001076 - adds r3, r6, r1 - ldrh r1, [r0] - ldrh r0, [r3] - subs r1, r0 - ldr r3, =0x00001068 - adds r3, r6 - mov r9, r3 - movs r0, 0x83 - lsls r0, 5 - adds r0, r6 - mov r8, r0 - lsls r2, 16 - asrs r2, 16 - str r2, [sp, 0x4] - lsls r1, 16 - asrs r1, 16 - mov r10, r1 -_0817ABB2: - ldr r1, =0x0000106a - adds r0, r6, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _0817ABC0 - negs r0, r0 -_0817ABC0: - lsls r0, 16 - ldr r3, =0x00001066 - adds r7, r6, r3 - lsrs r0, 16 - ldrh r1, [r7] - adds r0, r1 - lsls r4, r0, 16 - strh r0, [r7] - ldr r2, =0x00001064 - adds r0, r6, r2 - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - bge _0817ABE2 - movs r0, 0x1 - str r0, [sp] -_0817ABE2: - ldr r1, =0x00001078 - adds r0, r6, r1 - ldrh r0, [r0] - mov r3, r9 - ldrh r1, [r3] - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r1, 0 - beq _0817ACB8 - ldr r0, [sp] - cmp r0, 0 - bne _0817AC54 - mov r1, r8 - movs r3, 0 - ldrsh r0, [r1, r3] - lsrs r4, 24 - adds r1, r2, r4 - lsls r1, 16 - asrs r1, 16 - bl Sin - lsls r5, 1 - movs r2, 0x85 - lsls r2, 4 - adds r1, r6, r2 - adds r1, r5 - ldr r3, [sp, 0x4] - adds r0, r3, r0 - strh r0, [r1] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrh r1, [r7] - adds r1, r4 - b _0817AC80 - .pool -_0817AC54: - mov r1, r8 - movs r3, 0 - ldrsh r0, [r1, r3] - lsrs r4, 24 - subs r1, r2, r4 - lsls r1, 16 - asrs r1, 16 - bl Sin - lsls r5, 1 - movs r2, 0x85 - lsls r2, 4 - adds r1, r6, r2 - adds r1, r5 - ldr r3, [sp, 0x4] - adds r0, r3, r0 - strh r0, [r1] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrh r1, [r7] - subs r1, r4 -_0817AC80: - lsls r1, 16 - asrs r1, 16 - bl Cos - movs r3, 0xC5 - lsls r3, 4 - adds r1, r6, r3 - adds r1, r5 - add r0, r10 - strh r0, [r1] - ldr r1, =0x00001062 - adds r0, r6, r1 - ldrh r0, [r0] - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - mov r3, r8 - strh r0, [r3] - mov r1, r9 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - b _0817ABB2 - .pool -_0817ACB8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_817AB68 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex.s b/asm/pokedex.s index 3d69281c2..cb40f0eda 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -379,7 +379,7 @@ _080BB582: b _080BB74C .pool _080BB5FC: - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl ResetPaletteFade @@ -497,7 +497,7 @@ _080BB71C: adds r1, r2 ldrb r1, [r1] bl sub_80BC8D4 - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r1, =0x0000ffff movs r2, 0x80 bl m4aMPlayVolumeControl @@ -1246,7 +1246,7 @@ _080BBE18: bl DestroyTask ldr r0, =sub_8086194 bl SetMainCallback2 - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r1, =0x0000ffff movs r2, 0x80 lsls r2, 1 @@ -2028,7 +2028,7 @@ _080BC56E: bl SetGpuReg movs r0, 0 bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0855D298 + ldr r1, =gBgTemplates_0855D298 movs r0, 0 movs r2, 0x4 bl InitBgsFromTemplates @@ -2054,7 +2054,7 @@ _080BC56E: adds r1, r0, 0 movs r0, 0 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 str r6, [sp] @@ -2119,7 +2119,7 @@ _080BC682: lsls r0, 31 lsrs r0, 31 bl sub_80BC844 - ldr r0, =gUnknown_0855D2A8 + ldr r0, =sWindowTemplates_0855D2A8 bl InitWindows bl DeactivateAllTextPrinters movs r0, 0 @@ -2141,9 +2141,9 @@ _080BC6CC: ldr r1, =gReservedSpritePaletteCount movs r0, 0x8 strb r0, [r1] - ldr r0, =gUnknown_0855D26C + ldr r0, =gSpriteSheets_0855D26C bl LoadCompressedObjectPic - ldr r0, =gUnknown_0855D27C + ldr r0, =gSpritePalettes_0855D26C bl LoadSpritePalettes adds r0, r5, 0 bl sub_80BDB7C @@ -2291,14 +2291,14 @@ sub_80BC844: @ 80BC844 lsrs r0, 24 cmp r0, 0x1 bne _080BC858 - ldr r0, =gUnknown_08DC17B6 + ldr r0, =gPokedexHoennBg_Pal + 0x2 b _080BC862 .pool _080BC858: bl IsNationalPokedexEnabled cmp r0, 0 bne _080BC870 - ldr r0, =gUnknown_08DC16F6 + ldr r0, =gPokedexText_Pal + 2 _080BC862: movs r1, 0x1 movs r2, 0xBE @@ -2306,12 +2306,12 @@ _080BC862: b _080BC87A .pool _080BC870: - ldr r0, =gUnknown_08DC1876 + ldr r0, =gPokedexNationalBg_Pal + 0x2 movs r1, 0x1 movs r2, 0xBE bl LoadPalette _080BC87A: - bl sub_8098C64 + bl GetOverworldTextboxPalettePtr movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -2609,7 +2609,7 @@ _080BCACC: movs r7, 0x1 mov r9, r7 _080BCADA: - ldr r1, =gUnknown_0855C6A4 + ldr r1, =gPokedexOrder_Alphabetical lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -2687,7 +2687,7 @@ _080BCB78: ldr r7, =gUnknown_02039B4C ldr r6, =0x0000060c _080BCB82: - ldr r1, =gUnknown_0855C9DA + ldr r1, =gPokedexOrder_Weight asrs r0, 15 adds r0, r1 ldrh r0, [r0] @@ -2752,7 +2752,7 @@ _080BCC08: ldr r0, =0x00000181 mov r9, r0 _080BCC16: - ldr r1, =gUnknown_0855C9DA + ldr r1, =gPokedexOrder_Weight lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -2819,7 +2819,7 @@ _080BCCA0: ldr r7, =gUnknown_02039B4C ldr r6, =0x0000060c _080BCCAA: - ldr r1, =gUnknown_0855CCDE + ldr r1, =gPokedexOrder_Height asrs r0, 15 adds r0, r1 ldrh r0, [r0] @@ -2884,7 +2884,7 @@ _080BCD30: ldr r0, =0x00000181 mov r9, r0 _080BCD3E: - ldr r1, =gUnknown_0855CCDE + ldr r1, =gPokedexOrder_Height lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -3035,7 +3035,7 @@ sub_80BCE2C: @ 80BCE2C str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r8 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r3} mov r8, r3 @@ -3517,7 +3517,7 @@ sub_80BD23C: @ 80BD23C b _080BD266 .pool _080BD264: - ldr r4, =gUnknown_0855D2FE + ldr r4, =sText_TenDashes _080BD266: str r5, [sp] movs r0, 0 @@ -6163,7 +6163,7 @@ sub_80BE8DC: @ 80BE8DC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4,r5} pop {r0} @@ -6369,7 +6369,7 @@ _080BEACA: b _080BEDA0 .pool _080BEAF0: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -7228,7 +7228,7 @@ _080BF2A8: beq _080BF2B6 b _080BF5B2 _080BF2B6: - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayStop ldr r5, =gUnknown_02039B4C ldr r0, [r5] @@ -7257,7 +7257,7 @@ _080BF2B6: b _080BF5B2 .pool _080BF310: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -7592,7 +7592,7 @@ _080BF636: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayContinue ldr r0, =gUnknown_02039B4C ldr r0, [r0] @@ -7634,7 +7634,7 @@ _080BF6B0: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayContinue ldr r0, =gUnknown_02039B4C ldr r0, [r0] @@ -7689,7 +7689,7 @@ _080BF73C: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayContinue ldr r0, =gUnknown_02039B4C ldr r0, [r0] @@ -7856,7 +7856,7 @@ _080BF88E: b _080BFB94 .pool _080BF8D8: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -8543,7 +8543,7 @@ _080BFE92: b _080C0074 .pool _080BFF0C: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -8751,14 +8751,14 @@ _080C00E8: ands r1, r0 cmp r1, 0 beq _080C0114 - ldr r0, =gUnknown_08DC16F6 + ldr r0, =gPokedexText_Pal + 2 movs r1, 0x31 movs r2, 0xE bl LoadPalette b _080C011E .pool _080C0114: - ldr r0, =gUnknown_08DC1756 + ldr r0, =gPokedexCaughtScreenFade_Pal + 0x2 movs r1, 0x31 movs r2, 0xE bl LoadPalette @@ -8824,7 +8824,7 @@ _080C0168: adds r3, r5 ldrb r4, [r3, 0x5] lsrs r4, 4 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality lsls r4, 4 movs r2, 0x80 lsls r2, 1 @@ -8940,7 +8940,7 @@ _080C0250: b _080C028E .pool _080C028C: - ldr r0, =gUnknown_0856E688 + ldr r0, =sText_TenDashes2 _080C028E: movs r1, 0x84 movs r2, 0x19 @@ -8950,7 +8950,7 @@ _080C028E: add r4, sp, 0x10 adds r0, r6, 0 adds r1, r4, 0 - bl sub_81DB468 + bl CopyMonCategoryText adds r0, r4, 0 b _080C02AE .pool @@ -9974,7 +9974,7 @@ sub_80C0A88: @ 80C0A88 str r4, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4-r6} pop {r0} @@ -11022,7 +11022,7 @@ sub_80C1270: @ 80C1270 movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4,r5} pop {r0} @@ -11135,7 +11135,7 @@ _080C1332: bl DeactivateAllTextPrinters movs r0, 0 bl PutWindowTilemap - ldr r1, =gUnknown_08DC3304 + ldr r1, =gPokedexSearchMenu_Gfx movs r2, 0x80 lsls r2, 6 str r5, [sp] @@ -11145,7 +11145,7 @@ _080C1332: bl IsNationalPokedexEnabled cmp r0, 0 bne _080C13E4 - ldr r1, =gUnknown_08DC3A0C + ldr r1, =gPokedexSearch2_Tilemap movs r0, 0x3 movs r2, 0 movs r3, 0 @@ -11153,13 +11153,13 @@ _080C1332: b _080C13F0 .pool _080C13E4: - ldr r1, =gUnknown_08DC3870 + ldr r1, =gPokedexSearch1_Tilemap movs r0, 0x3 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer _080C13F0: - ldr r0, =gUnknown_08DC3286 + ldr r0, =gPokedexSearchMenu_Pal + 0x2 movs r1, 0x1 movs r2, 0x7E bl LoadPalette @@ -11172,9 +11172,9 @@ _080C13F0: b _080C1516 .pool _080C1414: - ldr r0, =gUnknown_0855D26C + ldr r0, =gSpriteSheets_0855D26C bl LoadCompressedObjectPic - ldr r0, =gUnknown_0855D27C + ldr r0, =gSpritePalettes_0855D26C bl LoadSpritePalettes adds r0, r4, 0 bl sub_80C2594 diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s index b599b365c..5f9e01974 100644 --- a/asm/pokedex_area_screen.s +++ b/asm/pokedex_area_screen.s @@ -362,7 +362,7 @@ sub_813CD04: @ 813CD04 adds r1, r3, 0 bl get_mapheader_by_bank_and_number ldrb r0, [r0, 0x14] - bl sub_8123F9C + bl CorrectSpecialMapSecId ldr r2, [r4] movs r1, 0x88 lsls r1, 1 @@ -653,7 +653,7 @@ _0813CF5A: adds r0, r4, 0 adds r1, r6, 0 str r3, [sp] - bl sub_8123E9C + bl GetRegionMapSectionIdAt ldr r3, [sp] ldr r2, [r3] mov r7, r9 @@ -1338,11 +1338,11 @@ _0813D4F8: bl sub_8122D88 movs r0, 0x1 movs r1, 0x1 - bl sub_8124288 + bl CreateRegionMapPlayerIcon movs r1, 0x8 negs r1, r1 movs r0, 0 - bl sub_8123824 + bl PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs b _0813D584 .pool _0813D520: @@ -1781,7 +1781,7 @@ sub_813D8A8: @ 813D8A8 str r1, [sp] ldr r0, =0x00030600 str r0, [sp, 0x4] - ldr r0, =gUnknown_08DC4140 + ldr r0, =gPokedexAreaScreenAreaUnknown_Gfx bl LZ77UnCompWram mov r0, sp bl LoadSpriteSheet @@ -1831,7 +1831,7 @@ _0813D924: lsls r6, 16 adds r1, r6 asrs r1, 16 - ldr r0, =gUnknown_085B40FC + ldr r0, =gSpriteTemplate_85B40FC movs r2, 0x8C movs r3, 0 bl CreateSprite diff --git a/asm/pokedex_cry_screen.s b/asm/pokedex_cry_screen.s index f6d5ec271..846b20881 100644 --- a/asm/pokedex_cry_screen.s +++ b/asm/pokedex_cry_screen.s @@ -239,7 +239,7 @@ sub_8145534: @ 8145534 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r0, [r0, 0x4] cmp r0, 0 bge _08145582 @@ -675,9 +675,9 @@ _08145884: b _081458F8 .pool _081458B0: - ldr r0, =gUnknown_085B8C80 + ldr r0, =gCryMeterNeedleSpriteSheets bl LoadSpriteSheets - ldr r0, =gUnknown_085B8C90 + ldr r0, =gCryMeterNeedleSpritePalettes bl LoadSpritePalettes ldr r0, =gUnknown_085B8C68 ldrb r1, [r4, 0x4] diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s index ed97cd672..5dbfb2ee3 100644 --- a/asm/pokemon_1.s +++ b/asm/pokemon_1.s @@ -581,7 +581,7 @@ _080689E4: beq _080689CE _080689F4: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080689CE @@ -827,7 +827,7 @@ _08068BE0: ldrb r0, [r1, 0x13] lsls r0, 3 orrs r2, r0 - ldr r1, =gTrainerClassToNameIndex + ldr r1, =gFacilityClassToTrainerClass ldr r0, =gUnknown_08329D54 lsls r2, 1 adds r2, r0 @@ -1310,8 +1310,8 @@ _08068FF4: bx r0 thumb_func_end CalculateMonStats - thumb_func_start sub_8069004 -sub_8069004: @ 8069004 + thumb_func_start BoxMonToMon +BoxMonToMon: @ 8069004 push {r4,lr} sub sp, 0x4 adds r2, r0, 0 @@ -1346,7 +1346,7 @@ sub_8069004: @ 8069004 pop {r4} pop {r0} bx r0 - thumb_func_end sub_8069004 + thumb_func_end BoxMonToMon thumb_func_start GetLevelFromMonExp GetLevelFromMonExp: @ 8069054 diff --git a/asm/pokemon_animation.s b/asm/pokemon_animation.s deleted file mode 100644 index 870e658f7..000000000 --- a/asm/pokemon_animation.s +++ /dev/null @@ -1,11782 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start nullsub_69 -nullsub_69: @ 817F3EC - bx lr - thumb_func_end nullsub_69 - - thumb_func_start sub_817F3F0 -sub_817F3F0: @ 817F3F0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r9, r0 - mov r8, r1 - adds r5, r2, 0 - adds r4, r3, 0 - lsls r5, 16 - negs r5, r5 - lsls r4, 16 - negs r4, r4 - lsrs r4, 16 - mov r0, r8 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - asrs r5, 16 - adds r1, r5, 0 - bl Cos - adds r6, r0, 0 - lsls r4, 16 - asrs r4, 16 - mov r0, r8 - adds r1, r4, 0 - bl Sin - subs r6, r0 - lsls r6, 16 - lsrs r6, 16 - mov r0, r8 - adds r1, r4, 0 - bl Cos - adds r2, r0, 0 - mov r0, r8 - adds r1, r5, 0 - str r2, [sp] - bl Sin - ldr r2, [sp] - adds r2, r0 - negs r5, r5 - negs r4, r4 - lsls r6, 16 - asrs r6, 16 - lsls r5, 16 - asrs r5, 16 - adds r6, r5 - mov r0, r9 - strh r6, [r0, 0x24] - lsls r2, 16 - asrs r2, 16 - lsls r4, 16 - asrs r4, 16 - adds r2, r4 - strh r2, [r0, 0x26] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_817F3F0 - - thumb_func_start GetSpeciesBackAnimId -GetSpeciesBackAnimId: @ 817F474 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_0860A8C8 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0817F48C - movs r0, 0 - b _0817F492 - .pool -_0817F48C: - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_0817F492: - pop {r1} - bx r1 - thumb_func_end GetSpeciesBackAnimId - - thumb_func_start sub_817F498 -sub_817F498: @ 817F498 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r6, r5, 2 - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0xA - ldrsh r0, [r2, r3] - lsls r3, r0, 16 - movs r4, 0xC - ldrsh r0, [r2, r4] - orrs r3, r0 - movs r0, 0x8 - ldrsh r4, [r2, r0] - mov r8, r1 - ldr r0, =SpriteCallbackDummy - mov r12, r0 - cmp r4, 0 - bne _0817F508 - ldrh r0, [r3, 0x2E] - strh r0, [r2, 0x10] - ldrh r0, [r3, 0x32] - strh r0, [r2, 0x12] - movs r0, 0x1 - strh r0, [r3, 0x30] - strh r4, [r3, 0x2E] - movs r0, 0x2 - adds r1, r6, 0 - ldr r6, =gUnknown_0860AA88 - ldr r7, =gUnknown_03001274 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x32 -_0817F4E2: - strh r4, [r2] - adds r2, 0x2 - adds r0, 0x1 - cmp r0, 0x7 - bls _0817F4E2 - adds r1, r5 - lsls r1, 3 - add r1, r8 - movs r2, 0xE - ldrsh r0, [r1, r2] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - str r0, [r3, 0x1C] - movs r0, 0 - str r0, [r7] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0817F508: - ldr r0, [r3, 0x1C] - cmp r0, r12 - bne _0817F528 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r8 - ldrh r1, [r0, 0x10] - movs r2, 0 - strh r1, [r3, 0x2E] - ldrh r0, [r0, 0x12] - strh r0, [r3, 0x32] - strh r2, [r3, 0x30] - adds r0, r5, 0 - bl DestroyTask -_0817F528: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817F498 - - thumb_func_start LaunchAnimationTaskForFrontSprite -LaunchAnimationTaskForFrontSprite: @ 817F544 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, =sub_817F498 - movs r1, 0x80 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsrs r0, r5, 16 - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - strh r4, [r1, 0xE] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LaunchAnimationTaskForFrontSprite - - thumb_func_start sub_817F578 -sub_817F578: @ 817F578 - lsls r1, 24 - ldr r3, =gUnknown_03001274 - movs r2, 0x1 - str r2, [r3] - ldr r2, =gUnknown_0860AA88 - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_817F578 - - thumb_func_start LaunchAnimationTaskForBackSprite -LaunchAnimationTaskForBackSprite: @ 817F594 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r6, r1, 24 - lsrs r6, 24 - ldr r0, =sub_817F498 - movs r1, 0x80 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - lsrs r0, r5, 16 - strh r0, [r4, 0xA] - strh r5, [r4, 0xC] - ldrh r0, [r5, 0x2E] - lsls r0, 24 - ldr r1, =gBattlePartyID - lsrs r0, 23 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - lsls r1, r6, 1 - ldr r2, =gUnknown_0860AD2F - adds r0, r2 - adds r1, r6 - ldrb r0, [r0] - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =gUnknown_0860ACE4 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end LaunchAnimationTaskForBackSprite - - thumb_func_start sub_817F60C -sub_817F60C: @ 817F60C - ldr r1, =nullsub_69 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_817F60C - - thumb_func_start sub_817F618 -sub_817F618: @ 817F618 - push {r4,r5,lr} - sub sp, 0x10 - lsls r1, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r4, =0xffff0000 - lsls r2, 16 - lsrs r1, 16 - orrs r1, r2 - str r1, [sp] - ldr r1, [sp, 0x4] - ands r1, r4 - orrs r1, r3 - str r1, [sp, 0x4] - ldrb r4, [r0, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817F618 - - thumb_func_start sub_817F670 -sub_817F670: @ 817F670 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, =gUnknown_0860AD68 - str r0, [r4, 0x10] - ldr r0, =gUnknown_03001274 - ldr r0, [r0] - cmp r0, 0x1 - bne _0817F68E - adds r0, r4, 0 - bl InitSpriteAffineAnim -_0817F68E: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817F6A8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0817F6B0 - .pool -_0817F6A8: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim -_0817F6B0: - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F670 - - thumb_func_start sub_817F6D4 -sub_817F6D4: @ 817F6D4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - movs r5, 0x30 - ldrsh r0, [r4, r5] - cmp r0, 0 - bne _0817F6F8 - lsls r0, r1, 16 - negs r0, r0 - lsrs r1, r0, 16 - negs r0, r3 - lsls r0, 16 - lsrs r3, r0, 16 -_0817F6F8: - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - bl sub_817F618 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817F6D4 - - thumb_func_start sub_817F70C -sub_817F70C: @ 817F70C - push {lr} - adds r1, r0, 0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0817F720 - movs r2, 0x24 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x24] -_0817F720: - pop {r0} - bx r0 - thumb_func_end sub_817F70C - - thumb_func_start sub_817F724 -sub_817F724: @ 817F724 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bhi _0817F750 - ldr r1, =gUnknown_03001240 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - strh r2, [r0, 0x6] - strh r2, [r0] - movs r1, 0x1 - strh r1, [r0, 0x4] - strh r2, [r0, 0x2] - strh r2, [r0, 0x8] - movs r0, 0x1 - b _0817F752 - .pool -_0817F750: - movs r0, 0 -_0817F752: - pop {r1} - bx r1 - thumb_func_end sub_817F724 - - thumb_func_start sub_817F758 -sub_817F758: @ 817F758 - push {r4,lr} - ldr r4, =gUnknown_03001270 - ldrb r1, [r4] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 2 - lsls r0, 2 - subs r0, r2, r0 - strb r0, [r4] - ldrb r0, [r4] - bl sub_817F724 - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817F758 - - thumb_func_start sub_817F77C -sub_817F77C: @ 817F77C - push {r4,r5,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - movs r3, 0x4 - negs r3, r3 - ands r3, r0 - movs r5, 0x1 - orrs r3, r5 - strb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - ldr r0, =gUnknown_03001274 - ldr r0, [r0] - cmp r0, 0x1 - bne _0817F800 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817F7C0 - adds r1, r4, 0 - adds r1, 0x3F - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - adds r5, r1, 0 - b _0817F7D0 - .pool -_0817F7C0: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r2, [r0] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r5, r0, 0 -_0817F7D0: - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r2, [r4, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - ldrb r0, [r5] - lsls r0, 31 - lsrs r0, 31 - lsls r0, 3 - orrs r1, r0 - lsls r1, 1 - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] -_0817F800: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817F77C - - thumb_func_start pokemonanimfunc_01 -pokemonanimfunc_01: @ 817F808 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0817F81A - adds r0, r6, 0 - bl sub_817F670 -_0817F81A: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x28 - ble _0817F840 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _0817F88C - .pool -_0817F840: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 9 - movs r1, 0x28 - bl __divsi3 - adds r4, r0, 0 - cmp r0, 0 - bge _0817F854 - adds r4, 0xFF -_0817F854: - asrs r4, 8 - lsls r4, 8 - subs r4, r0, r4 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x20 - bl Cos - adds r0, r5 - strh r0, [r6, 0x38] - movs r0, 0x36 - ldrsh r1, [r6, r0] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F6D4 -_0817F88C: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_01 - - thumb_func_start pokemonanimfunc_02 -pokemonanimfunc_02: @ 817F898 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _0817F8B4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817F8EE - .pool -_0817F8B4: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _0817F8C0 - movs r5, 0x1 -_0817F8C0: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817F8D4 - adds r0, 0xFF -_0817F8D4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 -_0817F8EE: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_02 - - thumb_func_start sub_817F8FC -sub_817F8FC: @ 817F8FC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0817F91C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817F946 - .pool -_0817F91C: - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 7 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817F936 - adds r0, 0xFF -_0817F936: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin -_0817F946: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F8FC - - thumb_func_start pokemonanimfunc_03 -pokemonanimfunc_03: @ 817F95C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x28 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F8FC - ldr r0, =sub_817F8FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_03 - - thumb_func_start sub_817F978 -sub_817F978: @ 817F978 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0817F998 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817F9C4 - .pool -_0817F998: - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 7 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817F9B2 - adds r0, 0xFF -_0817F9B2: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin - negs r0, r0 -_0817F9C4: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F978 - - thumb_func_start pokemonanimfunc_04 -pokemonanimfunc_04: @ 817F9D8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x28 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F978 - ldr r0, =sub_817F978 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_04 - - thumb_func_start sub_817F9F4 -sub_817F9F4: @ 817F9F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0xC0 - lsls r0, 1 - cmp r1, r0 - ble _0817FA14 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0817FA5E - .pool -_0817FA14: - adds r0, r1, 0 - cmp r1, 0 - bge _0817FA1C - adds r0, 0x7F -_0817FA1C: - asrs r2, r0, 7 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0 - blt _0817FA60 - cmp r0, 0x1 - ble _0817FA48 - cmp r0, 0x3 - bgt _0817FA60 - ldr r2, =0xffffff00 - adds r1, r2 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x2E - ldrsh r2, [r4, r1] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 16 - b _0817FA56 - .pool -_0817FA48: - lsls r0, r2, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r1, 17 -_0817FA56: - asrs r1, 16 - bl Sin - negs r0, r0 -_0817FA5E: - strh r0, [r4, 0x26] -_0817FA60: - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F9F4 - - thumb_func_start pokemonanimfunc_1E -pokemonanimfunc_1E: @ 817FA6C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F9F4 - ldr r0, =sub_817F9F4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1E - - thumb_func_start pokemonanimfunc_06 -pokemonanimfunc_06: @ 817FA88 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r0, 0xC0 - lsls r0, 2 - cmp r2, r0 - ble _0817FAA8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0817FB56 - .pool -_0817FAA8: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FAB0 - adds r0, 0x7F -_0817FAB0: - lsls r0, 9 - asrs r0, 16 - cmp r0, 0x5 - bhi _0817FB3C - lsls r0, 2 - ldr r1, =_0817FAC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817FAC8: - .4byte _0817FAE0 - .4byte _0817FAE0 - .4byte _0817FAE4 - .4byte _0817FAE8 - .4byte _0817FB04 - .4byte _0817FB1E -_0817FAE0: - movs r0, 0 - b _0817FB3A -_0817FAE4: - movs r2, 0 - b _0817FB3C -_0817FAE8: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FAF0 - adds r0, 0x7F -_0817FAF0: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _0817FB00 - adds r0, 0x7F -_0817FB00: - asrs r0, 7 - b _0817FB3A -_0817FB04: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FB0C - adds r0, 0x7F -_0817FB0C: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - cmp r0, 0 - bge _0817FB18 - adds r0, 0x7 -_0817FB18: - asrs r0, 3 - subs r0, 0x8 - b _0817FB3A -_0817FB1E: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FB26 - adds r0, 0x7F -_0817FB26: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _0817FB36 - adds r0, 0x7F -_0817FB36: - asrs r0, 7 - adds r0, 0x8 -_0817FB3A: - strh r0, [r4, 0x24] -_0817FB3C: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FB44 - adds r0, 0x7F -_0817FB44: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 -_0817FB56: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_06 - - thumb_func_start pokemonanimfunc_09 -pokemonanimfunc_09: @ 817FB64 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0817FB76 - adds r0, r6, 0 - bl sub_817F670 -_0817FB76: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x28 - ble _0817FB9C - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _0817FC12 - .pool -_0817FB9C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817FBB0 - adds r0, 0xFF -_0817FBB0: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r6, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0817FBE0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x20 - b _0817FBFA -_0817FBE0: - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x8 -_0817FBFA: - bl Sin - adds r0, r5 - strh r0, [r6, 0x38] - movs r0, 0x36 - ldrsh r1, [r6, r0] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F6D4 -_0817FC12: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_09 - - thumb_func_start sub_817FC20 -sub_817FC20: @ 817FC20 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817FC32 - strh r0, [r4, 0x34] -_0817FC32: - ldr r2, =gUnknown_0860AD70 - movs r5, 0x34 - ldrsh r1, [r4, r5] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r2, 0x2 - adds r3, r0, r1 - movs r1, 0 - ldrsb r1, [r3, r1] - movs r5, 0x32 - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0817FC6A - adds r0, r1, 0 - cmp r0, 0 - bne _0817FC60 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FC6A - .pool -_0817FC60: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x34] - strh r1, [r4, 0x32] -_0817FC6A: - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r1, r0, r1 - adds r0, r2, 0x2 - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _0817FC8C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FCBE - .pool -_0817FC8C: - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r5, 0x34 - ldrsh r1, [r4, r5] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C -_0817FCBE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817FC20 - - thumb_func_start pokemonanimfunc_0A -pokemonanimfunc_0A: @ 817FCC4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817FC20 - ldr r0, =sub_817FC20 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0A - - thumb_func_start sub_817FCDC -sub_817FCDC: @ 817FCDC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x90 - lsls r0, 4 - cmp r1, r0 - ble _0817FCF8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817FD12 - .pool -_0817FCF8: - adds r0, r1, 0 - cmp r1, 0 - bge _0817FD00 - adds r0, 0xFF -_0817FD00: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin -_0817FD12: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817FCDC - - thumb_func_start pokemonanimfunc_0F -pokemonanimfunc_0F: @ 817FD24 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817FCDC - ldr r0, =sub_817FCDC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0F - - thumb_func_start sub_817FD44 -sub_817FD44: @ 817FD44 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x90 - lsls r0, 4 - cmp r1, r0 - ble _0817FD60 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817FD78 - .pool -_0817FD60: - adds r0, r1, 0 - cmp r1, 0 - bge _0817FD68 - adds r0, 0xFF -_0817FD68: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl Sin -_0817FD78: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817FD44 - - thumb_func_start pokemonanimfunc_10 -pokemonanimfunc_10: @ 817FD88 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817FD44 - ldr r0, =sub_817FD44 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_10 - - thumb_func_start pokemonanimfunc_11 -pokemonanimfunc_11: @ 817FDA4 - push {r4-r7,lr} - adds r7, r0, 0 - ldrh r2, [r7, 0x32] - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _0817FDC8 - ldr r0, =sub_8184D88 - str r0, [r7, 0x1C] - movs r0, 0 - strh r0, [r7, 0x24] - strh r0, [r7, 0x26] - b _0817FE24 - .pool -_0817FDC8: - movs r0, 0x1 - ands r0, r2 - movs r5, 0xFF - cmp r0, 0 - bne _0817FDD4 - movs r5, 0x1 -_0817FDD4: - movs r1, 0x32 - ldrsh r0, [r7, r1] - cmp r0, 0 - bge _0817FDDE - adds r0, 0x3 -_0817FDDE: - asrs r0, 2 - movs r1, 0x8 - bl Sin - lsls r0, 16 - asrs r6, r0, 16 - movs r0, 0x32 - ldrsh r1, [r7, r0] - adds r4, r1, 0 - cmp r1, 0 - bge _0817FDF6 - adds r4, 0xFF -_0817FDF6: - asrs r4, 8 - lsls r4, 8 - subs r4, r1, r4 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - adds r1, r6, 0 - bl Sin - lsls r5, 24 - asrs r5, 24 - adds r1, r0, 0 - muls r1, r5 - adds r0, r1, 0 - strh r0, [r7, 0x26] - adds r0, r4, 0 - adds r1, r6, 0 - bl Cos - adds r1, r0, 0 - muls r1, r5 - adds r0, r1, 0 - strh r0, [r7, 0x24] -_0817FE24: - ldrh r0, [r7, 0x32] - adds r0, 0x9 - strh r0, [r7, 0x32] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_11 - - thumb_func_start sub_817FE30 -sub_817FE30: @ 817FE30 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r2, =gUnknown_03001240 - ldrh r6, [r4, 0x2E] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrh r0, [r5] - cmp r0, 0 - beq _0817FE54 - subs r0, 0x1 - strh r0, [r5] - b _0817FEF8 - .pool -_0817FE54: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817FE70 - movs r2, 0x8 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0817FE70 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0817FE70: - ldr r2, =gUnknown_03001240 - lsls r1, r6, 16 - asrs r1, 16 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x6 - ldrsh r0, [r5, r2] - cmp r1, r0 - ble _0817FEC4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r5, 0x4] - movs r2, 0x4 - ldrsh r0, [r5, r2] - cmp r0, 0x1 - ble _0817FEB4 - subs r0, r1, 0x1 - movs r1, 0 - strh r0, [r5, 0x4] - movs r0, 0xA - strh r0, [r5] - strh r1, [r4, 0x32] - b _0817FEF2 - .pool -_0817FEB4: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FEF2 - .pool -_0817FEC4: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _0817FED0 - adds r0, 0xFF -_0817FED0: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x80 - lsls r1, 5 - bl Sin - strh r0, [r4, 0x3A] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 -_0817FEF2: - ldrh r0, [r4, 0x32] - adds r0, 0x10 - strh r0, [r4, 0x32] -_0817FEF8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_817FE30 - - thumb_func_start pokemonanimfunc_12 -pokemonanimfunc_12: @ 817FF00 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 2 - strh r0, [r1, 0x6] - strh r3, [r1] - adds r0, r4, 0 - bl sub_817FE30 - ldr r0, =sub_817FE30 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_12 - - thumb_func_start sub_817FF3C -sub_817FF3C: @ 817FF3C - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817FF54 - adds r0, r4, 0 - bl sub_817F670 -_0817FF54: - movs r2, 0x32 - ldrsh r6, [r4, r2] - ldr r1, =gUnknown_03001240 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0] - cmp r6, r1 - ble _0817FF8C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FFAA - .pool -_0817FF8C: - movs r2, 0x8 - ldrsh r1, [r0, r2] - movs r0, 0x80 - lsls r0, 9 - bl __divsi3 - muls r0, r6 - strh r0, [r4, 0x3A] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 -_0817FFAA: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_817FF3C - - thumb_func_start pokemonanimfunc_1F -pokemonanimfunc_1F: @ 817FFB8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3C - strh r0, [r1] - movs r0, 0x14 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_817FF3C - ldr r0, =sub_817FF3C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1F - - thumb_func_start sub_817FFF0 -sub_817FFF0: @ 817FFF0 - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0 - bl sub_817F70C - ldr r1, =gUnknown_03001240 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r6, r0, r1 - movs r0, 0x32 - ldrsh r1, [r5, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818002C - movs r0, 0 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - b _0818006A - .pool -_0818002C: - movs r0, 0x32 - ldrsh r1, [r5, r0] - adds r0, r1, 0 - adds r0, 0xC0 - adds r4, r0, 0 - cmp r0, 0 - bge _0818003E - ldr r2, =0x000001bf - adds r4, r1, r2 -_0818003E: - asrs r4, 8 - lsls r4, 8 - subs r4, r0, r4 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r1, 17 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - negs r0, r0 - strh r0, [r5, 0x24] - movs r2, 0x8 - ldrsh r1, [r6, r2] - adds r0, r4, 0 - bl Sin - ldrh r1, [r6, 0x8] - adds r0, r1 - strh r0, [r5, 0x26] -_0818006A: - ldr r0, =gUnknown_03001240 - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F70C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817FFF0 - - thumb_func_start pokemonanimfunc_14 -pokemonanimfunc_14: @ 8180090 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 2 - strh r0, [r1, 0x6] - movs r0, 0x6 - strh r0, [r1, 0x8] - movs r0, 0x18 - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_817FFF0 - ldr r0, =sub_817FFF0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_14 - - thumb_func_start pokemonanimfunc_15 -pokemonanimfunc_15: @ 81800D0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081800EC - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_081800EC: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _0818010C - ldrh r0, [r4, 0x3C] - movs r1, 0x10 - movs r2, 0 - movs r3, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180128 - .pool -_0818010C: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x10 - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x10 - movs r3, 0 - bl BlendPalette -_08180128: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_15 - - thumb_func_start pokemonanimfunc_16 -pokemonanimfunc_16: @ 8180134 - push {r4-r7,lr} - adds r6, r0, 0 - movs r7, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08180148 - adds r0, r6, 0 - bl sub_817F670 -_08180148: - ldrh r5, [r6, 0x32] - movs r2, 0x32 - ldrsh r0, [r6, r2] - cmp r0, 0x28 - ble _08180170 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08180204 - .pool -_08180170: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bhi _08180196 - ldrh r0, [r6, 0x3C] - adds r0, 0x33 - strh r0, [r6, 0x3C] - movs r7, 0xFF - ands r7, r0 -_08180196: - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _081801C4 - lsls r5, r4, 16 - asrs r0, r5, 16 - movs r1, 0x28 - bl Sin - adds r4, r0, 0 - adds r0, r7, 0 - movs r1, 0x10 - bl Sin - ldr r1, =0xffffff00 - adds r0, r1 - adds r4, r0 - strh r4, [r6, 0x36] - adds r4, r5, 0 - b _081801E4 - .pool -_081801C4: - adds r0, r7, 0 - movs r1, 0x10 - bl Sin - adds r5, r0, 0 - lsls r4, 16 - asrs r0, r4, 16 - movs r1, 0x28 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r5 - subs r1, r0 - strh r1, [r6, 0x36] -_081801E4: - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r6, 0x38] - movs r2, 0x36 - ldrsh r1, [r6, r2] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F618 -_08180204: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_16 - - thumb_func_start pokemonanimfunc_17 -pokemonanimfunc_17: @ 8180210 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - movs r7, 0 - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0818022C - adds r0, r5, 0 - bl sub_817F670 -_0818022C: - ldrh r6, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0x28 - ble _08180258 - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r5, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - mov r0, r8 - strh r0, [r5, 0x26] - b _0818030A - .pool -_08180258: - movs r1, 0x32 - ldrsh r0, [r5, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r6, 0 - subs r0, 0xA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bhi _0818027E - ldrh r0, [r5, 0x3C] - adds r0, 0x33 - strh r0, [r5, 0x3C] - movs r7, 0xFF - ands r7, r0 -_0818027E: - movs r2, 0x30 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _081802A0 - lsls r4, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - ldr r2, =0xffffff00 - adds r1, r2, 0 - subs r1, r0 - strh r1, [r5, 0x36] - b _081802B2 - .pool -_081802A0: - lsls r4, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r5, 0x36] -_081802B2: - adds r6, r4, 0 - adds r0, r7, 0 - movs r1, 0x8 - bl Sin - adds r4, r0, 0 - asrs r0, r6, 16 - movs r1, 0x28 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r4, r1, r4 - subs r4, r0 - strh r4, [r5, 0x38] - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - cmp r4, r1 - beq _081802F0 - movs r2, 0x38 - ldrsh r0, [r5, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _081802EA - adds r0, 0x7 -_081802EA: - lsls r0, 13 - lsrs r0, 16 - mov r8, r0 -_081802F0: - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r5, 0x26] - movs r2, 0x36 - ldrsh r1, [r5, r2] - movs r0, 0x38 - ldrsh r2, [r5, r0] - adds r0, r5, 0 - movs r3, 0 - bl sub_817F618 -_0818030A: - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_17 - - thumb_func_start sub_818031C -sub_818031C: @ 818031C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gUnknown_0860AA80 - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r1, r0, r2 - ldrb r5, [r1] - adds r2, 0x1 - adds r0, r2 - ldrb r6, [r0] - movs r1, 0 - cmp r5, 0xFE - beq _08180358 - subs r0, r6, r7 - muls r0, r5 - adds r1, r6, 0 - bl __divsi3 - lsls r0, 24 - lsrs r1, r0, 24 -_08180358: - cmp r5, 0xFF - bne _08180370 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x26] - b _08180394 - .pool -_08180370: - mov r0, r8 - bl Sin - strh r0, [r4, 0x26] - cmp r7, r6 - bne _08180386 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r0, 0 - b _08180392 -_08180386: - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 -_08180392: - strh r0, [r4, 0x3A] -_08180394: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_818031C - - thumb_func_start pokemonanimfunc_19 -pokemonanimfunc_19: @ 81803A0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x30 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_818031C - ldr r0, =sub_818031C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_19 - - thumb_func_start pokemonanimfunc_1A -pokemonanimfunc_1A: @ 81803BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - lsls r7, r0, 24 - lsrs r5, r7, 24 - mov r8, r5 - cmp r0, 0 - bne _081803DA - adds r0, r4, 0 - bl sub_817F670 -_081803DA: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x23 - ble _08180404 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0818045E - .pool -_08180404: - adds r6, r5, 0 - subs r6, 0xA - lsls r0, r6, 7 - movs r1, 0x14 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r5, 0x9 - bhi _0818042A - movs r2, 0x80 - lsls r2, 1 - lsrs r3, r7, 25 - lsls r3, 9 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - b _0818045E -_0818042A: - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _08180442 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x5 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - b _0818045E -_08180442: - movs r2, 0x80 - lsls r2, 1 - movs r3, 0x23 - mov r0, r8 - subs r3, r0 - lsrs r0, r3, 31 - adds r3, r0 - asrs r3, 1 - lsls r3, 26 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 -_0818045E: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_1A - - thumb_func_start pokemonanimfunc_1B -pokemonanimfunc_1B: @ 8180474 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08180486 - adds r0, r6, 0 - bl sub_817F670 -_08180486: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x64 - ble _081804B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r0, 0 - strh r0, [r6, 0x26] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _081804E8 - .pool -_081804B0: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl Sin - strh r0, [r6, 0x26] - movs r5, 0x80 - lsls r5, 1 - ldr r1, =0x00000ccc - adds r0, r4, 0 - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 -_081804E8: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1B - - thumb_func_start sub_81804F8 -sub_81804F8: @ 81804F8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0818050C - adds r0, r6, 0 - bl sub_817F670 -_0818050C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x64 - ble _08180534 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r6, 0x26] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08180582 - .pool -_08180534: - movs r0, 0x32 - ldrsh r5, [r6, r0] - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 9 - adds r0, r5, 0 - movs r1, 0x64 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0xFF - ands r5, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2E - ldrsh r1, [r6, r0] - adds r0, r4, 0 - bl Sin - strh r0, [r6, 0x26] - movs r4, 0x80 - lsls r4, 1 - adds r0, r5, 0 - ldr r1, =0x00000ccc - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r4, 0 - bl sub_817F6D4 -_08180582: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81804F8 - - thumb_func_start pokemonanimfunc_1C -pokemonanimfunc_1C: @ 8180594 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_81804F8 - ldr r0, =sub_81804F8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1C - - thumb_func_start sub_81805B0 -sub_81805B0: @ 81805B0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081805C4 - adds r0, r6, 0 - bl sub_817F670 -_081805C4: - movs r2, 0x32 - ldrsh r0, [r6, r2] - cmp r0, 0x64 - ble _081805EC - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r6, 0x26] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08180644 - .pool -_081805EC: - movs r0, 0x32 - ldrsh r5, [r6, r0] - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 9 - adds r0, r5, 0 - movs r1, 0x64 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0xFF - ands r5, r0 - lsls r4, 16 - asrs r0, r4, 16 - lsrs r4, 31 - adds r0, r4 - asrs r0, 1 - movs r2, 0x2E - ldrsh r1, [r6, r2] - lsls r1, 17 - asrs r1, 16 - bl Sin - negs r0, r0 - strh r0, [r6, 0x26] - movs r4, 0x80 - lsls r4, 1 - adds r0, r5, 0 - ldr r1, =0x00000ccc - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r4, 0 - bl sub_817F6D4 -_08180644: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81805B0 - - thumb_func_start pokemonanimfunc_18 -pokemonanimfunc_18: @ 8180654 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_81805B0 - ldr r0, =sub_81805B0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_18 - - thumb_func_start pokemonanimfunc_1D -pokemonanimfunc_1D: @ 8180670 - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_817F70C - movs r5, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08180688 - adds r0, r6, 0 - bl sub_817F670 -_08180688: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x64 - ble _081806B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r6, 0x24] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _081806FC - .pool -_081806B0: - movs r0, 0x32 - ldrsh r5, [r6, r0] - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 9 - adds r0, r5, 0 - movs r1, 0x64 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0xFF - ands r5, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - strh r0, [r6, 0x24] - movs r4, 0x80 - lsls r4, 1 - adds r0, r5, 0 - ldr r1, =0x00000ccc - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r4, 0 - bl sub_817F6D4 -_081806FC: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - adds r0, r6, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1D - - thumb_func_start sub_8180714 -sub_8180714: @ 8180714 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0818072A - adds r0, r4, 0 - bl sub_817F670 - strh r6, [r4, 0x34] -_0818072A: - adds r0, r4, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - cmp r2, r0 - ble _08180760 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r6, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081807FE - .pool -_08180760: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08180796 - adds r2, r0, 0 - lsls r0, r2, 1 - cmp r1, r0 - bge _08180796 - movs r0, 0x80 - adds r1, r2, 0 - bl __divsi3 - ldrh r1, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x34] -_08180796: - lsls r0, r5, 16 - asrs r1, r0, 16 - movs r2, 0x80 - lsls r2, 1 - adds r5, r0, 0 - cmp r1, r2 - ble _081807B0 - subs r0, r2, r1 - cmp r0, 0 - bge _081807AC - adds r0, 0x7 -_081807AC: - lsls r0, 13 - lsrs r6, r0, 16 -_081807B0: - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - negs r0, r0 - lsls r1, r6, 16 - asrs r1, 16 - subs r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - asrs r2, r5, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x80 - bl __divsi3 - ldrh r1, [r4, 0x36] - adds r1, r0 - movs r0, 0xFF - ands r1, r0 - strh r1, [r4, 0x36] -_081807FE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8180714 - - thumb_func_start pokemonanimfunc_00 -pokemonanimfunc_00: @ 818080C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x10 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_8180714 - ldr r0, =sub_8180714 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_00 - - thumb_func_start sub_8180828 -sub_8180828: @ 8180828 - push {r4-r6,lr} - adds r5, r0, 0 - movs r6, 0 - movs r0, 0x32 - ldrsh r4, [r5, r0] - movs r2, 0x3A - ldrsh r1, [r5, r2] - movs r0, 0x80 - bl __divsi3 - movs r2, 0x3C - ldrsh r1, [r5, r2] - muls r0, r1 - cmp r4, r0 - ble _08180868 - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r6, [r5, 0x26] - adds r0, r5, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - b _081808D0 - .pool -_08180868: - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08180894 - subs r0, r1, r0 - cmp r0, 0 - bge _08180890 - adds r0, 0x7 -_08180890: - lsls r0, 13 - lsrs r6, r0, 16 -_08180894: - lsls r0, r6, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r5, 0x26] - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x30 - bl Sin - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - lsls r2, r4, 16 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x3A] - ldrh r1, [r5, 0x36] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x36] -_081808D0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8180828 - - thumb_func_start pokemonanimfunc_13 -pokemonanimfunc_13: @ 81808D8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081808F2 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x3 - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] -_081808F2: - adds r0, r4, 0 - bl sub_8180828 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_13 - - thumb_func_start sub_8180900 -sub_8180900: @ 8180900 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_03001240 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x6] - str r1, [sp] - ldr r5, =gUnknown_0860AD8E - movs r3, 0x36 - ldrsh r2, [r4, r3] - lsls r1, r2, 1 - adds r1, r2 - movs r3, 0x8 - ldrsh r2, [r0, r3] - lsls r0, r2, 1 - adds r0, r2 - lsls r6, r0, 3 - adds r1, r6 - adds r2, r1, r5 - adds r0, r5, 0x1 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - mov r9, r2 - subs r0, r2 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - ldrh r7, [r4, 0x34] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0818096C - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_0818096C: - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - adds r0, r6 - adds r5, 0x2 - mov r8, r5 - adds r1, r0, r5 - movs r5, 0 - ldrsb r5, [r1, r5] - cmp r5, 0 - bne _081809B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r4, 0x24] - strh r5, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180A3A - .pool -_081809B0: - lsls r0, r7, 16 - asrs r5, r0, 16 - lsls r0, r5, 7 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - mov r3, r10 - lsls r0, r3, 16 - asrs r0, 16 - muls r0, r5 - movs r1, 0x36 - ldrsh r2, [r4, r1] - lsls r1, r2, 1 - adds r1, r2 - adds r1, r6 - add r1, r8 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl __divsi3 - add r0, r9 - strh r0, [r4, 0x24] - ldr r2, [sp] - lsls r0, r2, 16 - asrs r0, 16 - movs r3, 0x24 - ldrsh r1, [r4, r3] - muls r0, r1 - negs r0, r0 - cmp r0, 0 - bge _08180A04 - adds r0, 0x7 -_08180A04: - lsls r3, r0, 13 - lsrs r3, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - adds r0, r6 - add r0, r8 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r5, r0 - bne _08180A34 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r0, 0 - b _08180A38 -_08180A34: - ldrh r0, [r4, 0x34] - adds r0, 0x1 -_08180A38: - strh r0, [r4, 0x34] -_08180A3A: - adds r0, r4, 0 - bl sub_817F70C - 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_8180900 - - thumb_func_start pokemonanimfunc_05 -pokemonanimfunc_05: @ 8180A50 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 5 - strh r0, [r1, 0x6] - ldrh r0, [r4, 0x3A] - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_8180900 - ldr r0, =sub_8180900 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_05 - - thumb_func_start pokemonanimfunc_20 -pokemonanimfunc_20: @ 8180A8C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180AA8 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180AA8: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180ACC - ldrh r0, [r4, 0x3C] - ldr r3, =0x000002df - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180AE8 - .pool -_08180ACC: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x000002df - movs r1, 0x10 - bl BlendPalette -_08180AE8: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_20 - - thumb_func_start pokemonanimfunc_21 -pokemonanimfunc_21: @ 8180AF8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180B14 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180B14: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180B34 - ldrh r0, [r4, 0x3C] - movs r1, 0x10 - movs r2, 0 - movs r3, 0x1F - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180B50 - .pool -_08180B34: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x10 - movs r3, 0x1F - bl BlendPalette -_08180B50: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_21 - - thumb_func_start pokemonanimfunc_22 -pokemonanimfunc_22: @ 8180B5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180B78 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180B78: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180B98 - ldrh r0, [r4, 0x3C] - movs r3, 0xF8 - lsls r3, 7 - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180BB6 - .pool -_08180B98: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - movs r3, 0xF8 - lsls r3, 7 - movs r1, 0x10 - bl BlendPalette -_08180BB6: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_22 - - thumb_func_start pokemonanimfunc_23 -pokemonanimfunc_23: @ 8180BC4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180BE0 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180BE0: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180C04 - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180C20 - .pool -_08180C04: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x000003ff - movs r1, 0x10 - bl BlendPalette -_08180C20: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_23 - - thumb_func_start pokemonanimfunc_24 -pokemonanimfunc_24: @ 8180C30 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180C4C - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180C4C: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180C70 - ldrh r0, [r4, 0x3C] - ldr r3, =0x00006018 - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180C8C - .pool -_08180C70: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x00006018 - movs r1, 0x10 - bl BlendPalette -_08180C8C: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_24 - - thumb_func_start pokemonanimfunc_25 -pokemonanimfunc_25: @ 8180C9C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_8180CB4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_25 - - thumb_func_start sub_8180CB4 -sub_8180CB4: @ 8180CB4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08180CD6 - movs r0, 0x8 - strh r0, [r4, 0x24] - movs r0, 0x2 - strh r0, [r4, 0x3C] - ldr r0, =sub_8180CE8 - str r0, [r4, 0x1C] -_08180CD6: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180CB4 - - thumb_func_start sub_8180CE8 -sub_8180CE8: @ 8180CE8 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x3C] - subs r1, r0 - strh r1, [r4, 0x24] - adds r0, 0x1 - adds r2, r0, 0 - strh r0, [r4, 0x3C] - lsls r1, 16 - cmp r1, 0 - bgt _08180D32 - lsls r0, r2, 24 - lsrs r2, r0, 24 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r1, [r4, 0x24] - ldr r5, =sub_8180D44 - movs r3, 0x8 - negs r3, r3 -_08180D14: - subs r0, r1, r2 - lsls r0, 16 - ldrh r1, [r4, 0x3A] - adds r1, 0x1 - strh r1, [r4, 0x3A] - adds r1, r2, 0x1 - lsls r1, 24 - lsrs r2, r1, 24 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, r3 - bgt _08180D14 - movs r0, 0x1 - strh r0, [r4, 0x38] - str r5, [r4, 0x1C] -_08180D32: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180CE8 - - thumb_func_start sub_8180D44 -sub_8180D44: @ 8180D44 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x3C] - subs r0, r1 - strh r0, [r4, 0x24] - adds r1, 0x1 - strh r1, [r4, 0x3C] - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl __divsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _08180D84 - strh r2, [r4, 0x38] -_08180D84: - movs r2, 0x80 - lsls r2, 1 - lsls r3, r5, 8 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _08180DAE - strh r1, [r4, 0x24] - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0 - strh r0, [r4, 0x34] - strh r5, [r4, 0x32] - ldr r0, =sub_8180DC0 - str r0, [r4, 0x1C] -_08180DAE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180D44 - - thumb_func_start sub_8180DC0 -sub_8180DC0: @ 8180DC0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0xB - ble _08180E08 - ldrh r0, [r4, 0x32] - subs r0, 0x2 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bge _08180DE2 - movs r0, 0 - strh r0, [r4, 0x32] -_08180DE2: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x32] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180E1C - ldr r0, =sub_8180E28 - str r0, [r4, 0x1C] - b _08180E1C - .pool -_08180E08: - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r2, 0x36 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x36] - adds r0, r1, 0x1 - strh r0, [r4, 0x34] -_08180E1C: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8180DC0 - - thumb_func_start sub_8180E28 -sub_8180E28: @ 8180E28 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - adds r0, 0x2 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _08180E4A - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08180E4A: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180E28 - - thumb_func_start pokemonanimfunc_26 -pokemonanimfunc_26: @ 8180E5C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x34] - ldr r0, =sub_8180E78 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_26 - - thumb_func_start sub_8180E78 -sub_8180E78: @ 8180E78 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x24] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08180EA2 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bgt _08180EA2 - movs r0, 0xA - strh r0, [r4, 0x34] -_08180EA2: - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - ble _08180EBA - movs r1, 0 - movs r0, 0x8 - strh r0, [r4, 0x24] - ldr r0, =0x0000fff8 - strh r0, [r4, 0x26] - strh r1, [r4, 0x36] - ldr r0, =sub_8180ED0 - str r0, [r4, 0x1C] -_08180EBA: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180E78 - - thumb_func_start sub_8180ED0 -sub_8180ED0: @ 8180ED0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Cos - subs r0, 0x8 - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - subs r0, 0x8 - strh r0, [r4, 0x26] - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _08180F08 - movs r0, 0xA0 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - ldr r0, =sub_8180F2C - str r0, [r4, 0x1C] -_08180F08: - ldrh r0, [r4, 0x36] - adds r0, 0x8 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _08180F1A - movs r0, 0x40 - strh r0, [r4, 0x36] -_08180F1A: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180ED0 - - thumb_func_start sub_8180F2C -sub_8180F2C: @ 8180F2C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08180F44 - subs r0, r1, 0x1 - strh r0, [r4, 0x34] - b _08180F96 -_08180F44: - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl Cos - subs r0, 0x4 - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x5 - bl Sin - negs r0, r0 - adds r0, 0x4 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - subs r0, 0x4 - strh r0, [r4, 0x32] - movs r0, 0x32 - ldrsh r3, [r4, r0] - subs r3, 0x20 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 25 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bgt _08180F96 - strh r5, [r4, 0x24] - strh r5, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08180F96: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180F2C - - thumb_func_start pokemonanimfunc_27 -pokemonanimfunc_27: @ 8180FA8 - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x34] - movs r2, 0x34 - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _08180FBA - subs r0, r1, 0x1 - b _08180FFE -_08180FBA: - movs r2, 0 - movs r1, 0x36 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08180FC6 - movs r2, 0x1 -_08180FC6: - strh r2, [r3, 0x36] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - lsls r2, 2 - ldrb r1, [r0] - movs r4, 0x5 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - orrs r0, r2 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _08180FFC - ldrb r0, [r1] - adds r1, r4, 0 - ands r1, r0 - mov r2, r12 - strb r1, [r2] - ldr r0, =sub_8184D88 - str r0, [r3, 0x1C] -_08180FFC: - movs r0, 0x2 -_08180FFE: - strh r0, [r3, 0x34] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_27 - - thumb_func_start pokemonanimfunc_28 -pokemonanimfunc_28: @ 818100C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_8181024 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_28 - - thumb_func_start sub_8181024 -sub_8181024: @ 8181024 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - subs r0, 0x1 - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x26] - adds r1, 0x1 - strh r1, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _08181054 - ldr r0, =0x0000fff0 - strh r0, [r4, 0x24] - movs r0, 0x10 - strh r0, [r4, 0x26] - ldr r0, =sub_8181068 - str r0, [r4, 0x1C] - movs r0, 0xA0 - strh r0, [r4, 0x32] -_08181054: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181024 - - thumb_func_start sub_8181068 -sub_8181068: @ 8181068 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - subs r0, 0x4 - strh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x16 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x16 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r0, 0x32 - ldrsh r3, [r4, r0] - subs r3, 0x20 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 25 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bgt _081810B2 - ldr r0, =sub_81810C4 - str r0, [r4, 0x1C] -_081810B2: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181068 - - thumb_func_start sub_81810C4 -sub_81810C4: @ 81810C4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - subs r1, 0x1 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r1, 16 - cmp r1, 0 - bgt _081810E8 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_081810E8: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81810C4 - - thumb_func_start pokemonanimfunc_29 -pokemonanimfunc_29: @ 81810F8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_8181110 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_29 - - thumb_func_start sub_8181110 -sub_8181110: @ 8181110 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - adds r1, 0x1 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF - ble _08181134 - movs r0, 0 - strh r0, [r4, 0x32] - ldr r0, =sub_8181144 - str r0, [r4, 0x1C] -_08181134: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181110 - - thumb_func_start sub_8181144 -sub_8181144: @ 8181144 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - adds r0, 0x10 - strh r0, [r4, 0x32] - ldrh r2, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bgt _0818117C - ldr r0, =0x0000fff0 - strh r0, [r4, 0x24] - movs r0, 0x10 - strh r0, [r4, 0x26] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r0, =sub_81811A4 - str r0, [r4, 0x1C] - b _08181186 - .pool -_0818117C: - subs r0, r2, 0x2 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] -_08181186: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x32] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8181144 - - thumb_func_start sub_81811A4 -sub_81811A4: @ 81811A4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - adds r1, 0x1 - movs r2, 0 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - lsls r1, 16 - cmp r1, 0 - blt _081811CE - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_081811CE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81811A4 - - thumb_func_start pokemonanimfunc_2A -pokemonanimfunc_2A: @ 81811E0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x2 - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_8181214 - ldr r0, =sub_8181214 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2A - - thumb_func_start sub_8181214 -sub_8181214: @ 8181214 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _08181238 - subs r0, 0x1 - strh r0, [r1] - b _0818134A - .pool -_08181238: - adds r0, r4, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r5, [r4, r1] - cmp r5, 0 - bne _08181270 - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r0, [r0, 0x2] - strh r0, [r4, 0x3C] - ldr r0, =0x0000ffff - strh r0, [r4, 0x34] - movs r0, 0x1 - negs r0, r0 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] - strh r5, [r4, 0x3A] -_08181270: - movs r3, 0x3C - ldrsh r1, [r4, r3] - movs r6, 0x34 - ldrsh r0, [r4, r6] - lsls r0, 1 - muls r1, r0 - ldrh r0, [r4, 0x24] - adds r1, r0 - strh r1, [r4, 0x24] - ldrh r2, [r4, 0x3C] - ldrh r0, [r4, 0x36] - adds r3, r0, 0 - muls r3, r2 - adds r0, r3, 0 - ldrh r6, [r4, 0x26] - adds r2, r0, r6 - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x3A] - adds r0, 0x8 - strh r0, [r4, 0x3A] - adds r1, 0xF - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x1E - bls _081812B8 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 4 - strh r0, [r4, 0x24] - movs r2, 0x34 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x34] - b _081812D4 - .pool -_081812B8: - adds r0, r2, 0 - adds r0, 0xF - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bls _081812DA - movs r3, 0x36 - ldrsh r0, [r4, r3] - lsls r0, 4 - strh r0, [r4, 0x26] - movs r6, 0x36 - ldrsh r0, [r4, r6] - negs r0, r0 - strh r0, [r4, 0x36] -_081812D4: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_081812DA: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _08181332 - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _08181332 - movs r3, 0 - strh r3, [r4, 0x24] - strh r3, [r4, 0x26] - ldr r5, =gUnknown_03001240 - movs r6, 0x2E - ldrsh r0, [r4, r6] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrh r2, [r1, 0x4] - movs r6, 0x4 - ldrsh r0, [r1, r6] - cmp r0, 0x1 - ble _08181328 - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r3, [r4, 0x38] - strh r3, [r4, 0x3A] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0xA - strh r1, [r0] - b _08181332 - .pool -_08181328: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08181332: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C -_0818134A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181214 - - thumb_func_start pokemonanimfunc_2B -pokemonanimfunc_2B: @ 8181354 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x3C] - ldr r0, =sub_8181370 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2B - - thumb_func_start sub_8181370 -sub_8181370: @ 8181370 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3A] - adds r0, 0x4 - strh r0, [r4, 0x3A] - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0xC0 - ble _081813BA - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _081813BA - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - b _081813D2 -_081813BA: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x40 - ble _081813DE - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081813DE - ldr r1, =0xffffff00 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 -_081813D2: - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] -_081813DE: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _08181404 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08181404: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181370 - - thumb_func_start pokemonanimfunc_2C -pokemonanimfunc_2C: @ 8181418 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08181442 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - strh r2, [r4, 0x3A] - strh r2, [r4, 0x38] - strh r2, [r4, 0x36] -_08181442: - ldr r1, =gUnknown_0860AA64 - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r2, r0, 1 - adds r0, r1, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08181464 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081814CE - .pool -_08181464: - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _0818149A - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08181488 - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0x10 - bl BlendPalette - b _08181494 - .pool -_08181488: - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0 - bl BlendPalette -_08181494: - movs r0, 0 - strh r0, [r4, 0x36] - ldr r1, =gUnknown_0860AA64 -_0818149A: - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r1, [r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _081814C8 - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _081814CE - .pool -_081814C8: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_081814CE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_2C - - thumb_func_start sub_81814D4 -sub_81814D4: @ 81814D4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081814E6 - adds r0, r6, 0 - bl sub_817F670 -_081814E6: - adds r0, r6, 0 - bl sub_817F70C - ldr r4, =gUnknown_03001240 - movs r3, 0x2E - ldrsh r1, [r6, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r4 - movs r0, 0x32 - ldrsh r1, [r6, r0] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r1, r0 - ble _0818154C - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r3, 0 - strh r3, [r6, 0x24] - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrh r2, [r1, 0x4] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0x1 - ble _0818153C - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r3, [r6, 0x32] - b _08181588 - .pool -_0818153C: - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08181588 - .pool -_0818154C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r3, 0x8 - ldrsh r1, [r2, r3] - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl Sin - negs r0, r0 - strh r0, [r6, 0x24] - movs r5, 0x80 - lsls r5, 1 - ldr r1, =0x00000ccc - adds r0, r4, 0 - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 -_08181588: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - adds r0, r6, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81814D4 - - thumb_func_start pokemonanimfunc_2D -pokemonanimfunc_2D: @ 81815A0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81814D4 - ldr r0, =sub_81814D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2D - - thumb_func_start sub_81815D4 -sub_81815D4: @ 81815D4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081815E6 - adds r0, r6, 0 - bl sub_817F670 -_081815E6: - adds r0, r6, 0 - bl sub_817F70C - ldr r4, =gUnknown_03001240 - movs r3, 0x2E - ldrsh r1, [r6, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r4 - movs r0, 0x32 - ldrsh r1, [r6, r0] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r1, r0 - ble _0818164C - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r3, 0 - strh r3, [r6, 0x24] - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrh r2, [r1, 0x4] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0x1 - ble _0818163C - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r3, [r6, 0x32] - b _0818168A - .pool -_0818163C: - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _0818168A - .pool -_0818164C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r3, 0x8 - ldrsh r1, [r2, r3] - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl Sin - negs r0, r0 - strh r0, [r6, 0x24] - movs r5, 0x80 - lsls r5, 1 - ldr r1, =0x00000ccc - adds r0, r4, 0 - bl Sin - adds r3, r0, 0 - negs r3, r3 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 -_0818168A: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - adds r0, r6, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81815D4 - - thumb_func_start pokemonanimfunc_2E -pokemonanimfunc_2E: @ 81816A0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81815D4 - ldr r0, =sub_81815D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2E - - thumb_func_start pokemonanimfunc_2F -pokemonanimfunc_2F: @ 81816D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - adds r0, r4, 0 - adds r0, 0x28 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - movs r1, 0xA - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x3A] - movs r0, 0x80 - strh r0, [r4, 0x3C] - ldr r0, =sub_8181708 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2F - - thumb_func_start sub_8181708 -sub_8181708: @ 8181708 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Cos - ldrh r1, [r4, 0x3A] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - subs r3, 0x80 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x78 - bgt _08181760 - movs r0, 0x78 - strh r0, [r4, 0x3C] - movs r0, 0 - strh r0, [r4, 0x34] - ldr r0, =sub_8181770 - str r0, [r4, 0x1C] -_08181760: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181708 - - thumb_func_start sub_8181770 -sub_8181770: @ 8181770 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x14 - bne _08181784 - ldr r0, =sub_8181794 - str r0, [r1, 0x1C] - movs r0, 0 - strh r0, [r1, 0x34] -_08181784: - ldrh r0, [r1, 0x34] - adds r0, 0x1 - strh r0, [r1, 0x34] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181770 - - thumb_func_start sub_8181794 -sub_8181794: @ 8181794 - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - adds r0, 0x2 - movs r6, 0 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Cos - ldrh r1, [r4, 0x3A] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r5, 0x80 - lsls r5, 1 - ldrh r3, [r4, 0x3C] - subs r3, 0x80 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _08181800 - strh r6, [r4, 0x24] - strh r6, [r4, 0x26] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_817F6D4 - strh r6, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =pokemonanimfunc_10 - str r0, [r4, 0x1C] -_08181800: - adds r0, r4, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181794 - - thumb_func_start sub_8181810 -sub_8181810: @ 8181810 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrh r0, [r1] - adds r6, r0, 0 - cmp r6, 0 - beq _08181834 - subs r0, 0x1 - strh r0, [r1] - b _08181950 - .pool -_08181834: - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0818184A - adds r0, r5, 0 - bl sub_817F670 - strh r6, [r5, 0x36] - strh r6, [r5, 0x38] - movs r0, 0x1 - strh r0, [r5, 0x32] -_0818184A: - movs r3, 0x38 - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _081818A2 - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - bl Sin - strh r0, [r5, 0x3C] - movs r3, 0x36 - ldrsh r0, [r5, r3] - movs r1, 0x10 - bl Sin - strh r0, [r5, 0x26] - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x20 - bl Sin - adds r1, r0, 0 - strh r1, [r5, 0x3A] - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r5, 0x3C] - adds r2, r4 - lsls r2, 16 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl sub_817F6D4 - movs r3, 0x36 - ldrsh r0, [r5, r3] - cmp r0, 0x80 - bne _0818193A - strh r6, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - b _0818193A -_081818A2: - cmp r0, 0x1 - bne _0818193A - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x20 - bl Sin - strh r0, [r5, 0x3C] - movs r3, 0x36 - ldrsh r0, [r5, r3] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r5, 0x26] - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x80 - bl Sin - adds r1, r0, 0 - strh r1, [r5, 0x3A] - movs r3, 0x80 - lsls r3, 1 - adds r2, r3, 0 - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r0, [r5, 0x3C] - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl sub_817F6D4 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0x80 - bne _0818193A - movs r3, 0x2E - ldrsh r0, [r5, r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r2, [r1, 0x4] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - ble _08181922 - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA - strh r1, [r0] - strh r6, [r5, 0x36] - strh r6, [r5, 0x38] - b _0818193A -_08181922: - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r5, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] -_0818193A: - ldr r2, =gUnknown_03001240 - movs r3, 0x2E - ldrsh r1, [r5, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] -_08181950: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181810 - - thumb_func_start pokemonanimfunc_30 -pokemonanimfunc_30: @ 8181960 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - adds r0, r4, 0 - bl sub_8181810 - ldr r0, =sub_8181810 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_30 - - thumb_func_start pokemonanimfunc_31 -pokemonanimfunc_31: @ 8181994 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r4, [r5, r0] - adds r0, r5, 0 - bl sub_817F70C - movs r0, 0x80 - lsls r0, 2 - cmp r4, r0 - ble _081819B8 - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - movs r0, 0 - strh r0, [r5, 0x24] - b _08181A62 - .pool -_081819B8: - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _081819C2 - adds r0, 0x7F -_081819C2: - asrs r0, 7 - cmp r0, 0x1 - beq _081819F8 - cmp r0, 0x1 - bgt _081819D2 - cmp r0, 0 - beq _081819DC - b _08181A48 -_081819D2: - cmp r0, 0x2 - beq _08181A12 - cmp r0, 0x3 - beq _08181A2A - b _08181A48 -_081819DC: - adds r0, r4, 0 - cmp r4, 0 - bge _081819E4 - adds r0, 0x7F -_081819E4: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _081819F4 - adds r0, 0x7F -_081819F4: - asrs r0, 7 - b _08181A46 -_081819F8: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A00 - adds r0, 0x7F -_08181A00: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - cmp r0, 0 - bge _08181A0C - adds r0, 0xF -_08181A0C: - asrs r0, 4 - subs r0, 0x8 - b _08181A46 -_08181A12: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A1A - adds r0, 0x7F -_08181A1A: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - cmp r0, 0 - bge _08181A26 - adds r0, 0xF -_08181A26: - asrs r0, 4 - b _08181A46 -_08181A2A: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A32 - adds r0, 0x7F -_08181A32: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _08181A42 - adds r0, 0x7F -_08181A42: - asrs r0, 7 - adds r0, 0x8 -_08181A46: - strh r0, [r5, 0x24] -_08181A48: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A50 - adds r0, 0x7F -_08181A50: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 -_08181A62: - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x32] - adds r0, 0xC - strh r0, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_31 - - thumb_func_start pokemonanimfunc_32 -pokemonanimfunc_32: @ 8181A78 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, =0x0000ffff - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_817F670 - strh r5, [r4, 0x34] - adds r0, r4, 0 - bl sub_8181ABC - ldr r0, =sub_8181ABC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_32 - - thumb_func_start sub_8181ABC -sub_8181ABC: @ 8181ABC - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - ldrh r0, [r1] - adds r5, r0, 0 - cmp r5, 0 - beq _08181AE0 - subs r0, 0x1 - strh r0, [r1] - b _08181B44 - .pool -_08181AE0: - adds r0, r4, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r0, 0x80 - ble _08181AFC - strh r5, [r4, 0x32] - ldr r0, =sub_8181B4C - str r0, [r4, 0x1C] - b _08181B3E - .pool -_08181AFC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r3, r0, 3 - adds r0, r2, 0 - cmp r2, 0 - bge _08181B16 - adds r0, 0x7F -_08181B16: - asrs r0, 7 - lsls r0, 7 - subs r1, r2, r0 - adds r0, r3, 0 - muls r0, r1 - cmp r0, 0 - bge _08181B26 - adds r0, 0x7F -_08181B26: - asrs r0, 7 - strh r0, [r4, 0x24] - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] -_08181B3E: - adds r0, r4, 0 - bl sub_817F70C -_08181B44: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8181ABC - - thumb_func_start sub_8181B4C -sub_8181B4C: @ 8181B4C - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - ble _08181B7C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r0, 0 - strh r0, [r4, 0x26] - strh r0, [r4, 0x32] - ldr r0, =sub_8181C2C - str r0, [r4, 0x1C] - b _08181C1A - .pool -_08181B7C: - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0x40 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r6, r1, 0 - adds r0, r6 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r0, [r4, 0x32] - subs r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bhi _08181BBA - ldrh r0, [r4, 0x34] - adds r0, 0x8 - strh r0, [r4, 0x34] - ldr r2, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x24] - ldrh r0, [r0, 0x8] - subs r1, r0 - strh r1, [r4, 0x24] -_08181BBA: - movs r5, 0 - lsls r1, r3, 16 - asrs r2, r1, 16 - lsls r0, r6, 16 - asrs r0, 16 - adds r6, r1, 0 - cmp r2, r0 - ble _08181BD6 - subs r0, r2 - cmp r0, 0 - bge _08181BD2 - adds r0, 0x7 -_08181BD2: - lsls r0, 13 - lsrs r5, r0, 16 -_08181BD6: - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - negs r0, r0 - lsls r1, r5, 16 - asrs r1, 16 - subs r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - asrs r2, r6, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x36] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x36] -_08181C1A: - adds r0, r4, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181B4C - - thumb_func_start sub_8181C2C -sub_8181C2C: @ 8181C2C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r3, [r4, r0] - cmp r3, 0x80 - ble _08181C90 - ldr r3, =gUnknown_03001240 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r2, [r1, 0x4] - movs r5, 0x4 - ldrsh r0, [r1, r5] - cmp r0, 0x1 - ble _08181C7C - subs r0, r2, 0x1 - movs r2, 0 - strh r0, [r1, 0x4] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0xA - strh r1, [r0] - strh r2, [r4, 0x34] - strh r2, [r4, 0x32] - strh r2, [r4, 0x36] - ldr r0, =sub_8181ABC - b _08181C84 - .pool -_08181C7C: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 -_08181C84: - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _08181CD0 - .pool -_08181C90: - ldr r2, =gUnknown_03001240 - movs r5, 0x2E - ldrsh r1, [r4, r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x8 - ldrsh r5, [r0, r1] - lsls r1, r5, 3 - adds r0, r3, 0 - cmp r3, 0 - bge _08181CAC - adds r0, 0x7F -_08181CAC: - asrs r0, 7 - lsls r0, 7 - subs r2, r3, r0 - adds r0, r1, 0 - muls r0, r2 - cmp r0, 0 - bge _08181CBC - adds r0, 0x7F -_08181CBC: - asrs r0, 7 - lsls r1, r5, 3 - subs r0, r1 - strh r0, [r4, 0x24] - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 -_08181CD0: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181C2C - - thumb_func_start sub_8181CE8 -sub_8181CE8: @ 8181CE8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08181D00 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08181D00: - adds r0, r4, 0 - bl sub_817F70C - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0xFE - ble _08181D60 - movs r5, 0 - strh r5, [r4, 0x24] - strh r5, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r2, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r2, [r1, 0x4] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - ble _08181D48 - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r5, [r4, 0x32] - strh r5, [r4, 0x3C] - b _08181D52 - .pool -_08181D48: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08181D52: - adds r0, r4, 0 - bl sub_817F70C - b _08181DA6 - .pool -_08181D60: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r3, 0x3C - ldrsh r0, [r4, r3] - movs r1, 0x20 - bl Sin - adds r3, r0, 0 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - ldr r2, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x6] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F70C -_08181DA6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181CE8 - - thumb_func_start pokemonanimfunc_33 -pokemonanimfunc_33: @ 8181DB0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - adds r0, r4, 0 - bl sub_8181CE8 - ldr r0, =sub_8181CE8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_33 - - thumb_func_start pokemonanimfunc_34 -pokemonanimfunc_34: @ 8181DE4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08181DFC - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08181DFC: - adds r0, r4, 0 - bl sub_817F70C - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0xFE - ble _08181E34 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - adds r0, r4, 0 - bl sub_817F70C - b _08181E8A - .pool -_08181E34: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08181E4E - adds r0, 0x7F -_08181E4E: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - adds r3, r0, 0 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F70C -_08181E8A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_34 - - thumb_func_start pokemonanimfunc_35 -pokemonanimfunc_35: @ 8181E90 - push {r4,r5,lr} - adds r3, r0, 0 - movs r1, 0x32 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08181E9E - strh r0, [r3, 0x3C] -_08181E9E: - ldrh r4, [r3, 0x32] - movs r5, 0x32 - ldrsh r1, [r3, r5] - ldrh r2, [r3, 0x3C] - movs r5, 0x3C - ldrsh r0, [r3, r5] - cmp r1, r0 - bne _08181EC8 - movs r0, 0 - strh r0, [r3, 0x3C] - adds r0, r4, 0x1 - strh r0, [r3, 0x32] - adds r1, r3, 0 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r2, r1, 0 - b _08181ED8 -_08181EC8: - adds r0, r2, 0x1 - strh r0, [r3, 0x3C] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08181ED8: - movs r1, 0x32 - ldrsh r0, [r3, r1] - cmp r0, 0xA - ble _08181EEE - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - ldr r0, =sub_8184D88 - str r0, [r3, 0x1C] -_08181EEE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_35 - - thumb_func_start pokemonanimfunc_36 -pokemonanimfunc_36: @ 8181EF8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x3C] - ldr r0, =sub_8181F14 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_36 - - thumb_func_start sub_8181F14 -sub_8181F14: @ 8181F14 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x1F - ble _08181F34 - movs r0, 0 - movs r1, 0x20 - strh r1, [r4, 0x3C] - strh r0, [r4, 0x32] - ldr r0, =sub_8181F50 - str r0, [r4, 0x1C] - b _08181F38 - .pool -_08181F34: - adds r0, r1, 0x4 - strh r0, [r4, 0x3C] -_08181F38: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8181F14 - - thumb_func_start sub_8181F50 -sub_8181F50: @ 8181F50 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _08181F74 - ldr r0, =sub_8181FC0 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08181FAE - .pool -_08181F74: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 4 - negs r0, r0 - cmp r0, 0 - bge _08181F84 - ldr r1, =0x000001ff - adds r0, r1 -_08181F84: - asrs r0, 9 - strh r0, [r4, 0x24] - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08181F94 - adds r0, 0x7F -_08181F94: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] -_08181FAE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181F50 - - thumb_func_start sub_8181FC0 -sub_8181FC0: @ 8181FC0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - subs r0, 0x2 - movs r1, 0 - strh r0, [r4, 0x3C] - lsls r0, 16 - cmp r0, 0 - bge _08181FEC - strh r1, [r4, 0x3C] - strh r1, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08181FFE - .pool -_08181FEC: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r0, 17 - asrs r0, 16 - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] -_08181FFE: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8181FC0 - - thumb_func_start pokemonanimfunc_37 -pokemonanimfunc_37: @ 818201C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182036 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_08182036: - adds r0, r4, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0xFF - ble _08182060 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081820A6 - .pool -_08182060: - adds r0, r1, 0 - adds r0, 0x10 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182072 - adds r0, 0x7F -_08182072: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r1, [r4, r2] - adds r0, r1, 0 - cmp r1, 0 - bge _08182092 - adds r0, 0x7F -_08182092: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_081820A6: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081820B2 - adds r0, 0x7F -_081820B2: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - adds r3, r0, 0 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_37 - - thumb_func_start pokemonanimfunc_38 -pokemonanimfunc_38: @ 81820E0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x3C] - strh r0, [r4, 0x36] - ldr r0, =sub_81820FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_38 - - thumb_func_start sub_81820FC -sub_81820FC: @ 81820FC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x18 - ble _0818212C - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0818214A - movs r0, 0 - strh r0, [r4, 0x36] - ldr r0, =sub_818216C - str r0, [r4, 0x1C] - b _0818214A - .pool -_0818212C: - adds r0, r1, 0x2 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_0818214A: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81820FC - - thumb_func_start sub_818216C -sub_818216C: @ 818216C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x20 - ble _0818218C - movs r0, 0x1 - strh r0, [r4, 0x3A] - ldr r0, =sub_81821CC - str r0, [r4, 0x1C] - b _081821AA - .pool -_0818218C: - adds r0, r1, 0x2 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_081821AA: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_818216C - - thumb_func_start sub_81821CC -sub_81821CC: @ 81821CC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 2 - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x9 - ble _081821F0 - movs r0, 0x20 - strh r0, [r4, 0x3C] - ldr r0, =sub_8182248 - str r0, [r4, 0x1C] -_081821F0: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - subs r0, 0x1D - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _08182224 - movs r1, 0x3A - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08182224: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81821CC - - thumb_func_start sub_8182248 -sub_8182248: @ 8182248 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _08182270 - movs r0, 0 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818228E - .pool -_08182270: - subs r0, r1, 0x2 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_0818228E: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8182248 - - thumb_func_start pokemonanimfunc_39 -pokemonanimfunc_39: @ 81822B0 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _081822D0 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0818235C - .pool -_081822D0: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _081822DC - movs r5, 0x1 -_081822DC: - movs r0, 0x32 - ldrsh r2, [r4, r0] - adds r0, r2, 0 - cmp r2, 0 - bge _081822E8 - adds r0, r2, 0x3 -_081822E8: - asrs r0, 2 - lsls r0, 2 - subs r0, r2, r0 - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - asrs r1, 1 - cmp r1, 0 - bne _0818232C - lsls r0, r2, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0818230C - adds r0, 0xFF -_0818230C: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 - strh r0, [r4, 0x24] - negs r0, r0 - b _0818235A -_0818232C: - lsls r0, r2, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0818233C - adds r0, 0xFF -_0818233C: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - lsls r1, r5, 24 - asrs r1, 24 - muls r0, r1 - strh r0, [r4, 0x24] -_0818235A: - strh r0, [r4, 0x26] -_0818235C: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_39 - - thumb_func_start pokemonanimfunc_3A -pokemonanimfunc_3A: @ 8182370 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182392 - adds r0, r4, 0 - bl sub_817F670 - strh r5, [r4, 0x38] - strh r5, [r4, 0x3A] - strh r5, [r4, 0x3C] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08182392: - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _081823E4 - subs r0, r1, 0x1 - strh r0, [r4, 0x3A] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - beq _08182494 - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 3 - movs r1, 0x14 - bl __divsi3 - adds r1, r0, 0 - ldrh r0, [r4, 0x3C] - lsls r1, 16 - asrs r1, 16 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x40 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - lsls r0, 16 - asrs r0, 16 - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _08182494 -_081823E4: - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - bne _08182424 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _08182410 - movs r0, 0x40 - strh r0, [r4, 0x3C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08182410: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x40 - bl Cos - lsls r0, 16 - lsrs r3, r0, 16 - b _08182474 - .pool -_08182424: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x40 - bl Sin - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x3F - ble _08182448 - movs r0, 0 - movs r1, 0x3 - strh r1, [r4, 0x38] - movs r1, 0xA - strh r1, [r4, 0x3A] - strh r0, [r4, 0x3C] - b _08182474 -_08182448: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x30 - ble _0818245C - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _0818245C - movs r0, 0x2 - b _0818246E -_0818245C: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08182474 - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08182474 - movs r0, 0x1 -_0818246E: - strh r0, [r4, 0x38] - movs r0, 0x14 - strh r0, [r4, 0x3A] -_08182474: - ldrh r0, [r4, 0x3C] - adds r0, 0x2 - strh r0, [r4, 0x3C] - movs r0, 0x80 - lsls r0, 1 - adds r2, r0, 0 - lsls r0, r3, 16 - asrs r0, 16 - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182494: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3A - - thumb_func_start pokemonanimfunc_3B -pokemonanimfunc_3B: @ 81824A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081824BA - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_081824BA: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _081824E8 - movs r0, 0 - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08182540 - .pool -_081824E8: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081824F4 - adds r0, 0xFF -_081824F4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182518 - adds r0, 0x7F -_08182518: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x60 - bl Sin - adds r2, r0, 0 - movs r1, 0x80 - lsls r1, 1 - lsls r2, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 -_08182540: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3B - - thumb_func_start pokemonanimfunc_3C -pokemonanimfunc_3C: @ 8182548 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182562 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_08182562: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r5, 0x80 - lsls r5, 1 - cmp r0, r5 - ble _08182590 - movs r0, 0 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081825D4 - .pool -_08182590: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x4 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081825AE - adds r0, 0x3F -_081825AE: - asrs r0, 6 - lsls r0, 6 - subs r0, r1, r0 - lsls r0, 17 - asrs r0, 16 - movs r1, 0x80 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - adds r2, r5 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0 - bl sub_817F6D4 -_081825D4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3C - - thumb_func_start pokemonanimfunc_3D -pokemonanimfunc_3D: @ 81825DC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_81825F8 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_3D - - thumb_func_start sub_81825F8 -sub_81825F8: @ 81825F8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - movs r1, 0 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0818261C - strh r1, [r4, 0x3C] - strh r1, [r4, 0x3A] - ldr r0, =sub_8182648 - str r0, [r4, 0x1C] - movs r0, 0x40 - b _08182620 - .pool -_0818261C: - movs r1, 0x3C - ldrsh r0, [r4, r1] -_08182620: - movs r1, 0x80 - bl Sin - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x80 - lsls r1, 1 - lsls r2, r0, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81825F8 - - thumb_func_start sub_8182648 -sub_8182648: @ 8182648 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x4 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5F - ble _08182672 - movs r0, 0 - movs r1, 0x80 - bl Cos - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - strh r0, [r4, 0x3C] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _081826C8 -_08182672: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - movs r2, 0x3A - ldrsh r1, [r4, r2] - lsls r1, 2 - negs r1, r1 - subs r1, r0 - strh r1, [r4, 0x26] - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x3F - ble _081826A4 - ldr r5, =0x0000ffff - adds r0, r1, 0 - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - b _081826A8 - .pool -_081826A4: - movs r5, 0x1 - movs r0, 0 -_081826A8: - lsls r0, 16 - asrs r0, 15 - ldrh r1, [r4, 0x3C] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x80 - bl Cos - lsls r1, r5, 16 - asrs r1, 16 - adds r2, r1, 0 - muls r2, r0 - adds r0, r2, 0 - lsls r0, 16 - lsrs r2, r0, 16 -_081826C8: - movs r1, 0x80 - lsls r1, 1 - lsls r2, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _081826EE - movs r0, 0 - strh r0, [r4, 0x3C] - ldr r0, =sub_81826F8 - str r0, [r4, 0x1C] -_081826EE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8182648 - - thumb_func_start sub_81826F8 -sub_81826F8: @ 81826F8 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x80 - bl Cos - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0xC - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _08182742 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182742: - movs r1, 0x80 - lsls r1, 1 - lsls r2, r5, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81826F8 - - thumb_func_start sub_8182764 -sub_8182764: @ 8182764 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08182798 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _081827F4 - .pool -_08182798: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081827A4 - adds r0, 0xFF -_081827A4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - movs r2, 0x3C - ldrsh r1, [r4, r2] - adds r0, r1, 0 - cmp r1, 0 - bge _081827CC - adds r0, 0x7F -_081827CC: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x60 - bl Sin - adds r1, r0, 0 - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - asrs r1, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 -_081827F4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8182764 - - thumb_func_start pokemonanimfunc_3E -pokemonanimfunc_3E: @ 81827FC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182822 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r1, 0x8 - strh r1, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] -_08182822: - adds r0, r4, 0 - bl sub_8182764 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3E - - thumb_func_start sub_8182830 -sub_8182830: @ 8182830 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08182864 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _081828C0 - .pool -_08182864: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182870 - adds r0, 0xFF -_08182870: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - movs r2, 0x3C - ldrsh r1, [r4, r2] - adds r0, r1, 0 - cmp r1, 0 - bge _08182898 - adds r0, 0x3F -_08182898: - asrs r0, 6 - lsls r0, 6 - subs r0, r1, r0 - lsls r0, 17 - asrs r0, 16 - movs r1, 0x80 - bl Sin - adds r1, r0, 0 - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - asrs r1, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 -_081828C0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8182830 - - thumb_func_start pokemonanimfunc_3F -pokemonanimfunc_3F: @ 81828C8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081828EE - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] - adds r0, 0xFC - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_081828EE: - adds r0, r4, 0 - bl sub_8182830 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3F - - thumb_func_start pokemonanimfunc_40 -pokemonanimfunc_40: @ 81828FC - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _0818291A - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_0818291A: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _08182948 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818299E - .pool -_08182948: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182954 - adds r0, 0xFF -_08182954: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182978 - adds r0, 0x7F -_08182978: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x60 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - movs r0, 0x80 - lsls r0, 17 - adds r2, r0 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_0818299E: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_40 - - thumb_func_start pokemonanimfunc_41 -pokemonanimfunc_41: @ 81829AC - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081829CA - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_081829CA: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _081829F8 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08182A5E - .pool -_081829F8: - movs r1, 0x3C - ldrsh r0, [r4, r1] - adds r1, r0, 0 - cmp r0, 0 - bge _08182A04 - adds r1, 0xFF -_08182A04: - asrs r1, 8 - lsls r1, 8 - subs r1, r0, r1 - lsls r1, 16 - asrs r0, r1, 16 - lsrs r1, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - adds r1, r0, 0 - cmp r0, 0 - bge _08182A30 - adds r1, 0xFF -_08182A30: - asrs r1, 8 - lsls r1, 8 - subs r1, r0, r1 - lsls r1, 16 - asrs r0, r1, 16 - lsrs r1, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x40 - bl Sin - adds r2, r0, 0 - negs r2, r2 - lsls r2, 16 - movs r0, 0x80 - lsls r0, 17 - adds r2, r0 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182A5E: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_41 - - thumb_func_start pokemonanimfunc_42 -pokemonanimfunc_42: @ 8182A6C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182A8A - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_08182A8A: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _08182AB8 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08182B16 - .pool -_08182AB8: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182AC4 - adds r0, 0xFF -_08182AC4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - adds r1, r0, 0 - cmp r0, 0 - bge _08182AEA - adds r1, 0xFF -_08182AEA: - asrs r1, 8 - lsls r1, 8 - subs r1, r0, r1 - lsls r1, 16 - asrs r0, r1, 16 - lsrs r1, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x60 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - movs r0, 0x80 - lsls r0, 17 - adds r2, r0 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182B16: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_42 - - thumb_func_start pokemonanimfunc_43 -pokemonanimfunc_43: @ 8182B24 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _08182B48 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08182C08 - .pool -_08182B48: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _08182B56 - ldr r1, =0x000001ff - adds r0, r2, r1 -_08182B56: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _08182B62 - adds r0, r1, 0x3 -_08182B62: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08182BA4 - cmp r0, 0x1 - bgt _08182B80 - cmp r0, 0 - beq _08182B8A - b _08182BE2 - .pool -_08182B80: - cmp r0, 0x2 - beq _08182BB8 - cmp r0, 0x3 - beq _08182BCA - b _08182BE2 -_08182B8A: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08182B9C - ldr r1, =0x000001ff - adds r0, r1 -_08182B9C: - asrs r0, 9 - b _08182BE0 - .pool -_08182BA4: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08182BB2 - adds r0, 0x1F -_08182BB2: - asrs r0, 5 - subs r0, 0x10 - b _08182BE0 -_08182BB8: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08182BC6 - adds r0, 0x1F -_08182BC6: - asrs r0, 5 - b _08182BE0 -_08182BCA: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08182BDC - ldr r1, =0x000001ff - adds r0, r1 -_08182BDC: - asrs r0, 9 - adds r0, 0x10 -_08182BE0: - strh r0, [r4, 0x24] -_08182BE2: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182BEE - adds r0, 0x7F -_08182BEE: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x18 - strh r0, [r4, 0x32] -_08182C08: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_43 - - thumb_func_start pokemonanimfunc_44 -pokemonanimfunc_44: @ 8182C18 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08182C34 - strh r0, [r4, 0x3A] - movs r0, 0x40 - strh r0, [r4, 0x3C] - adds r0, r1, 0x1 - strh r0, [r4, 0x32] -_08182C34: - ldrh r0, [r4, 0x3C] - adds r1, r0, 0 - adds r1, 0x8 - movs r3, 0 - strh r1, [r4, 0x3C] - ldrh r2, [r4, 0x3A] - movs r5, 0x3A - ldrsh r0, [r4, r5] - cmp r0, 0x4 - bne _08182C52 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _08182C60 - b _08182C5A -_08182C52: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _08182C60 -_08182C5A: - strh r3, [r4, 0x3C] - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] -_08182C60: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _08182D08 - lsls r0, 2 - ldr r1, =_08182C78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08182C78: - .4byte _08182CEC - .4byte _08182C8C - .4byte _08182CAA - .4byte _08182CCC - .4byte _08182CEC -_08182C8C: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Cos - negs r0, r0 - strh r0, [r4, 0x24] - movs r5, 0x3C - ldrsh r0, [r4, r5] - movs r1, 0x8 - bl Sin - subs r0, 0x8 - strh r0, [r4, 0x26] - b _08182D12 -_08182CAA: - ldrh r0, [r4, 0x3C] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - adds r0, 0x8 - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - b _08182D12 -_08182CCC: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - adds r0, 0x8 - strh r0, [r4, 0x26] - b _08182D12 -_08182CEC: - movs r5, 0x3C - ldrsh r0, [r4, r5] - movs r1, 0x8 - bl Sin - subs r0, 0x8 - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - b _08182D12 -_08182D08: - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08182D12: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_44 - - thumb_func_start pokemonanimfunc_45 -pokemonanimfunc_45: @ 8182D24 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x20 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_8180714 - ldr r0, =sub_8180714 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_45 - - thumb_func_start pokemonanimfunc_46 -pokemonanimfunc_46: @ 8182D40 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F8FC - ldr r0, =sub_817F8FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_46 - - thumb_func_start pokemonanimfunc_47 -pokemonanimfunc_47: @ 8182D5C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F978 - ldr r0, =sub_817F978 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_47 - - thumb_func_start pokemonanimfunc_48 -pokemonanimfunc_48: @ 8182D78 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x6] - ldrh r0, [r4, 0x3A] - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_8180900 - ldr r0, =sub_8180900 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_48 - - thumb_func_start pokemonanimfunc_49 -pokemonanimfunc_49: @ 8182DB4 - push {lr} - movs r1, 0x1 - strh r1, [r0, 0x3A] - bl pokemonanimfunc_05 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_49 - - thumb_func_start pokemonanimfunc_4A -pokemonanimfunc_4A: @ 8182DC4 - push {lr} - movs r1, 0x1 - strh r1, [r0, 0x3A] - bl pokemonanimfunc_48 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_4A - - thumb_func_start pokemonanimfunc_4B -pokemonanimfunc_4B: @ 8182DD4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08182DE2 - strh r0, [r4, 0x2E] -_08182DE2: - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _08182DF6 - adds r0, r4, 0 - bl sub_817FC20 - movs r0, 0x1 - b _08182DF8 -_08182DF6: - subs r0, r1, 0x1 -_08182DF8: - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_4B - - thumb_func_start pokemonanimfunc_4C -pokemonanimfunc_4C: @ 8182E00 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817FCDC - ldr r0, =sub_817FCDC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4C - - thumb_func_start pokemonanimfunc_4D -pokemonanimfunc_4D: @ 8182E20 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817FD44 - ldr r0, =sub_817FD44 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4D - - thumb_func_start pokemonanimfunc_4E -pokemonanimfunc_4E: @ 8182E3C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1, 0x6] - strh r3, [r1] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_817FE30 - ldr r0, =sub_817FE30 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4E - - thumb_func_start pokemonanimfunc_4F -pokemonanimfunc_4F: @ 8182E7C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 2 - strh r0, [r1, 0x6] - movs r0, 0x3 - strh r0, [r1, 0x8] - movs r0, 0xC - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_817FFF0 - ldr r0, =sub_817FFF0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4F - - thumb_func_start pokemonanimfunc_50 -pokemonanimfunc_50: @ 8182EBC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x18 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_818031C - ldr r0, =sub_818031C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_50 - - thumb_func_start pokemonanimfunc_51 -pokemonanimfunc_51: @ 8182ED8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_81804F8 - ldr r0, =sub_81804F8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_51 - - thumb_func_start pokemonanimfunc_52 -pokemonanimfunc_52: @ 8182EF4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F9F4 - ldr r0, =sub_817F9F4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_52 - - thumb_func_start pokemonanimfunc_53 -pokemonanimfunc_53: @ 8182F10 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3C - strh r0, [r1] - movs r0, 0x1E - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_817FF3C - ldr r0, =sub_817FF3C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_53 - - thumb_func_start pokemonanimfunc_54 -pokemonanimfunc_54: @ 8182F48 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x2] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_8181214 - ldr r0, =sub_8181214 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_54 - - thumb_func_start pokemonanimfunc_55 -pokemonanimfunc_55: @ 8182F80 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_8181810 - ldr r0, =sub_8181810 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_55 - - thumb_func_start pokemonanimfunc_56 -pokemonanimfunc_56: @ 8182FB8 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_817F670 - strh r5, [r4, 0x34] - adds r0, r4, 0 - bl sub_8181ABC - ldr r0, =sub_8181ABC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_56 - - thumb_func_start pokemonanimfunc_07 -pokemonanimfunc_07: @ 8182FFC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x2 - strh r0, [r1, 0x6] - adds r0, r4, 0 - bl sub_8181CE8 - ldr r0, =sub_8181CE8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_07 - - thumb_func_start pokemonanimfunc_08 -pokemonanimfunc_08: @ 8183030 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_8181CE8 - ldr r0, =sub_8181CE8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_08 - - thumb_func_start pokemonanimfunc_0B -pokemonanimfunc_0B: @ 8183068 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x64 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81814D4 - ldr r0, =sub_81814D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0B - - thumb_func_start pokemonanimfunc_0C -pokemonanimfunc_0C: @ 818309C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81814D4 - ldr r0, =sub_81814D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0C - - thumb_func_start pokemonanimfunc_0D -pokemonanimfunc_0D: @ 81830D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x64 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81815D4 - ldr r0, =sub_81815D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0D - - thumb_func_start pokemonanimfunc_0E -pokemonanimfunc_0E: @ 8183108 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81815D4 - ldr r0, =sub_81815D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0E - - thumb_func_start sub_8183140 -sub_8183140: @ 8183140 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r0, 0x90 - lsls r0, 4 - cmp r2, r0 - ble _0818315C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _08183180 - .pool -_0818315C: - adds r1, r2, 0 - adds r1, 0xC0 - adds r0, r1, 0 - cmp r1, 0 - bge _0818316A - ldr r3, =0x000001bf - adds r0, r2, r3 -_0818316A: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x3C] - adds r0, r1 -_08183180: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - ldrh r3, [r4, 0x32] - adds r0, r3 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8183140 - - thumb_func_start pokemonanimfunc_57 -pokemonanimfunc_57: @ 8183194 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183140 - ldr r0, =sub_8183140 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_57 - - thumb_func_start pokemonanimfunc_58 -pokemonanimfunc_58: @ 81831B4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183140 - ldr r0, =sub_8183140 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_58 - - thumb_func_start pokemonanimfunc_59 -pokemonanimfunc_59: @ 81831D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _081831F8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _081832BC - .pool -_081831F8: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _08183206 - ldr r1, =0x000001ff - adds r0, r2, r1 -_08183206: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _08183212 - adds r0, r1, 0x3 -_08183212: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08183268 - cmp r0, 0x1 - bgt _08183230 - cmp r0, 0 - beq _0818323A - b _08183298 - .pool -_08183230: - cmp r0, 0x2 - beq _0818324C - cmp r0, 0x3 - beq _08183284 - b _08183298 -_0818323A: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183248 - adds r0, 0x1F -_08183248: - asrs r0, 5 - b _08183296 -_0818324C: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _0818325E - ldr r1, =0x000001ff - adds r0, r1 -_0818325E: - asrs r0, 9 - b _08183296 - .pool -_08183268: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _0818327A - ldr r1, =0x000001ff - adds r0, r1 -_0818327A: - asrs r0, 9 - adds r0, 0x10 - b _08183296 - .pool -_08183284: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183292 - adds r0, 0x1F -_08183292: - asrs r0, 5 - subs r0, 0x10 -_08183296: - strh r0, [r4, 0x24] -_08183298: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081832A4 - adds r0, 0x7F -_081832A4: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x18 - strh r0, [r4, 0x32] -_081832BC: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_59 - - thumb_func_start sub_81832C8 -sub_81832C8: @ 81832C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - movs r0, 0 - mov r8, r0 - movs r2, 0x38 - ldrsh r1, [r6, r2] - movs r2, 0x3A - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818331A - mov r0, r8 - strh r0, [r6, 0x26] - strh r0, [r6, 0x38] - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r6, 0x36] - movs r2, 0x36 - ldrsh r0, [r6, r2] - cmp r0, 0x1 - bgt _08183310 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _081833DC - .pool -_08183310: - subs r0, r1, 0x1 - strh r0, [r6, 0x36] - mov r0, r8 - strh r0, [r6, 0x3C] - b _081833DC -_0818331A: - movs r1, 0x38 - ldrsh r5, [r6, r1] - lsls r0, r5, 7 - movs r2, 0x3A - ldrsh r4, [r6, r2] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r4, 0 - bge _08183334 - adds r4, 0x3 -_08183334: - asrs r1, r4, 2 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r1 - blt _08183358 - cmp r5, r0 - bge _08183358 - ldrh r0, [r6, 0x3C] - adds r0, 0x33 - strh r0, [r6, 0x3C] - movs r1, 0xFF - mov r8, r1 - ands r1, r0 - mov r8, r1 -_08183358: - movs r1, 0x30 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0818337C - lsls r4, r2, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - ldr r2, =0xffffff00 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - b _08183392 - .pool -_0818337C: - lsls r4, r2, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 -_08183392: - adds r7, r4, 0 - ldrh r4, [r6, 0x34] - lsls r4, 24 - lsrs r4, 24 - mov r5, r8 - adds r0, r4, 0 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl Sin - adds r5, r0, 0 - asrs r0, r7, 16 - adds r1, r4, 0 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - subs r2, r5 - subs r2, r0 - mov r0, r9 - lsls r1, r0, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r6, 0 - movs r3, 0 - bl sub_817F618 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - strh r0, [r6, 0x38] -_081833DC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81832C8 - - thumb_func_start pokemonanimfunc_5A -pokemonanimfunc_5A: @ 81833E8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _0818340A - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x28 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_0818340A: - adds r0, r5, 0 - bl sub_81832C8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_5A - - thumb_func_start sub_8183418 -sub_8183418: @ 8183418 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - movs r0, 0 - mov r8, r0 - movs r2, 0x38 - ldrsh r1, [r6, r2] - movs r2, 0x3A - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818346A - mov r0, r8 - strh r0, [r6, 0x38] - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r6, 0x36] - movs r2, 0x36 - ldrsh r0, [r6, r2] - cmp r0, 0x1 - bgt _08183460 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08183538 - .pool -_08183460: - subs r0, r1, 0x1 - strh r0, [r6, 0x36] - mov r0, r8 - strh r0, [r6, 0x3C] - b _08183538 -_0818346A: - movs r1, 0x38 - ldrsh r5, [r6, r1] - lsls r0, r5, 7 - movs r2, 0x3A - ldrsh r4, [r6, r2] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r4, 0 - bge _08183486 - adds r4, 0x3 -_08183486: - asrs r1, r4, 2 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r1 - blt _081834AC - cmp r5, r0 - bge _081834AC - ldrh r0, [r6, 0x3C] - adds r0, 0x33 - strh r0, [r6, 0x3C] - movs r1, 0xFF - mov r8, r1 - mov r2, r8 - ands r2, r0 - mov r8, r2 -_081834AC: - ldrh r0, [r6, 0x34] - lsls r0, 24 - lsrs r7, r0, 24 - movs r1, 0x30 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081834F0 - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - adds r1, r7, 0 - bl Sin - adds r4, r0, 0 - mov r5, r8 - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r5, 0 - bl Sin - ldr r1, =0xffffff00 - adds r0, r1 - adds r4, r0 - lsls r4, 16 - lsrs r1, r4, 16 - b _08183522 - .pool -_081834F0: - mov r4, r8 - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r4, 0 - bl Sin - adds r4, r0, 0 - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - adds r1, r7, 0 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r4 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 -_08183522: - lsls r1, 16 - asrs r1, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - movs r3, 0 - bl sub_817F618 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - strh r0, [r6, 0x38] -_08183538: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8183418 - - thumb_func_start pokemonanimfunc_5B -pokemonanimfunc_5B: @ 8183544 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183566 - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x28 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_08183566: - adds r0, r5, 0 - bl sub_8183418 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_5B - - thumb_func_start sub_8183574 -sub_8183574: @ 8183574 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r3, =gUnknown_0860AA80 - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r0, r1, r3 - ldrb r5, [r0] - adds r2, r5, 0 - cmp r5, 0xFF - beq _081835A6 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r5, r0, 24 -_081835A6: - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r6, [r0] - movs r7, 0 - cmp r2, 0xFE - beq _081835C2 - mov r1, r9 - subs r0, r6, r1 - muls r0, r5 - adds r1, r6, 0 - bl __divsi3 - lsls r0, 24 - lsrs r7, r0, 24 -_081835C2: - cmp r5, 0xFF - bne _081835D8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x26] - b _0818360A - .pool -_081835D8: - mov r1, r8 - adds r1, 0xC0 - adds r0, r1, 0 - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - adds r1, r7, 0 - bl Sin - adds r0, r7 - strh r0, [r4, 0x26] - cmp r9, r6 - bne _081835FC - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r0, 0 - b _08183608 -_081835FC: - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 -_08183608: - strh r0, [r4, 0x3A] -_0818360A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8183574 - - thumb_func_start pokemonanimfunc_5C -pokemonanimfunc_5C: @ 8183618 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x28 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183574 - ldr r0, =sub_8183574 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_5C - - thumb_func_start pokemonanimfunc_5D -pokemonanimfunc_5D: @ 8183638 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x46 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817FCDC - ldr r0, =sub_817FCDC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_5D - - thumb_func_start pokemonanimfunc_5E -pokemonanimfunc_5E: @ 8183658 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x14 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F8FC - ldr r0, =sub_817F8FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_5E - - thumb_func_start pokemonanimfunc_5F -pokemonanimfunc_5F: @ 8183674 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _08183690 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _081836CA - .pool -_08183690: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _0818369C - movs r5, 0x1 -_0818369C: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _081836B0 - adds r0, 0xFF -_081836B0: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x9 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 -_081836CA: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_5F - - thumb_func_start pokemonanimfunc_60 -pokemonanimfunc_60: @ 81836D8 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _081836F4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0818372E - .pool -_081836F4: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _08183700 - movs r5, 0x1 -_08183700: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _08183714 - adds r0, 0xFF -_08183714: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0xC - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 -_0818372E: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_60 - - thumb_func_start pokemonanimfunc_61 -pokemonanimfunc_61: @ 818373C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x46 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183140 - ldr r0, =sub_8183140 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_61 - - thumb_func_start pokemonanimfunc_62 -pokemonanimfunc_62: @ 818375C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x18 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183574 - ldr r0, =sub_8183574 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_62 - - thumb_func_start pokemonanimfunc_63 -pokemonanimfunc_63: @ 818377C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x38 - strh r0, [r4, 0x2E] - movs r0, 0x9 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183574 - ldr r0, =sub_8183574 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_63 - - thumb_func_start pokemonanimfunc_64 -pokemonanimfunc_64: @ 818379C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1, 0x6] - movs r0, 0x6 - strh r0, [r1, 0x8] - movs r0, 0x18 - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_817FFF0 - ldr r0, =sub_817FFF0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_64 - - thumb_func_start sub_81837DC -sub_81837DC: @ 81837DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - movs r5, 0 - movs r0, 0x38 - ldrsh r1, [r7, r0] - movs r2, 0x3A - ldrsh r0, [r7, r2] - cmp r1, r0 - ble _0818382C - strh r5, [r7, 0x26] - strh r5, [r7, 0x38] - movs r2, 0x80 - lsls r2, 1 - adds r0, r7, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r7, 0x36] - movs r2, 0x36 - ldrsh r0, [r7, r2] - cmp r0, 0x1 - bgt _08183824 - adds r0, r7, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r7, 0x1C] - b _0818392C - .pool -_08183824: - subs r0, r1, 0x1 - strh r0, [r7, 0x36] - strh r5, [r7, 0x3C] - b _0818392C -_0818382C: - movs r0, 0x38 - ldrsh r6, [r7, r0] - lsls r0, r6, 7 - movs r1, 0x3A - ldrsh r4, [r7, r1] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r4, 0 - bge _08183846 - adds r4, 0x3 -_08183846: - asrs r1, r4, 2 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r6, r1 - blt _08183866 - cmp r6, r0 - bge _08183866 - ldrh r0, [r7, 0x3C] - adds r0, 0x33 - strh r0, [r7, 0x3C] - movs r5, 0xFF - ands r5, r0 -_08183866: - ldrh r0, [r7, 0x34] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r1, 0x30 - ldrsh r0, [r7, r1] - cmp r0, 0 - bne _081838B0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - mov r1, r9 - bl Sin - adds r4, r0, 0 - lsls r6, r5, 16 - asrs r5, r6, 16 - mov r0, r9 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r5, 0 - bl Sin - ldr r2, =0xffffff00 - adds r4, r2 - adds r0, r4 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - b _081838EA - .pool -_081838B0: - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - mov r1, r9 - bl Sin - adds r6, r0, 0 - lsls r5, 16 - asrs r4, r5, 16 - mov r0, r9 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r4, 0 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r6 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - mov r0, r8 - adds r6, r5, 0 -_081838EA: - asrs r0, 16 - mov r1, r9 - bl Sin - adds r5, r0, 0 - asrs r4, r6, 16 - mov r0, r9 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - subs r2, r5 - subs r2, r0 - mov r0, r10 - lsls r1, r0, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r7, 0 - movs r3, 0 - bl sub_817F618 - ldrh r0, [r7, 0x38] - adds r0, 0x1 - strh r0, [r7, 0x38] -_0818392C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81837DC - - thumb_func_start pokemonanimfunc_65 -pokemonanimfunc_65: @ 818393C - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _0818395E - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x28 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_0818395E: - adds r0, r5, 0 - bl sub_81837DC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_65 - - thumb_func_start pokemonanimfunc_66 -pokemonanimfunc_66: @ 818396C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _08183990 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08183A54 - .pool -_08183990: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _0818399E - ldr r1, =0x000001ff - adds r0, r2, r1 -_0818399E: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _081839AA - adds r0, r1, 0x3 -_081839AA: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08183A00 - cmp r0, 0x1 - bgt _081839C8 - cmp r0, 0 - beq _081839D2 - b _08183A30 - .pool -_081839C8: - cmp r0, 0x2 - beq _081839E4 - cmp r0, 0x3 - beq _08183A1C - b _08183A30 -_081839D2: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _081839E0 - adds r0, 0x1F -_081839E0: - asrs r0, 5 - b _08183A2E -_081839E4: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _081839F6 - ldr r1, =0x000001ff - adds r0, r1 -_081839F6: - asrs r0, 9 - b _08183A2E - .pool -_08183A00: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08183A12 - ldr r1, =0x000001ff - adds r0, r1 -_08183A12: - asrs r0, 9 - adds r0, 0x10 - b _08183A2E - .pool -_08183A1C: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183A2A - adds r0, 0x1F -_08183A2A: - asrs r0, 5 - subs r0, 0x10 -_08183A2E: - strh r0, [r4, 0x24] -_08183A30: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08183A3C - adds r0, 0x7F -_08183A3C: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x30 - strh r0, [r4, 0x32] -_08183A54: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_66 - - thumb_func_start pokemonanimfunc_67 -pokemonanimfunc_67: @ 8183A60 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _08183A84 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08183B40 - .pool -_08183A84: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _08183A92 - ldr r1, =0x000001ff - adds r0, r2, r1 -_08183A92: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _08183A9E - adds r0, r1, 0x3 -_08183A9E: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08183AF4 - cmp r0, 0x1 - bgt _08183ABC - cmp r0, 0 - beq _08183AC6 - b _08183B24 - .pool -_08183ABC: - cmp r0, 0x2 - beq _08183AD8 - cmp r0, 0x3 - beq _08183B10 - b _08183B24 -_08183AC6: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183AD4 - adds r0, 0x1F -_08183AD4: - asrs r0, 5 - b _08183B22 -_08183AD8: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08183AEA - ldr r1, =0x000001ff - adds r0, r1 -_08183AEA: - asrs r0, 9 - b _08183B22 - .pool -_08183AF4: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08183B06 - ldr r1, =0x000001ff - adds r0, r1 -_08183B06: - asrs r0, 9 - adds r0, 0x10 - b _08183B22 - .pool -_08183B10: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183B1E - adds r0, 0x1F -_08183B1E: - asrs r0, 5 - subs r0, 0x10 -_08183B22: - strh r0, [r4, 0x24] -_08183B24: - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x60 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x40 - strh r0, [r4, 0x32] -_08183B40: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_67 - - thumb_func_start sub_8183B4C -sub_8183B4C: @ 8183B4C - push {r4-r7,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08183B5E - strh r0, [r4, 0x34] -_08183B5E: - ldr r7, =gUnknown_0860ADBE - movs r2, 0x34 - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - adds r5, r7, 0x2 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl __divsi3 - movs r2, 0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08183B8C - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x34] - strh r1, [r4, 0x32] -_08183B8C: - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r6, r0, r1 - adds r0, r6, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x38 - ldrsh r5, [r4, r1] - adds r1, r5, 0 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bne _08183BCC - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - cmp r0, 0 - bne _08183BC8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08183C06 - .pool -_08183BC8: - strh r1, [r4, 0x32] - b _08183C06 -_08183BCC: - adds r0, r6, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r0, r5 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r7, 0x1 - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r4, 0x38] - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C -_08183C06: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8183B4C - - thumb_func_start pokemonanimfunc_68 -pokemonanimfunc_68: @ 8183C0C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x38] - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_8183B4C - ldr r0, =sub_8183B4C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_68 - - thumb_func_start pokemonanimfunc_69 -pokemonanimfunc_69: @ 8183C2C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - strh r0, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_8183B4C - ldr r0, =sub_8183B4C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_69 - - thumb_func_start pokemonanimfunc_6A -pokemonanimfunc_6A: @ 8183C4C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - strh r0, [r4, 0x38] - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_8183B4C - ldr r0, =sub_8183B4C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_6A - - thumb_func_start sub_8183C6C -sub_8183C6C: @ 8183C6C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0xFF - ble _08183CAE - ldrh r1, [r4, 0x38] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bgt _08183CA4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _08183CE8 - .pool -_08183CA4: - subs r0, r1, 0x1 - movs r1, 0 - strh r0, [r4, 0x38] - strh r1, [r4, 0x3C] - b _08183CE8 -_08183CAE: - ldrh r0, [r4, 0x3A] - adds r0, r1, r0 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x80 - lsls r5, 1 - cmp r0, r5 - ble _08183CC2 - strh r5, [r4, 0x3C] -_08183CC2: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x40 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - subs r2, r5, r2 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08183CE8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8183C6C - - thumb_func_start pokemonanimfunc_6B -pokemonanimfunc_6B: @ 8183CF0 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183D16 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] - movs r0, 0x1 - strh r0, [r4, 0x38] -_08183D16: - adds r0, r4, 0 - bl sub_8183C6C - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6B - - thumb_func_start pokemonanimfunc_6C -pokemonanimfunc_6C: @ 8183D28 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183D4E - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0x2 - strh r0, [r4, 0x38] -_08183D4E: - adds r0, r4, 0 - bl sub_8183C6C - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6C - - thumb_func_start pokemonanimfunc_6D -pokemonanimfunc_6D: @ 8183D60 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183D88 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_08183D88: - adds r0, r4, 0 - bl sub_8182764 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6D - - thumb_func_start pokemonanimfunc_6E -pokemonanimfunc_6E: @ 8183D94 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183DBA - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] - adds r0, 0xFC - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_08183DBA: - adds r0, r4, 0 - bl sub_8182764 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6E - - thumb_func_start pokemonanimfunc_6F -pokemonanimfunc_6F: @ 8183DC8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183DF0 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_08183DF0: - adds r0, r4, 0 - bl sub_8182830 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6F - - thumb_func_start pokemonanimfunc_70 -pokemonanimfunc_70: @ 8183DFC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183E22 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r1, 0x8 - strh r1, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] -_08183E22: - adds r0, r4, 0 - bl sub_8182830 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_70 - - thumb_func_start pokemonanimfunc_71 -pokemonanimfunc_71: @ 8183E30 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08183E4A - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x5 - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] -_08183E4A: - adds r0, r4, 0 - bl sub_8180828 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_71 - - thumb_func_start pokemonanimfunc_72 -pokemonanimfunc_72: @ 8183E58 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08183E72 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x3 - strh r0, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] -_08183E72: - adds r0, r4, 0 - bl sub_8180828 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_72 - - thumb_func_start pokemonanimfunc_73 -pokemonanimfunc_73: @ 8183E80 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183EA2 - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x1E - strh r0, [r5, 0x3A] - movs r0, 0x3C - strh r0, [r5, 0x34] - strh r6, [r5, 0x3C] -_08183EA2: - adds r0, r5, 0 - bl sub_81832C8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_73 - - thumb_func_start pokemonanimfunc_74 -pokemonanimfunc_74: @ 8183EB0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183ED4 - movs r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0x14 - strh r0, [r4, 0x3A] - movs r0, 0x46 - strh r0, [r4, 0x34] - strh r5, [r4, 0x3C] -_08183ED4: - adds r0, r4, 0 - bl sub_81832C8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_74 - - thumb_func_start pokemonanimfunc_75 -pokemonanimfunc_75: @ 8183EE0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183F06 - movs r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0x14 - strh r0, [r4, 0x3A] - movs r0, 0x46 - strh r0, [r4, 0x34] - strh r5, [r4, 0x38] - strh r5, [r4, 0x3C] -_08183F06: - adds r0, r4, 0 - bl sub_8183418 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_75 - - thumb_func_start pokemonanimfunc_76 -pokemonanimfunc_76: @ 8183F14 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183F38 - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x1E - strh r0, [r5, 0x3A] - movs r0, 0x3C - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_08183F38: - adds r0, r5, 0 - bl sub_8183418 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_76 - - thumb_func_start pokemonanimfunc_77 -pokemonanimfunc_77: @ 8183F44 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183F6A - movs r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0x14 - strh r0, [r4, 0x3A] - movs r0, 0x46 - strh r0, [r4, 0x34] - strh r5, [r4, 0x38] - strh r5, [r4, 0x3C] -_08183F6A: - adds r0, r4, 0 - bl sub_81837DC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_77 - - thumb_func_start pokemonanimfunc_78 -pokemonanimfunc_78: @ 8183F78 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183F9C - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x1E - strh r0, [r5, 0x3A] - movs r0, 0x3C - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_08183F9C: - adds r0, r5, 0 - bl sub_81837DC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_78 - - thumb_func_start sub_8183FA8 -sub_8183FA8: @ 8183FA8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _08183FEA - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bgt _08183FD0 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - b _0818403E - .pool -_08183FD0: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08183FDC - adds r0, 0xFF -_08183FDC: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - strh r0, [r4, 0x3C] - subs r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _0818403E -_08183FEA: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r3, 0x3C - ldrsh r2, [r4, r3] - adds r1, r2, 0 - adds r1, 0xC0 - adds r0, r1, 0 - cmp r1, 0 - bge _0818400C - ldr r3, =0x000001bf - adds r0, r2, r3 -_0818400C: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - ble _0818402E - movs r3, 0x26 - ldrsh r0, [r4, r3] - negs r0, r0 - strh r0, [r4, 0x26] -_0818402E: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - ldrh r2, [r4, 0x3C] - adds r0, r2 - strh r0, [r4, 0x3C] -_0818403E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8183FA8 - - thumb_func_start pokemonanimfunc_79 -pokemonanimfunc_79: @ 8184048 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _08184066 - movs r0, 0x1 - strh r0, [r1, 0x32] - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0xC - strh r0, [r1, 0x38] - strh r0, [r1, 0x36] - movs r0, 0x4 - strh r0, [r1, 0x34] -_08184066: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_79 - - thumb_func_start pokemonanimfunc_7A -pokemonanimfunc_7A: @ 8184070 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _0818408E - movs r0, 0x1 - strh r0, [r1, 0x32] - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0xC - strh r0, [r1, 0x38] - strh r0, [r1, 0x36] - movs r0, 0x6 - strh r0, [r1, 0x34] -_0818408E: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7A - - thumb_func_start pokemonanimfunc_7B -pokemonanimfunc_7B: @ 8184098 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _081840B8 - movs r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0x2 - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0xC - strh r0, [r1, 0x38] - strh r0, [r1, 0x36] - movs r0, 0x8 - strh r0, [r1, 0x34] -_081840B8: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7B - - thumb_func_start sub_81840C4 -sub_81840C4: @ 81840C4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x3C - ldrsh r0, [r5, r1] - movs r1, 0x80 - lsls r1, 1 - cmp r0, r1 - ble _081840FC - movs r2, 0x3A - ldrsh r1, [r5, r2] - ldrh r2, [r5, 0x36] - movs r3, 0x36 - ldrsh r0, [r5, r3] - cmp r1, r0 - bgt _081840EC - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - b _081840F4 - .pool -_081840EC: - adds r0, r2, 0x1 - movs r1, 0 - strh r0, [r5, 0x36] - strh r1, [r5, 0x3C] -_081840F4: - movs r0, 0 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - b _08184188 -_081840FC: - cmp r0, 0x9F - ble _08184126 - cmp r0, r1 - ble _08184106 - strh r1, [r5, 0x3C] -_08184106: - movs r0, 0x3C - ldrsh r1, [r5, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08184112 - adds r0, 0xFF -_08184112: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - b _08184154 -_08184126: - cmp r0, 0x5F - ble _0818414A - movs r0, 0x60 - movs r1, 0x6 - bl Sin - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r5, r1] - subs r0, 0x60 - lsls r0, 17 - asrs r0, 16 - movs r1, 0x4 - bl Sin - subs r4, r0 - strh r4, [r5, 0x26] - b _08184156 -_0818414A: - movs r2, 0x3C - ldrsh r0, [r5, r2] - movs r1, 0x6 - bl Sin -_08184154: - strh r0, [r5, 0x26] -_08184156: - movs r3, 0x3C - ldrsh r0, [r5, r3] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r2, 0x38 - ldrsh r1, [r5, r2] - bl Sin - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r5, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0818417E - lsls r0, r2, 16 - negs r0, r0 - lsrs r2, r0, 16 -_0818417E: - strh r2, [r5, 0x24] - ldrh r0, [r5, 0x34] - ldrh r3, [r5, 0x3C] - adds r0, r3 - strh r0, [r5, 0x3C] -_08184188: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81840C4 - - thumb_func_start pokemonanimfunc_7C -pokemonanimfunc_7C: @ 8184190 - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _081841B0 - movs r1, 0x1 - strh r1, [r2, 0x32] - movs r0, 0x2 - strh r0, [r2, 0x3A] - strh r3, [r2, 0x3C] - movs r0, 0x10 - strh r0, [r2, 0x38] - strh r1, [r2, 0x36] - movs r0, 0x4 - strh r0, [r2, 0x34] -_081841B0: - adds r0, r2, 0 - bl sub_81840C4 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7C - - thumb_func_start pokemonanimfunc_7D -pokemonanimfunc_7D: @ 81841BC - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _081841DC - movs r1, 0x1 - strh r1, [r2, 0x32] - movs r0, 0x2 - strh r0, [r2, 0x3A] - strh r3, [r2, 0x3C] - movs r0, 0x10 - strh r0, [r2, 0x38] - strh r1, [r2, 0x36] - movs r0, 0x6 - strh r0, [r2, 0x34] -_081841DC: - adds r0, r2, 0 - bl sub_81840C4 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7D - - thumb_func_start pokemonanimfunc_7E -pokemonanimfunc_7E: @ 81841E8 - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _08184208 - movs r1, 0x1 - strh r1, [r2, 0x32] - movs r0, 0x3 - strh r0, [r2, 0x3A] - strh r3, [r2, 0x3C] - movs r0, 0x10 - strh r0, [r2, 0x38] - strh r1, [r2, 0x36] - movs r0, 0x8 - strh r0, [r2, 0x34] -_08184208: - adds r0, r2, 0 - bl sub_81840C4 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7E - - thumb_func_start pokemonanimfunc_7F -pokemonanimfunc_7F: @ 8184214 - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _08184232 - movs r0, 0x1 - strh r0, [r2, 0x32] - strh r0, [r2, 0x3A] - strh r1, [r2, 0x3C] - movs r1, 0x4 - strh r1, [r2, 0x38] - movs r0, 0x6 - strh r0, [r2, 0x36] - strh r1, [r2, 0x34] -_08184232: - adds r0, r2, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7F - - thumb_func_start pokemonanimfunc_80 -pokemonanimfunc_80: @ 818423C - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _0818425A - movs r0, 0x1 - strh r0, [r1, 0x32] - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0x4 - strh r0, [r1, 0x38] - movs r0, 0x6 - strh r0, [r1, 0x36] - strh r0, [r1, 0x34] -_0818425A: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_80 - - thumb_func_start pokemonanimfunc_81 -pokemonanimfunc_81: @ 8184264 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _08184286 - movs r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0x2 - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0x4 - strh r0, [r1, 0x38] - movs r0, 0x6 - strh r0, [r1, 0x36] - movs r0, 0x8 - strh r0, [r1, 0x34] -_08184286: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_81 - - thumb_func_start sub_8184290 -sub_8184290: @ 8184290 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r0, r1, 8 - negs r0, r0 - strh r0, [r4, 0x3A] - movs r0, 0x36 - ldrsh r2, [r4, r0] - adds r0, r4, 0 - movs r3, 0 - bl sub_817F3F0 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8184290 - - thumb_func_start pokemonanimfunc_82 -pokemonanimfunc_82: @ 81842DC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08184300 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x3C - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x38] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x36] - movs r0, 0x1 - strh r0, [r4, 0x34] - strh r5, [r4, 0x2E] -_08184300: - movs r2, 0x32 - ldrsh r1, [r4, r2] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _0818434C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r2, 0 - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r3, 0x34 - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08184348 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08184358 - .pool -_08184348: - strh r2, [r4, 0x32] - b _08184352 -_0818434C: - adds r0, r4, 0 - bl sub_8184290 -_08184352: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08184358: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_82 - - thumb_func_start pokemonanimfunc_83 -pokemonanimfunc_83: @ 8184360 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08184384 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x5A - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x38] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x36] - movs r0, 0x1 - strh r0, [r4, 0x34] - strh r5, [r4, 0x2E] -_08184384: - movs r2, 0x32 - ldrsh r1, [r4, r2] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _081843D0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r2, 0 - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r3, 0x34 - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bgt _081843CC - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081843DC - .pool -_081843CC: - strh r2, [r4, 0x32] - b _081843D6 -_081843D0: - adds r0, r4, 0 - bl sub_8184290 -_081843D6: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_081843DC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_83 - - thumb_func_start pokemonanimfunc_84 -pokemonanimfunc_84: @ 81843E4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08184408 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x1E - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x38] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x36] - movs r0, 0x2 - strh r0, [r4, 0x34] - strh r5, [r4, 0x2E] -_08184408: - movs r2, 0x32 - ldrsh r1, [r4, r2] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _08184454 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r2, 0 - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r3, 0x34 - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08184450 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08184460 - .pool -_08184450: - strh r2, [r4, 0x32] - b _0818445A -_08184454: - adds r0, r4, 0 - bl sub_8184290 -_0818445A: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08184460: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_84 - - thumb_func_start sub_8184468 -sub_8184468: @ 8184468 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x32 - ldrsh r1, [r6, r0] - movs r2, 0x3C - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818449C - movs r0, 0 - strh r0, [r6, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08184544 - .pool -_0818449C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - movs r2, 0x3A - ldrsh r4, [r6, r2] - adds r1, r4, 0 - bl __modsi3 - lsls r0, 24 - lsrs r0, 16 - adds r1, r4, 0 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _081844BC - adds r0, 0xFF -_081844BC: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r6, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081844F8 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - adds r0, r5 - strh r0, [r6, 0x38] - adds r0, r4, 0 - movs r1, 0x20 - b _0818451E -_081844F8: - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r5, r2, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - adds r0, r5 - strh r0, [r6, 0x38] - adds r0, r4, 0 - movs r1, 0x8 -_0818451E: - bl Sin - lsls r0, 24 - lsrs r0, 24 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _08184530 - adds r0, 0x7 -_08184530: - lsrs r0, 3 - strh r0, [r6, 0x26] - movs r0, 0x36 - ldrsh r1, [r6, r0] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F6D4 -_08184544: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8184468 - - thumb_func_start pokemonanimfunc_85 -pokemonanimfunc_85: @ 8184550 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08184570 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - movs r0, 0x28 - strh r0, [r4, 0x3A] - movs r0, 0x50 - strh r0, [r4, 0x3C] -_08184570: - adds r0, r4, 0 - bl sub_8184468 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_85 - - thumb_func_start pokemonanimfunc_86 -pokemonanimfunc_86: @ 818457C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0818459A - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - movs r0, 0x28 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x3C] -_0818459A: - adds r0, r4, 0 - bl sub_8184468 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_86 - - thumb_func_start pokemonanimfunc_87 -pokemonanimfunc_87: @ 81845A8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081845C6 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - movs r0, 0x50 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x3C] -_081845C6: - adds r0, r4, 0 - bl sub_8184468 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_87 - - thumb_func_start sub_81845D4 -sub_81845D4: @ 81845D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x32] - subs r0, r1 - strh r0, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmn r1, r0 - bgt _081845FE - ldrh r0, [r4, 0x3A] - negs r0, r0 - strh r0, [r4, 0x24] - movs r0, 0x2 - strh r0, [r4, 0x3C] - ldr r0, =sub_8184610 - str r0, [r4, 0x1C] -_081845FE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81845D4 - - thumb_func_start sub_8184610 -sub_8184610: @ 8184610 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x3C] - lsls r1, 16 - cmp r1, 0 - blt _0818462E - ldr r0, =sub_8184640 - str r0, [r4, 0x1C] -_0818462E: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184610 - - thumb_func_start sub_8184640 -sub_8184640: @ 8184640 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x3C] - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _08184668 - strh r2, [r4, 0x24] - ldr r0, =sub_8184678 - str r0, [r4, 0x1C] -_08184668: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184640 - - thumb_func_start sub_8184678 -sub_8184678: @ 8184678 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r2, [r4, 0x34] - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08184698 - ldr r0, =sub_81846B8 - str r0, [r4, 0x1C] - b _081846AC - .pool -_08184698: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r3, 0x36 - ldrsh r0, [r4, r3] - negs r0, r0 - strh r0, [r4, 0x36] - adds r0, r2, 0x1 - strh r0, [r4, 0x34] -_081846AC: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8184678 - - thumb_func_start sub_81846B8 -sub_81846B8: @ 81846B8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - subs r0, 0x2 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bgt _081846DA - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_081846DA: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81846B8 - - thumb_func_start pokemonanimfunc_88 -pokemonanimfunc_88: @ 81846EC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r2, 0 - movs r1, 0x4 - strh r1, [r4, 0x3C] - movs r0, 0xC - strh r0, [r4, 0x3A] - movs r0, 0x10 - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x2 - strh r0, [r4, 0x32] - ldr r0, =sub_81845D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_88 - - thumb_func_start pokemonanimfunc_89 -pokemonanimfunc_89: @ 8184718 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r2, 0 - movs r1, 0x2 - strh r1, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0xC - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x32] - ldr r0, =sub_81845D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_89 - - thumb_func_start pokemonanimfunc_8A -pokemonanimfunc_8A: @ 8184744 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r1, 0 - strh r1, [r4, 0x3C] - movs r0, 0x6 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r1, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x32] - ldr r0, =sub_81845D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_8A - - thumb_func_start sub_8184770 -sub_8184770: @ 8184770 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - strh r0, [r1, 0x24] - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0x1 - ble _0818478E - movs r2, 0x30 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x30] - movs r0, 0 - b _08184790 -_0818478E: - adds r0, r2, 0x1 -_08184790: - strh r0, [r1, 0x2E] - pop {r0} - bx r0 - thumb_func_end sub_8184770 - - thumb_func_start sub_8184798 -sub_8184798: @ 8184798 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_0860AE7C - movs r2, 0x34 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl sub_8184770 - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - bne _081847D0 - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818482E - .pool -_081847D0: - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _08184800 - ldrb r0, [r1] - cmp r0, 0 - beq _081847F0 - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0x10 - bl BlendPalette - b _081847FC - .pool -_081847F0: - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0 - bl BlendPalette -_081847FC: - movs r0, 0 - strh r0, [r4, 0x36] -_08184800: - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08184828 - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _0818482E - .pool -_08184828: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_0818482E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8184798 - - thumb_func_start pokemonanimfunc_8B -pokemonanimfunc_8B: @ 8184834 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08184860 - ldrb r0, [r2, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2, 0x3C] - strh r3, [r2, 0x3A] - strh r3, [r2, 0x38] - strh r3, [r2, 0x36] - strh r3, [r2, 0x34] -_08184860: - adds r0, r2, 0 - bl sub_8184798 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8B - - thumb_func_start pokemonanimfunc_8C -pokemonanimfunc_8C: @ 818486C - push {r4,r5,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0x1 - bne _08184898 - ldrb r0, [r2, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r5, 0x80 - lsls r5, 1 - adds r1, r5, 0 - adds r0, r1 - strh r0, [r2, 0x3C] - strh r3, [r2, 0x3A] - strh r3, [r2, 0x38] - strh r3, [r2, 0x36] - strh r4, [r2, 0x34] -_08184898: - adds r0, r2, 0 - bl sub_8184798 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8C - - thumb_func_start pokemonanimfunc_8D -pokemonanimfunc_8D: @ 81848A4 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _081848D2 - ldrb r0, [r2, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2, 0x3C] - strh r3, [r2, 0x3A] - strh r3, [r2, 0x38] - strh r3, [r2, 0x36] - movs r0, 0x2 - strh r0, [r2, 0x34] -_081848D2: - adds r0, r2, 0 - bl sub_8184798 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8D - - thumb_func_start sub_81848E0 -sub_81848E0: @ 81848E0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _08184904 - ldrh r0, [r4, 0x3C] - movs r1, 0x10 - movs r2, 0 - movs r3, 0x1F - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818492A - .pool -_08184904: - movs r5, 0x32 - ldrsh r0, [r4, r5] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =gUnknown_0860AE88 - movs r5, 0x30 - ldrsh r1, [r4, r5] - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette -_0818492A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81848E0 - - thumb_func_start sub_8184934 -sub_8184934: @ 8184934 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _081849CC - adds r0, r4, 0 - bl sub_817F70C - movs r3, 0x38 - ldrsh r1, [r4, r3] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08184970 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0818496C - strh r2, [r4, 0x38] -_0818496C: - strh r2, [r4, 0x24] - b _081849C6 -_08184970: - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - lsls r1, 16 - asrs r1, 15 - movs r0, 0x1 - subs r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 7 - movs r3, 0x2E - ldrsh r1, [r4, r3] - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _081849A4 - adds r0, 0xFF -_081849A4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r1, 0 - muls r2, r0 - adds r0, r2, 0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_081849C6: - adds r0, r4, 0 - bl sub_817F70C -_081849CC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8184934 - - thumb_func_start pokemonanimfunc_8E -pokemonanimfunc_8E: @ 81849D4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _081849FE - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r2, [r4, 0x30] -_081849FE: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184A0E - adds r0, r4, 0 - bl sub_81848E0 -_08184A0E: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184A30 - adds r0, r4, 0 - bl sub_8184934 -_08184A30: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8E - - thumb_func_start pokemonanimfunc_8F -pokemonanimfunc_8F: @ 8184A3C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184A66 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x14 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r2, [r4, 0x30] -_08184A66: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184A76 - adds r0, r4, 0 - bl sub_81848E0 -_08184A76: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184A98 - adds r0, r4, 0 - bl sub_8184934 -_08184A98: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8F - - thumb_func_start pokemonanimfunc_90 -pokemonanimfunc_90: @ 8184AA4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184ACE - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x50 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r2, [r4, 0x30] -_08184ACE: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184ADE - adds r0, r4, 0 - bl sub_81848E0 -_08184ADE: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184B00 - adds r0, r4, 0 - bl sub_8184934 -_08184B00: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_90 - - thumb_func_start pokemonanimfunc_91 -pokemonanimfunc_91: @ 8184B0C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184B38 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x30] -_08184B38: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184B48 - adds r0, r4, 0 - bl sub_81848E0 -_08184B48: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184B6A - adds r0, r4, 0 - bl sub_8184934 -_08184B6A: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_91 - - thumb_func_start pokemonanimfunc_92 -pokemonanimfunc_92: @ 8184B78 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184BA2 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x14 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r0, [r4, 0x30] -_08184BA2: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184BB2 - adds r0, r4, 0 - bl sub_81848E0 -_08184BB2: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184BD4 - adds r0, r4, 0 - bl sub_8184934 -_08184BD4: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_92 - - thumb_func_start pokemonanimfunc_93 -pokemonanimfunc_93: @ 8184BE0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184C0A - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x50 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r0, [r4, 0x30] -_08184C0A: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184C1A - adds r0, r4, 0 - bl sub_81848E0 -_08184C1A: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184C3C - adds r0, r4, 0 - bl sub_8184934 -_08184C3C: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_93 - - thumb_func_start pokemonanimfunc_94 -pokemonanimfunc_94: @ 8184C48 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184C72 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r0, [r4, 0x30] -_08184C72: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184C82 - adds r0, r4, 0 - bl sub_81848E0 -_08184C82: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184CA4 - adds r0, r4, 0 - bl sub_8184934 -_08184CA4: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_94 - - thumb_func_start pokemonanimfunc_95 -pokemonanimfunc_95: @ 8184CB0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184CDC - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x14 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x2 - strh r0, [r4, 0x30] -_08184CDC: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184CEC - adds r0, r4, 0 - bl sub_81848E0 -_08184CEC: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184D0E - adds r0, r4, 0 - bl sub_8184934 -_08184D0E: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_95 - - thumb_func_start pokemonanimfunc_96 -pokemonanimfunc_96: @ 8184D1C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184D48 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x50 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x2 - strh r0, [r4, 0x30] -_08184D48: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184D58 - adds r0, r4, 0 - bl sub_81848E0 -_08184D58: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184D7A - adds r0, r4, 0 - bl sub_8184934 -_08184D7A: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_96 - - thumb_func_start sub_8184D88 -sub_8184D88: @ 8184D88 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08184D9C - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08184D9C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184D88 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s index 6009bd3f3..40291bee4 100755..100644 --- a/asm/pokemon_icon.s +++ b/asm/pokemon_icon.s @@ -5,9 +5,9 @@ .text - thumb_func_start sub_80D2CC4 -@ int sub_80D2CC4(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7) -sub_80D2CC4: @ 80D2CC4 + thumb_func_start CreateMonIcon +@ int CreateMonIcon(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7) +CreateMonIcon: @ 80D2CC4 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -28,15 +28,15 @@ sub_80D2CC4: @ 80D2CC4 lsls r0, 24 lsrs r0, 24 mov r9, r0 - ldr r0, =gUnknown_0857C570 + ldr r0, =sMonIconOamData str r0, [sp, 0x18] adds r0, r4, 0 adds r2, r5, 0 bl GetMonIconPtr str r0, [sp, 0x1C] - ldr r0, =gUnknown_0857C5B4 + ldr r0, =sMonIconAnims str r0, [sp, 0x20] - ldr r0, =gUnknown_0857C5E8 + ldr r0, =sMonIconAffineAnims str r0, [sp, 0x24] str r6, [sp, 0x28] ldr r0, =gMonIconPaletteIndices @@ -84,7 +84,7 @@ _080D2D2A: pop {r1} bx r1 .pool - thumb_func_end sub_80D2CC4 + thumb_func_end CreateMonIcon thumb_func_start sub_80D2D78 sub_80D2D78: @ 80D2D78 @@ -102,13 +102,13 @@ sub_80D2D78: @ 80D2D78 lsls r6, 24 lsrs r6, 24 mov r3, sp - ldr r2, =gUnknown_0857C570 + ldr r2, =sMonIconOamData str r2, [sp] movs r2, 0 str r2, [sp, 0x4] - ldr r2, =gUnknown_0857C5B4 + ldr r2, =sMonIconAnims str r2, [sp, 0x8] - ldr r2, =gUnknown_0857C5E8 + ldr r2, =sMonIconAffineAnims str r2, [sp, 0xC] str r1, [sp, 0x10] ldr r2, =gMonIconPaletteIndices @@ -156,7 +156,7 @@ mon_icon_convert_unown_species_id: @ 80D2E08 cmp r2, 0xC9 bne _080D2E32 adds r0, r1, 0 - bl mon_icon_personality_to_unown_id + bl GetUnownLetterByPersonality lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -186,8 +186,8 @@ _080D2E40: bx r1 thumb_func_end mon_icon_convert_unown_species_id - thumb_func_start mon_icon_personality_to_unown_id -mon_icon_personality_to_unown_id: @ 80D2E48 + thumb_func_start GetUnownLetterByPersonality +GetUnownLetterByPersonality: @ 80D2E48 push {lr} adds r2, r0, 0 cmp r2, 0 @@ -219,7 +219,7 @@ _080D2E7E: _080D2E80: pop {r1} bx r1 - thumb_func_end mon_icon_personality_to_unown_id + thumb_func_end GetUnownLetterByPersonality thumb_func_start sub_80D2E84 sub_80D2E84: @ 80D2E84 @@ -229,7 +229,7 @@ sub_80D2E84: @ 80D2E84 lsrs r4, r0, 16 adds r0, r4, 0 mov r1, sp - bl sub_80D45E8 + bl MailSpeciesToSpecies lsls r0, 16 lsrs r0, 16 cmp r0, 0xC9 @@ -601,7 +601,7 @@ _080D3126: strb r7, [r5] b _080D31A4 _080D312A: - ldr r2, =gUnknown_0857C5F0 + ldr r2, =sSpriteImageSizes ldrb r1, [r4, 0x3] lsrs r1, 6 lsls r1, 1 @@ -689,7 +689,7 @@ sub_80D31B4: @ 80D31B4 mov r8, r0 movs r0, 0 str r0, [sp, 0x30] - ldr r2, =gUnknown_0857C5F0 + ldr r2, =sSpriteImageSizes mov r0, r9 ldr r6, [r0] ldrb r1, [r6, 0x3] @@ -776,7 +776,7 @@ sub_80D328C: @ 80D328C sub sp, 0x8 movs r1, 0 str r1, [sp] - ldr r3, =gUnknown_0857C5F0 + ldr r3, =sSpriteImageSizes ldrb r2, [r0, 0x3] lsrs r2, 6 lsls r2, 1 diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s index 49b205967..2184b22b2 100644 --- a/asm/pokemon_item_effect.s +++ b/asm/pokemon_item_effect.s @@ -77,7 +77,7 @@ ExecuteTableBasedItemEffect: @ 806BD28 cmp r0, 0 beq _0806BDA8 ldr r2, =gEnigmaBerries - ldr r0, =gBankInMenu + ldr r0, =gBattlerInMenuId ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -100,8 +100,8 @@ _0806BDBC: lsrs r0, 24 _0806BDC4: str r0, [sp, 0x34] - ldr r1, =gStringBank - ldr r0, =gBankInMenu + ldr r1, =gPotentialItemEffectBattler + ldr r0, =gBattlerInMenuId ldrb r2, [r0] strb r2, [r1] ldr r0, =gMain @@ -114,23 +114,23 @@ _0806BDC4: lsrs r1, r0, 24 cmp r1, 0 beq _0806BE64 - ldr r0, =gActiveBank + ldr r0, =gActiveBattler strb r2, [r0] ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 negs r1, r0 orrs r1, r0 lsrs r1, 31 str r1, [sp, 0x1C] - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldr r4, [sp, 0xC] subs r4, 0xD ldrb r0, [r0] cmp r1, r0 bge _0806BE70 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes lsls r0, r1, 1 adds r0, r2 ldrh r3, [r0] @@ -148,7 +148,7 @@ _0806BE3C: ldr r1, [sp, 0x1C] adds r1, 0x2 str r1, [sp, 0x1C] - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r1, r0 bge _0806BE70 @@ -165,7 +165,7 @@ _0806BE3C: b _0806BE70 .pool _0806BE64: - ldr r0, =gActiveBank + ldr r0, =gActiveBattler strb r1, [r0] movs r3, 0x4 str r3, [sp, 0x38] @@ -200,7 +200,7 @@ _0806BE9A: ands r0, r1 cmp r0, 0 beq _0806BECC - ldr r0, =gActiveBank + ldr r0, =gActiveBattler ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -297,7 +297,7 @@ _0806BF76: cmp r0, 0 beq _0806BFA4 ldr r1, =gBattleMons - ldr r0, =gActiveBank + ldr r0, =gActiveBattler ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -323,7 +323,7 @@ _0806BFA4: bl _0806CD4C _0806BFB2: ldr r6, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -362,7 +362,7 @@ _0806BFFC: cmp r3, 0 beq _0806C042 ldr r7, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -396,7 +396,7 @@ _0806C042: bl _0806CD4C _0806C050: ldr r6, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -433,7 +433,7 @@ _0806C08C: cmp r3, 0 beq _0806C0D2 ldr r7, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -467,7 +467,7 @@ _0806C0D2: bl _0806CD4C _0806C0E0: ldr r6, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -506,9 +506,9 @@ _0806C120: cmp r0, 0 beq _0806C168 ldr r5, =gSideTimers - ldr r4, =gActiveBank + ldr r4, =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -519,7 +519,7 @@ _0806C120: cmp r0, 0 bne _0806C168 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -965,7 +965,7 @@ _0806C4FC: ldr r3, [sp, 0x38] cmp r3, 0x4 beq _0806C55C - ldr r2, =gAbsentBankFlags + ldr r2, =gAbsentBattlerFlags ldr r1, =gBitTable lsls r0, r3, 2 adds r0, r1 @@ -973,7 +973,7 @@ _0806C4FC: ldrb r0, [r2] bics r0, r1 strb r0, [r2] - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r3, 1 adds r0, r1 ldrb r0, [r0] @@ -983,14 +983,14 @@ _0806C4FC: lsrs r1, 24 ldr r0, [sp, 0x38] bl CopyPlayerPartyMonToBattleData - ldr r0, =gActiveBank + ldr r0, =gActiveBattler ldrb r0, [r0] b _0806C574 .pool _0806C55C: - ldr r3, =gAbsentBankFlags + ldr r3, =gAbsentBattlerFlags ldr r1, =gBitTable - ldr r2, =gActiveBank + ldr r2, =gActiveBattler ldrb r0, [r2] eors r0, r4 lsls r0, 2 @@ -1001,7 +1001,7 @@ _0806C55C: strb r0, [r3] ldrb r0, [r2] _0806C574: - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0806C5B2 @@ -1135,9 +1135,9 @@ _0806C65E: ands r0, r3 cmp r0, 0 bne _0806C6EC - ldr r4, =gActiveBank + ldr r4, =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0806C6EC @@ -1155,9 +1155,9 @@ _0806C6AE: movs r0, 0 movs r1, 0 movs r2, 0 - bl EmitGetMonData + bl BtlController_EmitGetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec strb r5, [r4] b _0806C6EC .pool diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index d1f7bd161..2ff444f56 100755..100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -5,224 +5,8 @@ .text - thumb_func_start CountMonsInBox -CountMonsInBox: @ 80C6FA0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - movs r5, 0 -_080C6FAA: - lsls r1, r4, 24 - lsrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - beq _080C6FC0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C6FC0: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C6FAA - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CountMonsInBox - - thumb_func_start sub_80C6FD4 -sub_80C6FD4: @ 80C6FD4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_080C6FDC: - lsls r1, r4, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _080C6FF2 - lsls r0, r4, 16 - asrs r0, 16 - b _080C7000 -_080C6FF2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C6FDC - movs r0, 0x1 - negs r0, r0 -_080C7000: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C6FD4 - - thumb_func_start sub_80C7008 -sub_80C7008: @ 80C7008 - push {r4-r6,lr} - movs r5, 0 - movs r6, 0 -_080C700E: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080C7036 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080C7036 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C7036: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080C700E - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C7008 - - thumb_func_start sub_80C7050 -sub_80C7050: @ 80C7050 - push {r4-r7,lr} - lsls r0, 24 - movs r5, 0 - movs r6, 0 - lsrs r7, r0, 24 -_080C705A: - cmp r5, r7 - beq _080C7092 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080C7092 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080C7092 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080C7092 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C7092: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080C705A - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C7050 - - thumb_func_start sub_80C70AC -sub_80C70AC: @ 80C70AC - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_80C7050 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C70AC - - thumb_func_start sub_80C70C4 -sub_80C70C4: @ 80C70C4 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_080C70CA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080C70E2 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C70E2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _080C70CA - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C70C4 - - thumb_func_start sub_80C70FC -sub_80C70FC: @ 80C70FC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl StringCopy - adds r1, r0, 0 - adds r5, r4 - cmp r1, r5 - bcs _080C711A - movs r0, 0 -_080C7112: - strb r0, [r1] - adds r1, 0x1 - cmp r1, r5 - bcc _080C7112 -_080C711A: - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C70FC - thumb_func_start sub_80C7128 + thumb_func_start sub_80C7128 sub_80C7128: @ 80C7128 push {r4-r7,lr} mov r7, r9 @@ -427,7 +211,7 @@ _080C72AC: bl sub_81973A4 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer @@ -449,7 +233,7 @@ _080C72AC: movs r0, 0 movs r1, 0x1 movs r3, 0xFF - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -555,7 +339,7 @@ _080C7392: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _080C756A .pool _080C73D0: @@ -578,7 +362,7 @@ _080C73F6: ldrsh r4, [r5, r3] cmp r4, 0 bne _080C7428 - bl sub_80C70C4 + bl CountPartyMons lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -601,7 +385,7 @@ _080C7428: ldrsh r0, [r5, r1] cmp r0, 0x1 bne _080C745C - bl sub_80C70C4 + bl CountPartyMons lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 @@ -622,7 +406,7 @@ _080C7428: _080C745C: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen movs r0, 0x4 strh r0, [r5, 0x8] b _080C756A @@ -725,7 +509,7 @@ _080C7532: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized strh r4, [r5, 0x8] b _080C756A .pool @@ -843,7 +627,7 @@ sub_80C75FC: @ 80C75FC lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame adds r0, r4, 0 movs r1, 0x5 mov r2, r8 @@ -1322,7 +1106,7 @@ sub_80C7958: @ 80C7958 ldrh r0, [r3] adds r0, 0x1 strh r0, [r1] - ldr r0, =gUnknown_08571710 + ldr r0, =sSpriteAnimTable_8571710 str r0, [sp, 0xC] movs r4, 0 _080C7A10: @@ -2252,7 +2036,7 @@ _080C8230: ldrb r0, [r0] cmp r0, 0x2 bne _080C825C - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] cmp r0, 0 beq _080C825C @@ -2417,7 +2201,7 @@ _080C83CC: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _080C83F4 @@ -2520,7 +2304,7 @@ _080C84C8: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _080C84F8 @@ -3090,7 +2874,7 @@ _080C8A0C: ldr r2, =0x00000ce6 adds r0, r2 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080C8A8C @@ -3129,7 +2913,7 @@ _080C8A7C: ldr r2, =0x00000ce6 adds r0, r1, r2 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _080C8A98 @@ -3539,7 +3323,7 @@ _080C8E38: b _080C8EA0 .pool _080C8E4C: - bl party_compaction + bl CompactPartySlots bl sub_80CB950 ldr r0, =gUnknown_02039D08 ldr r1, [r0] @@ -3625,7 +3409,7 @@ _080C8F0C: adds r0, 0x1 strb r0, [r1] _080C8F22: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3699,7 +3483,7 @@ _080C8FA4: ldrb r0, [r0] cmp r0, 0 beq _080C8FD0 - bl party_compaction + bl CompactPartySlots bl sub_80CB950 b _080C905C .pool @@ -3877,7 +3661,7 @@ _080C914E: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080C9168 @@ -4159,7 +3943,7 @@ _080C93E4: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080C9404 @@ -4349,7 +4133,7 @@ _080C9584: b _080C9664 .pool _080C95A4: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4453,7 +4237,7 @@ sub_80C9670: @ 80C9670 b _080C96AE .pool _080C9688: - bl party_compaction + bl CompactPartySlots bl sub_80CB950 ldr r1, [r4] ldrb r0, [r1] @@ -5143,7 +4927,7 @@ _080C9C78: b _080C9CAA .pool _080C9C8C: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -5274,7 +5058,7 @@ _080C9DAC: b _080C9DE0 .pool _080C9DC0: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -5458,7 +5242,7 @@ _080C9F56: sub_80C9F6C: @ 80C9F6C push {lr} sub sp, 0x4 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r1, [r0] mov r0, sp strh r1, [r0] @@ -5559,7 +5343,7 @@ sub_80CA044: @ 80CA044 movs r0, 0 movs r2, 0x4 bl InitBgsFromTemplates - ldr r1, =gUnknown_08DD2FE8 + ldr r1, =gPSSMenu_Gfx movs r0, 0 str r0, [sp] movs r0, 0x1 @@ -5609,7 +5393,7 @@ _080CA0C2: thumb_func_start sub_80CA0C8 sub_80CA0C8: @ 80CA0C8 push {lr} - ldr r0, =gUnknown_08572744 + ldr r0, =gWaveformSpritePalette bl LoadSpritePalette pop {r0} bx r0 @@ -5714,7 +5498,7 @@ sub_80CA154: @ 80CA154 sub_80CA1C4: @ 80CA1C4 push {r4,lr} sub sp, 0x8 - ldr r0, =gUnknown_0857274C + ldr r0, =gWaveformSpriteSheet ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp] @@ -6320,7 +6104,7 @@ sub_80CA704: @ 80CA704 ldr r1, [r4] adds r1, 0xB0 bl LZ77UnCompWram - ldr r0, =gUnknown_08DD36A8 + ldr r0, =gPSSMenu_Pal movs r1, 0x10 movs r2, 0x20 bl LoadPalette @@ -6567,7 +6351,7 @@ _080CA94C: movs r1, 0 strb r1, [r0] bl sub_80CBB9C - bl party_compaction + bl CompactPartySlots movs r0, 0x2 str r0, [sp] movs r1, 0 @@ -6953,7 +6737,7 @@ sub_80CAC58: @ 80CAC58 sub sp, 0xC lsls r0, 24 lsrs r6, r0, 24 - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, =gUnknown_0857276C lsls r0, r6, 3 adds r0, r1 @@ -6990,7 +6774,7 @@ _080CACB8: adds r1, r2 _080CACC0: movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI b _080CAD30 .pool _080CACD0: @@ -7033,7 +6817,7 @@ _080CAD16: ldr r0, =0x000021eb adds r1, r0 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI _080CAD30: ldr r5, =gUnknown_02039D08 ldr r0, [r5] @@ -7043,7 +6827,7 @@ _080CAD30: lsls r1, r6, 3 adds r1, r2 ldr r1, [r1] - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer @@ -9340,7 +9124,7 @@ _080CBF80: adds r1, r3 ldr r0, [r1] ldr r2, [r0] - ldr r0, =gUnknown_0857291C + ldr r0, =gSpriteAffineAnimTable_857291C str r0, [r2, 0x10] ldr r0, [r1] ldr r0, [r0] @@ -10351,7 +10135,7 @@ _080CC7E6: lsls r0, r1, 1 adds r0, r1 lsls r0, 2 - ldr r1, =gUnknown_085775B8 + ldr r1, =gWallpaperTable adds r6, r0, r1 ldr r0, [r6, 0x4] ldr r1, [r7] @@ -10862,7 +10646,7 @@ _080CCC70: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - ldr r0, =gUnknown_0857B0A8 + ldr r0, =gSpriteTemplate_857B0A8 movs r2, 0x1C movs r3, 0x18 bl CreateSprite @@ -10936,7 +10720,7 @@ sub_80CCCFC: @ 80CCCFC ldr r0, =0x00030200 str r0, [r3, 0x4] add r1, sp, 0x4 - ldr r0, =gUnknown_0857B0A8 + ldr r0, =gSpriteTemplate_857B0A8 ldm r0!, {r5-r7} stm r1!, {r5-r7} ldm r0!, {r5-r7} @@ -13381,7 +13165,7 @@ sub_80CE19C: @ 80CE19C lsls r0, 24 lsrs r6, r0, 24 adds r0, r6, 0 - bl sub_80C6FD4 + bl GetFirstFreeBoxSpot lsls r0, 16 lsrs r4, r0, 16 asrs r0, 16 @@ -14127,7 +13911,7 @@ _080CE838: ldr r2, =0x00002187 adds r1, r2 strb r0, [r1] - bl sub_80C70C4 + bl CountPartyMons ldr r1, [r4] subs r0, 0x1 ldr r2, =0x00002186 @@ -14193,8 +13977,8 @@ _080CE900: .pool thumb_func_end sub_80CE8E4 - thumb_func_start party_compaction -party_compaction: @ 80CE90C + thumb_func_start CompactPartySlots +CompactPartySlots: @ 80CE90C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -14271,7 +14055,7 @@ _080CE992: pop {r1} bx r1 .pool - thumb_func_end party_compaction + thumb_func_end CompactPartySlots thumb_func_start sub_80CE9A8 sub_80CE9A8: @ 80CE9A8 @@ -14347,7 +14131,7 @@ sub_80CEA30: @ 80CEA30 bne _080CEA64 ldr r0, =gUnknown_02039D79 ldrb r0, [r0] - bl sub_80C7050 + bl CountPartyAliveNonEggMonsExcept lsls r0, 24 cmp r0, 0 bne _080CEA64 @@ -14376,7 +14160,7 @@ sub_80CEA6C: @ 80CEA6C bne _080CEAAC ldr r0, =gUnknown_02039D79 ldrb r0, [r0] - bl sub_80C7050 + bl CountPartyAliveNonEggMonsExcept lsls r0, 24 cmp r0, 0 bne _080CEAAC @@ -14656,7 +14440,7 @@ _080CEC86: adds r1, r3 str r0, [r1] adds r0, r6, 0 - bl pokemon_get_pal + bl GetMonFrontSpritePal ldr r1, [r4] ldr r2, =0x00000cdc adds r1, r2 @@ -14759,7 +14543,7 @@ _080CED7E: adds r1, r4 ldrh r0, [r1] mov r1, r9 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality ldr r1, [r5] ldr r3, =0x00000cdc adds r2, r1, r3 @@ -16384,7 +16168,7 @@ sub_80CFB44: @ 80CFB44 .pool _080CFB8C: ldrh r0, [r1] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080CFBA4 @@ -16413,7 +16197,7 @@ _080CFBAC: .pool _080CFBCC: ldrh r0, [r1] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -16456,14 +16240,14 @@ sub_80CFC14: @ 80CFC14 push {r4-r6,lr} sub sp, 0x2C mov r1, sp - ldr r0, =gUnknown_0857B9E4 + ldr r0, =gHandCursorSpriteSheets ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} add r4, sp, 0x18 adds r1, r4, 0 - ldr r0, =gUnknown_0857B9FC + ldr r0, =gHandCursorSpritePalettes ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} ldr r0, [r0] @@ -16495,7 +16279,7 @@ sub_80CFC14: @ 80CFC14 adds r2, r4, 0 adds r3, r5, 0 bl sub_80CD444 - ldr r0, =gUnknown_0857BA50 + ldr r0, =gSpriteTemplate_857BA50 movs r2, 0 ldrsh r1, [r4, r2] movs r3, 0 @@ -16569,7 +16353,7 @@ _080CFD3C: movs r3, 0x15 movs r4, 0x2 _080CFD40: - ldr r0, =gUnknown_0857BA68 + ldr r0, =gSpriteTemplate_857BA68 movs r1, 0 movs r2, 0 bl CreateSprite @@ -18540,7 +18324,7 @@ sub_80D0C60: @ 80D0C60 orrs r0, r1 str r0, [r2, 0x4] mov r1, sp - ldr r0, =gUnknown_0857BC70 + ldr r0, =gSpriteTemplate_857BC70 ldm r0!, {r4-r6} stm r1!, {r4-r6} ldm r0!, {r4-r6} @@ -21042,7 +20826,7 @@ sub_80D2054: @ 80D2054 lsls r1, 4 adds r0, r1 adds r1, r5, 0 - bl sub_8069004 + bl BoxMonToMon _080D2088: pop {r4,r5} pop {r0} @@ -21264,8 +21048,8 @@ _080D220C: bx r1 thumb_func_end sub_80D214C - thumb_func_start sub_80D2218 -sub_80D2218: @ 80D2218 + thumb_func_start CheckFreePokemonStorageSpace +CheckFreePokemonStorageSpace: @ 80D2218 push {r4-r7,lr} mov r7, r8 push {r7} @@ -21311,7 +21095,7 @@ _080D2262: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_80D2218 + thumb_func_end CheckFreePokemonStorageSpace thumb_func_start sub_80D2270 sub_80D2270: @ 80D2270 @@ -21876,7 +21660,7 @@ sub_80D2644: @ 80D2644 mov r2, r9 ldr r1, [r2] adds r5, r1 - ldr r2, =gUnknown_0857BC88 + ldr r2, =gSpriteTemplate_857BC88 lsls r4, 2 lsls r1, r0, 4 adds r4, r1 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index a89c54304..a94d69b96 100755..100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -212,17 +212,17 @@ _081C3FEC: movs r2, 0x1 movs r3, 0x2 bl ConvertIntToDecimalStringN - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x1 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r4, =gStringVar4 ldr r1, =gUnknown_0861CE97 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x1 adds r1, r4, 0 movs r2, 0x2C @@ -1116,7 +1116,7 @@ sub_81C4778: @ 81C4778 bne _081C47AE adds r0, r1, 0 adds r0, 0xC - bl sub_805F110 + bl ShouldPlayNormalPokeCry cmp r0, 0x1 bne _081C47A4 ldrh r0, [r4, 0x2] @@ -1424,16 +1424,16 @@ sub_81C4A08: @ 81C4A08 bl GetMonData lsls r0, 16 lsrs r0, 16 - bl ball_number_to_ball_processing_index + bl ItemIdToBallId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl sub_8076A78 + bl LoadBallGfx lsls r0, r4, 1 adds r0, r4 lsls r0, 3 - ldr r1, =gUnknown_0832C588 + ldr r1, =gBallSpriteTemplates adds r0, r1 movs r1, 0x10 movs r2, 0x88 @@ -2049,7 +2049,7 @@ sub_81C4F24: @ 81C4F24 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81C4F44 movs r1, 0xA bl CreateTask @@ -2239,7 +2239,7 @@ _081C50E4: bl clear_scheduled_bg_copies_to_vram b _081C51A2 _081C50EE: - bl remove_some_task + bl ScanlineEffect_Stop b _081C51A2 _081C50F4: bl FreeAllSpritePalettes @@ -2351,7 +2351,7 @@ _081C51D6: thumb_func_start sub_81C51DC sub_81C51DC: @ 81C51DC push {lr} - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs movs r0, 0 bl ResetBgsAndClearDma3BusyFlags ldr r1, =gUnknown_0861F2B4 @@ -2363,7 +2363,7 @@ sub_81C51DC: @ 81C51DC adds r1, 0x4 movs r0, 0x2 bl SetBgTilemapBuffer - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram movs r1, 0x82 @@ -2411,7 +2411,7 @@ _081C5264: .4byte _081C52D4 _081C5278: bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9A620 + ldr r1, =gBagScreen_Gfx movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -2460,7 +2460,7 @@ _081C52DC: b _081C5308 .pool _081C52F0: - bl sub_8122328 + bl LoadListMenuArrowsGfx ldr r0, [r4] ldr r1, =0x00000984 adds r0, r1 @@ -2559,7 +2559,7 @@ _081C5382: movs r0, 0x2 negs r0, r0 str r0, [r1] - ldr r2, =gUnknown_03006310 + ldr r2, =gMultiuseListMenuTemplate adds r1, r2, 0 ldr r0, =gUnknown_0861F2C0 ldm r0!, {r4,r6,r7} @@ -2918,7 +2918,7 @@ sub_81C56F8: @ 81C56F8 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldr r2, =gUnknown_0203CF30 ldrh r1, [r2, 0x8] ldrh r2, [r2, 0x6] @@ -3545,7 +3545,7 @@ _081C5C12: adds r1, r4, 0 adds r1, 0x8 adds r2, r4, 0x6 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldrh r1, [r4, 0x8] ldrh r0, [r4, 0x6] adds r1, r0 @@ -3565,14 +3565,14 @@ _081C5C12: .pool _081C5C5C: ldrb r0, [r7] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r7] ldr r1, =gUnknown_0203CF38 mov r8, r1 mov r2, r8 subs r2, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r6, r0 @@ -3585,7 +3585,7 @@ _081C5C5C: _081C5C88: movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId strh r4, [r0] adds r0, r5, 0 bl sub_81C5B14 @@ -3594,7 +3594,7 @@ _081C5C88: _081C5CA0: movs r0, 0x5 bl PlaySE - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId mov r12, r2 ldr r0, =gSaveBlock2Ptr ldr r2, [r0] @@ -3681,7 +3681,7 @@ sub_81C5D20: @ 81C5D20 b _081C5DD8 .pool _081C5D74: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetBattleUsage lsls r0, 24 @@ -3722,7 +3722,7 @@ _081C5DCE: _081C5DD8: strb r0, [r1] _081C5DDA: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4195,7 +4195,7 @@ sub_81C61E0: @ 81C61E0 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl ItemId_GetPocket lsls r0, 24 @@ -4207,7 +4207,7 @@ sub_81C61E0: @ 81C61E0 cmp r0, 0x3 beq _081C620C ldrh r0, [r4] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4315,7 +4315,7 @@ sub_81C62C4: @ 81C62C4 b _081C6334 .pool _081C62F4: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4362,7 +4362,7 @@ sub_81C6350: @ 81C6350 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4577,7 +4577,7 @@ sub_81C654C: @ 81C654C lsls r4, 3 ldr r5, =gTasks + 0x8 adds r6, r4, r5 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4635,7 +4635,7 @@ sub_81C65CC: @ 81C65CC beq _081C662E movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r4, 0x10] bl RemovePyramidBagItem @@ -4646,7 +4646,7 @@ sub_81C65CC: @ 81C65CC bl sub_81C5924 bl sub_81C59BC bl sub_81C5314 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r6] ldrh r2, [r7] bl ListMenuInit @@ -4671,9 +4671,9 @@ sub_81C6648: @ 81C6648 lsrs r4, r0, 24 adds r6, r4, 0 bl sub_81C61A8 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4713,7 +4713,7 @@ sub_81C66AC: @ 81C66AC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4785,7 +4785,7 @@ sub_81C674C: @ 81C674C lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -4820,7 +4820,7 @@ sub_81C679C: @ 81C679C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl ItemId_GetBattleFunc cmp r0, 0 @@ -4953,18 +4953,18 @@ sub_81C68B0: @ 81C68B0 ldrb r0, [r4] ldr r1, =gUnknown_0203CF38 subs r2, r1, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 b _081C6940 .pool _081C68F8: ldrb r0, [r4] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4] ldr r4, =gUnknown_0203CF38 subs r2, r4, 0x2 adds r1, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0 bl sub_81C7028 subs r4, 0x8 @@ -5066,7 +5066,7 @@ _081C69A8: strh r0, [r1, 0x6] _081C69E0: bl sub_81C5314 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r7] mov r3, r8 ldrh r2, [r3] @@ -5124,7 +5124,7 @@ sub_81C6A14: @ 81C6A14 strh r0, [r1, 0x6] _081C6A5E: bl sub_81C5314 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r5] ldrh r2, [r7] bl ListMenuInit @@ -5238,7 +5238,7 @@ _081C6AF8: bl Free adds r0, r5, 0 bl Free - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _081C6BC6 @@ -5266,7 +5266,7 @@ _081C6B9C: lsrs r6, r0, 24 cmp r6, 0x2 bls _081C6B9C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] adds r0, r7, 0 @@ -5362,7 +5362,7 @@ sub_81C6C3C: @ 81C6C3C str r4, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3} mov r8, r3 @@ -5408,7 +5408,7 @@ sub_81C6C94: @ 81C6C94 str r4, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x7 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3} mov r8, r3 @@ -5547,7 +5547,7 @@ DisplayItemMessageInBattlePyramid: @ 81C6DD8 movs r0, 0x2 movs r1, 0x11 bl FillWindowPixelBuffer - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -5756,7 +5756,7 @@ sub_81C6F90: @ 81C6F90 adds r0, r4, 0 adds r1, r4, 0 adds r2, r6, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 diff --git a/asm/pokenav.s b/asm/pokenav.s index 0c7a80742..89516e65a 100755..100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -44,7 +44,7 @@ sub_81C72A4: @ 81C72A4 bl SetMainCallback2 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r0} bx r0 .pool @@ -683,7 +683,7 @@ _081C77B0: movs r0, 0 bl sub_81C763C adds r4, r0, 0 - ldr r1, =gUnknown_08DC7B80 + ldr r1, =gPokenavHeader_Gfx movs r0, 0 str r0, [sp] movs r2, 0 @@ -693,12 +693,12 @@ _081C77B0: movs r0, 0 adds r1, r4, 0 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DC7D84 + ldr r1, =gPokenavHeader_Tilemap movs r0, 0 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r0, =gUnknown_08DC7B60 + ldr r0, =gPokenavHeader_Pal movs r1, 0 movs r2, 0x20 bl sub_81C7944 @@ -1571,7 +1571,7 @@ sub_81C7E58: @ 81C7E58 bl sub_8034974 adds r5, r0, 0 lsls r4, 5 - ldr r0, =gUnknown_08DC7F00 + ldr r0, =gPokenavLeftHeader_Pal adds r4, r0 movs r0, 0x1 bl IndexOfSpritePaletteTag @@ -1653,7 +1653,7 @@ sub_81C7F24: @ 81C7F24 bl sub_8034974 adds r5, r0, 0 lsls r4, 5 - ldr r0, =gUnknown_08DC7F00 + ldr r0, =gPokenavLeftHeader_Pal adds r4, r0 movs r0, 0x2 bl IndexOfSpritePaletteTag @@ -5198,7 +5198,7 @@ _081C9A5C: ldr r0, =gUnknown_08620194 movs r1, 0x3 bl sub_81C7B54 - ldr r1, =gUnknown_08DC90E0 + ldr r1, =gPokenavMessageBox_Gfx movs r0, 0 str r0, [sp] movs r0, 0x1 @@ -5209,14 +5209,14 @@ _081C9A5C: adds r1, 0x8C movs r0, 0x1 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DC9130 + ldr r1, =gPokenavMessageBox_Tilemap movs r0, 0x1 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer movs r0, 0x1 bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08DC90C0 + ldr r0, =gPokenavMessageBox_Pal movs r1, 0x10 movs r2, 0x20 bl sub_81C7944 @@ -6948,7 +6948,7 @@ sub_81CA818: @ 81CA818 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, =gUnknown_0861FC7A + ldr r5, =gUnknown_0861FC78 + 2 adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 @@ -6967,7 +6967,7 @@ sub_81CA818: @ 81CA818 thumb_func_start sub_81CA850 sub_81CA850: @ 81CA850 push {lr} - ldr r0, =gUnknown_0861FC86 + ldr r0, =gUnknown_0861FC78 + 0xE movs r1, 0x31 movs r2, 0x4 bl sub_81C7944 @@ -6985,7 +6985,7 @@ sub_81CA864: @ 81CA864 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, =gUnknown_0861FC86 + ldr r5, =gUnknown_0861FC78 + 0xE adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 @@ -7068,7 +7068,7 @@ sub_81CA914: @ 81CA914 bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 thumb_func_end sub_81CA914 @@ -7095,13 +7095,13 @@ titlescreen_0: @ 81CA92C movs r0, 0x44 movs r1, 0xA0 bl SetGpuRegBits - bl remove_some_task + bl ScanlineEffect_Stop bl sub_81CAA3C ldr r2, =gUnknown_08620384 ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_81CA914 bl c3args_set_0toR1_1to0 ldr r0, =sub_81CA9EC @@ -7122,7 +7122,7 @@ sub_81CA994: @ 81CA994 lsls r1, 6 movs r0, 0 bl ClearGpuRegBits - bl remove_some_task + bl ScanlineEffect_Stop ldr r0, =sub_81CA9EC bl FindTaskIdByFunc lsls r0, 24 @@ -7220,7 +7220,7 @@ sub_81CAA3C: @ 81CAA3C mov r0, sp movs r6, 0 strh r6, [r0] - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers ldr r0, =0x010000a0 mov r8, r0 mov r0, sp @@ -7890,7 +7890,7 @@ _081CAF34: adds r0, r5, 0 bl sub_81D1BD0 adds r4, r0, 0 - ldr r0, =gUnknown_0831F578 + ldr r0, =gFacilityClassToPicIndex adds r0, r4, r0 ldrb r0, [r0] b _081CAF6C @@ -7924,7 +7924,7 @@ sub_81CAF78: @ 81CAF78 strb r0, [r6] ldr r0, =gMapHeader ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 cmp r0, 0 bne _081CAFA4 @@ -8089,7 +8089,7 @@ _081CB0C0: thumb_func_start sub_81CB0C8 sub_81CB0C8: @ 81CB0C8 push {lr} - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, 4 adds r0, r1 ldrh r2, [r0, 0xA] @@ -10207,7 +10207,7 @@ sub_81CC158: @ 81CC158 adds r1, 0xF bl sub_81CAF78 adds r5, r0, 0 - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 ldrb r2, [r4, 0x14] @@ -10864,7 +10864,7 @@ sub_81CC670: @ 81CC670 movs r0, 0x4 bl sub_81C763C adds r4, r0, 0 - bl sub_812305C + bl FreeRegionMapIconResources bl sub_81CC9EC ldrb r0, [r4, 0x8] bl RemoveWindow @@ -10886,7 +10886,7 @@ sub_81CC6A4: @ 81CC6A4 bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_81237B4 + bl UpdateRegionMapVideoRegs pop {r0} bx r0 thumb_func_end sub_81CC6A4 @@ -10991,10 +10991,10 @@ _081CC784: bne _081CC7AC movs r0, 0x4 movs r1, 0x9 - bl sub_8124288 + bl CreateRegionMapPlayerIcon movs r0, 0x5 movs r1, 0xA - bl sub_81240D4 + bl CreateRegionMapCursor bl sub_812454C b _081CC77C _081CC7AC: @@ -11374,7 +11374,7 @@ sub_81CCA1C: @ 81CCA1C movs r1, 0x10 movs r2, 0x20 bl sub_81C7944 - ldr r0, =gUnknown_08DC91E8 + ldr r0, =gHoennMapZoomIcons_Pal movs r1, 0x30 movs r2, 0x20 bl sub_81C7944 @@ -11813,7 +11813,7 @@ _081CCE34: mov r1, r8 lsrs r0, r1, 24 lsrs r1, r7, 24 - bl sub_8145CF4 + bl GetLandmarkName adds r1, r0, 0 cmp r1, 0 bne _081CCE08 @@ -13532,7 +13532,7 @@ _081CDBD0: adds r0, r4, 0 mov r1, r8 adds r2, r5, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality mov r2, r9 lsls r1, r2, 7 adds r1, r7, r1 @@ -13941,7 +13941,7 @@ _081CDF18: ldr r1, =0x0000040b movs r0, 0x52 bl SetGpuReg - ldr r1, =gUnknown_08DC6548 + ldr r1, =gPokenavCondition_Gfx movs r0, 0 str r0, [sp] movs r0, 0x3 @@ -13973,7 +13973,7 @@ _081CDFB8: beq _081CDFC4 b _081CE2C0 _081CDFC4: - ldr r0, =gUnknown_08DC6DFC + ldr r0, =gPokenavCondition_Tilemap adds r4, r5, 0x4 adds r1, r4, 0 bl LZ77UnCompVram @@ -13983,7 +13983,7 @@ _081CDFC4: bl sub_81CDD5C cmp r0, 0x1 bne _081CDFF2 - ldr r1, =gUnknown_08DC7070 + ldr r1, =gPokenavOptions_Tilemap movs r0, 0x9 str r0, [sp] movs r0, 0x4 @@ -13995,7 +13995,7 @@ _081CDFC4: _081CDFF2: movs r0, 0x3 bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08DC6528 + ldr r0, =gPokenavCondition_Pal movs r1, 0x10 movs r2, 0x20 bl sub_81C7944 @@ -15647,7 +15647,7 @@ sub_81CEE44: @ 81CEE44 bl TransferPlttBuffer adds r0, r4, 0 bl sub_81D2108 - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r4} pop {r0} bx r0 @@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4 mov r8, r0 bl sub_81CF0F0 adds r7, r0, 0 - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r4, =gStringVar1 movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0xFF strb r0, [r4] ldr r5, =gStringVar2 ldr r1, =gText_NumberF700 adds r0, r5, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders mov r1, r8 ldrb r0, [r1, 0x8] movs r1, 0x1 @@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84 movs r2, 0 movs r3, 0x2 bl ConvertIntToDecimalStringN - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r4, =gStringVar4 ldr r1, =gText_RibbonsF700 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldrb r0, [r5, 0xA] movs r1, 0x44 bl FillWindowPixelBuffer @@ -20738,7 +20738,7 @@ _081D15B6: thumb_func_start sub_81D15BC sub_81D15BC: @ 81D15BC - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, 4 adds r0, r1 ldrh r0, [r0] @@ -20751,7 +20751,7 @@ sub_81D15CC: @ 81D15CC push {lr} adds r3, r0, 0 movs r1, 0 - ldr r2, =gUnknown_085500A4 + ldr r2, =gRematchTable _081D15D4: ldrh r0, [r2] cmp r0, r3 @@ -21440,7 +21440,7 @@ _081D1A24: cmp r0, 0 bne _081D1A1C adds r0, r7, 0 - bl sub_80B2318 + bl CountBattledRematchTeams lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -21900,7 +21900,7 @@ _081D1D8C: movs r1, 0x1 movs r2, 0x8 adds r3, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _081D1DAC: add sp, 0x34 pop {r4,r5} @@ -21921,7 +21921,7 @@ sub_81D1DC0: @ 81D1DC0 ldr r7, =gUnknown_0203CF4C ldr r0, =gText_Cancel2 mov r12, r0 - ldr r4, =gUnknown_03006310 + ldr r4, =gMultiuseListMenuTemplate ldr r1, =gUnknown_0203CF48 mov r8, r1 ldr r2, =sub_81D1E7C @@ -22318,7 +22318,7 @@ sub_81D20BC: @ 81D20BC b _081D20FA .pool _081D20D4: - bl dp12_8087EA4 + bl ScanlineEffect_Clear ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] @@ -22332,7 +22332,7 @@ _081D20E2: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] @@ -22366,7 +22366,7 @@ sub_81D2108: @ 81D2108 adds r0, r6, 0 bl sub_81D2634 movs r7, 0 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers mov r12, r5 movs r0, 0xF0 lsls r0, 3 @@ -23376,7 +23376,7 @@ sub_81D28C8: @ 81D28C8 push {r4-r7,lr} lsls r1, 16 lsrs r4, r1, 16 - ldr r3, =gUnknown_03006310 + ldr r3, =gMultiuseListMenuTemplate adds r2, r3, 0 ldr r1, =gUnknown_08625548 ldm r1!, {r5-r7} @@ -23751,7 +23751,7 @@ sub_81D2BF4: @ 81D2BF4 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sav2_get_text_speed + bl GetPlayerTextSpeed adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -23765,7 +23765,7 @@ sub_81D2BF4: @ 81D2BF4 str r0, [sp, 0xC] movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized add sp, 0x10 pop {r4} pop {r0} @@ -24408,7 +24408,7 @@ _081D30C4: adds r0, r4, 0 adds r1, r6, 0 adds r2, r5, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality mov r1, r9 bl LZ77UnCompWram _081D311A: @@ -25722,7 +25722,7 @@ sub_81D3AD8: @ 81D3AD8 adds r5, r0, 0 adds r4, r1, 0 movs r0, 0x1E - bl sub_81535DC + bl TryCopySpecialSaveSection cmp r0, 0x1 bne _081D3B04 ldr r2, =0x00000ee8 @@ -26754,7 +26754,7 @@ _081D4368: b _081D449E _081D4394: movs r3, 0 - ldr r1, =gUnknown_0862608E + ldr r1, =gUnknown_0862608C + 2 adds r0, r7, r1 movs r2, 0x16 ldrsh r1, [r4, r2] @@ -26887,7 +26887,7 @@ _081D449E: mov r3, r10 adds r4, r0, r3 ldr r6, =gUnknown_0862608C - ldr r1, =gUnknown_0862608E + ldr r1, =gUnknown_0862608C + 2 adds r0, r7, r1 movs r3, 0x16 ldrsh r1, [r4, r3] @@ -27683,7 +27683,7 @@ _081D4AF8: movs r2, 0x80 orrs r1, r2 strb r1, [r0] - ldr r0, =gScriptFacing + ldr r0, =gSpecialVar_Facing ldrh r0, [r0] cmp r0, 0x2 beq _081D4B3A @@ -28068,11 +28068,11 @@ sub_81D4E30: @ 81D4E30 lsls r2, 6 movs r1, 0 bl memset - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00005503 adds r0, r2, 0 strh r0, [r1] - bl sub_8009734 + bl OpenLink movs r0, 0x1 bl sub_800B330 pop {r0} @@ -28128,11 +28128,11 @@ _081D4EBA: thumb_func_start sub_81D4EC0 sub_81D4EC0: @ 81D4EC0 push {lr} - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _081D4EDC - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -28186,11 +28186,11 @@ _081D4F20: .4byte _081D4FEC .4byte _081D4FF8 _081D4F38: - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _081D4F88 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -28212,7 +28212,7 @@ _081D4F54: strb r0, [r4] b _081D500C _081D4F6C: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -28248,7 +28248,7 @@ _081D4FA0: movs r0, 0x5 b _081D500E _081D4FB6: - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 cmp r0, 0 beq _081D500C @@ -28447,7 +28447,7 @@ _081D515C: beq _081D5166 b _081D52FC _081D5166: - bl sub_80097E8 + bl CloseLink b _081D525C _081D516C: adds r0, r4, 0 @@ -28500,20 +28500,20 @@ _081D51D0: beq _081D51F4 movs r0, 0x5 bl PlaySE - bl sub_80097E8 + bl CloseLink adds r0, r4, 0 bl sub_81D505C b _081D535A .pool _081D51F4: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bls _081D5210 adds r0, r4, 0 bl sub_81D505C - bl sub_80097E8 + bl CloseLink movs r0, 0x7 strb r0, [r4, 0x8] b _081D548A @@ -28523,7 +28523,7 @@ _081D5210: beq _081D522E movs r0, 0x5 bl PlaySE - bl sub_80097E8 + bl CloseLink adds r0, r4, 0 bl sub_81D505C movs r0, 0x8 @@ -28537,7 +28537,7 @@ _081D522E: bne _081D523C b _081D548A _081D523C: - bl sub_80097E8 + bl CloseLink bl sub_81D4E30 adds r0, r4, 0 bl sub_81D505C @@ -28654,13 +28654,13 @@ _081D5340: _081D5350: movs r0, 0x5 bl PlaySE - bl sub_80097E8 + bl CloseLink _081D535A: movs r0, 0x17 strb r0, [r4, 0x8] b _081D548A _081D5360: - bl sub_80097E8 + bl CloseLink movs r0, 0x15 strb r0, [r4, 0x8] b _081D548A @@ -28670,7 +28670,7 @@ _081D536A: cmp r0, 0 beq _081D537A _081D5374: - bl sub_80097E8 + bl CloseLink b _081D53C0 _081D537A: bl GetBlockReceivedStatus @@ -28880,7 +28880,7 @@ sub_81D5530: @ 81D5530 lsls r1, 24 adds r0, r1 lsrs r0, 24 - ldr r2, =gTrainerClassToNameIndex + ldr r2, =gFacilityClassToTrainerClass ldr r1, =gUnknown_0203CF58 ldr r1, [r1] adds r1, 0x16 @@ -28947,7 +28947,7 @@ sub_81D5588: @ 81D5588 adds r3, r0 ldrb r4, [r3, 0x1B] bl sub_81D5710 - ldr r0, =gUnknown_0831F578 + ldr r0, =gFacilityClassToPicIndex adds r4, r0 ldrb r0, [r4] pop {r4} @@ -29323,7 +29323,7 @@ _081D5854: sub_81D58D8: @ 81D58D8 push {lr} bl sub_80008E8 - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result movs r0, 0 strh r0, [r3] ldr r0, =gSaveBlock1Ptr @@ -29381,7 +29381,7 @@ sub_81D5924: @ 81D5924 cmp r4, 0 beq _081D596C _081D5952: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 strh r0, [r1] b _081D59C0 @@ -29413,12 +29413,12 @@ _081D596C: negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] b _081D59C0 .pool _081D59BC: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r6, [r0] _081D59C0: pop {r3} @@ -29444,7 +29444,7 @@ sub_81D59D0: @ 81D59D0 lsrs r5, r0, 24 cmp r5, 0 beq _081D59FC - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r3, [r0] b _081D5A4E .pool @@ -29473,12 +29473,12 @@ _081D59FC: adds r2, r0 ldr r0, [r2] str r0, [r1] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081D5A4E .pool _081D5A48: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081D5A4E: @@ -29556,7 +29556,7 @@ sub_81D5AD0: @ 81D5AD0 negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081D5B20 .pool @@ -29569,12 +29569,12 @@ _081D5B00: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081D5B20 .pool _081D5B1C: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 _081D5B20: strh r0, [r1] @@ -29653,12 +29653,12 @@ sub_81D5BBC: @ 81D5BBC movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081D5BF0 .pool _081D5BEC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _081D5BF0: strh r0, [r1] @@ -29672,7 +29672,7 @@ _081D5BF0: sub_81D5C00: @ 81D5C00 push {lr} bl sub_81D56B0 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] bl sub_81D5710 @@ -29721,12 +29721,12 @@ sub_81D5C5C: @ 81D5C5C lsrs r1, r0, 24 cmp r1, 0 bne _081D5C74 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _081D5C7A .pool _081D5C74: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081D5C7A: @@ -30022,7 +30022,7 @@ _081D5E64: movs r1, 0xF ands r0, r1 strh r0, [r5, 0xE] - ldr r0, =gUnknown_082C83F0 + ldr r0, =EventScript_2C83F0 str r0, [r5, 0x10] ldr r0, =gSaveBlock2Ptr ldr r0, [r0] @@ -30343,8 +30343,8 @@ _081D6176: .pool thumb_func_end sub_81D6134 - thumb_func_start battle_init -battle_init: @ 81D6180 + thumb_func_start sub_81D6180 +sub_81D6180: @ 81D6180 lsls r0, 24 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] @@ -30355,7 +30355,7 @@ battle_init: @ 81D6180 ldrh r0, [r1] bx lr .pool - thumb_func_end battle_init + thumb_func_end sub_81D6180 thumb_func_start GetTrainerHillTrainerFlag @ u8 GetTrainerHillTrainerFlag(u8 fieldObjectId) @@ -30487,7 +30487,7 @@ _081D62A2: thumb_func_start sub_81D62AC sub_81D62AC: @ 81D62AC - ldr r0, =gUnknown_082C83F0 + ldr r0, =EventScript_2C83F0 bx lr .pool thumb_func_end sub_81D62AC @@ -30495,7 +30495,7 @@ sub_81D62AC: @ 81D62AC thumb_func_start sub_81D62B4 sub_81D62B4: @ 81D62B4 push {lr} - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrh r1, [r0] movs r0, 0x5 bl sub_81D572C @@ -30656,7 +30656,7 @@ sub_81D63C8: @ 81D63C8 ldrb r4, [r3, 0x1B] bl sub_81D5710 movs r2, 0 - ldr r0, =gTrainerClassToNameIndex + ldr r0, =gFacilityClassToTrainerClass adds r4, r0 ldrb r3, [r4] ldr r1, =gUnknown_0862A3B4 @@ -30772,7 +30772,7 @@ _081D64D4: thumb_func_start sub_81D64DC sub_81D64DC: @ 81D64DC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ef9 @@ -30825,7 +30825,7 @@ sub_81D6534: @ 81D6534 cmp r0, 0x6 beq _081D6560 bl sub_81D5C00 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 beq _081D6560 @@ -30851,12 +30851,12 @@ sub_81D6568: @ 81D6568 ands r0, r1 cmp r0, 0 beq _081D6590 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081D6594 .pool _081D6590: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _081D6594: strh r0, [r1] diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s new file mode 100644 index 000000000..da84a6565 --- /dev/null +++ b/asm/post_battle_event_funcs.s @@ -0,0 +1,165 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start GameClear +GameClear: @ 8137734 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x1C + bl HealPlayerParty + ldr r4, =0x00000864 + adds r0, r4, 0 + bl FlagGet + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x1 + bne _08137760 + ldr r0, =gHasHallOfFameRecords + strb r1, [r0] + b _0813776C + .pool +_08137760: + ldr r1, =gHasHallOfFameRecords + movs r0, 0 + strb r0, [r1] + adds r0, r4, 0 + bl FlagSet +_0813776C: + movs r0, 0x1 + bl GetGameStat + cmp r0, 0 + bne _0813778E + ldr r0, =gSaveBlock2Ptr + ldr r2, [r0] + ldrh r1, [r2, 0xE] + lsls r1, 16 + ldrb r0, [r2, 0x10] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x11] + orrs r1, r0 + movs r0, 0x1 + bl sav12_xor_set +_0813778E: + bl sub_8076D48 + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _081377AC + movs r0, 0x1 + bl sub_8084F6C + b _081377B2 + .pool +_081377AC: + movs r0, 0x2 + bl sub_8084F6C +_081377B2: + movs r7, 0 + movs r6, 0 + add r0, sp, 0x18 + mov r8, r0 + mov r5, sp +_081377BC: + movs r0, 0x64 + adds r1, r6, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + movs r0, 0 + strb r6, [r5] + strb r0, [r5, 0x1] + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _0813780A + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _0813780A + adds r0, r4, 0 + movs r1, 0x43 + bl GetMonData + cmp r0, 0 + bne _0813780A + movs r0, 0x1 + mov r1, r8 + strb r0, [r1] + adds r0, r4, 0 + movs r1, 0x43 + add r2, sp, 0x18 + bl SetMonData + adds r0, r4, 0 + bl GetRibbonCount + strb r0, [r5, 0x1] + movs r7, 0x1 +_0813780A: + adds r5, 0x4 + adds r6, 0x1 + cmp r6, 0x5 + ble _081377BC + cmp r7, 0x1 + bne _0813785A + movs r0, 0x2A + bl IncrementGameStat + ldr r0, =0x0000089b + bl FlagSet + mov r3, sp + add r2, sp, 0x4 + movs r6, 0x4 +_08137828: + ldrb r1, [r3, 0x1] + ldrb r0, [r2, 0x1] + cmp r0, r1 + bls _08137838 + ldr r1, [sp] + ldr r0, [r2] + str r0, [sp] + str r1, [r2] +_08137838: + adds r2, 0x4 + subs r6, 0x1 + cmp r6, 0 + bge _08137828 + mov r0, sp + ldrb r0, [r0, 0x1] + cmp r0, 0x4 + bls _0813785A + mov r0, sp + ldrb r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x43 + bl sub_80EE4DC +_0813785A: + ldr r0, =CB2_DoHallOfFameScreen + bl SetMainCallback2 + movs r0, 0 + add sp, 0x1C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end GameClear + + thumb_func_start sp0C8_whiteout_maybe +sp0C8_whiteout_maybe: @ 813787C + push {lr} + ldr r0, =CB2_WhiteOut + bl SetMainCallback2 + movs r0, 0 + pop {r1} + bx r1 + .pool + thumb_func_end sp0C8_whiteout_maybe diff --git a/asm/rayquaza_scene.s b/asm/rayquaza_scene.s deleted file mode 100755 index f9936f1ca..000000000 --- a/asm/rayquaza_scene.s +++ /dev/null @@ -1,5972 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81D6720 -sub_81D6720: @ 81D6720 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gUnknown_0203CF60 - ldr r0, =0x00002018 - bl AllocZeroed - str r0, [r6] - ldr r1, =0x00002006 - adds r0, r1 - strb r4, [r0] - ldr r0, [r6] - mov r1, r8 - str r1, [r0] - ldr r1, =0x00002007 - adds r0, r1 - strb r5, [r0] - ldr r0, =sub_81D6774 - bl SetMainCallback2 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6720 - - thumb_func_start sub_81D6774 -sub_81D6774: @ 81D6774 - push {lr} - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - bl remove_some_task - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - movs r0, 0 - movs r1, 0xF0 - movs r2, 0x20 - bl FillPalette - ldr r1, =gUnknown_0862A6A0 - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r2, =0x00002006 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - ldr r0, =sub_81D67D0 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6774 - - thumb_func_start sub_81D67D0 -sub_81D67D0: @ 81D67D0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81D67D0 - - thumb_func_start sub_81D67EC -sub_81D67EC: @ 81D67EC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81D67EC - - thumb_func_start sub_81D6800 -sub_81D6800: @ 81D6800 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D6830 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r4, =gUnknown_0203CF60 - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r4] - bl Free - adds r0, r5, 0 - bl DestroyTask -_081D6830: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6800 - - thumb_func_start sub_81D6840 -sub_81D6840: @ 81D6840 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r6, r3, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081D68B2 - ldr r2, =gUnknown_0203CF60 - ldr r1, [r2] - ldr r4, =0x00002007 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081D6888 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81D6800 - b _081D68B0 - .pool -_081D6888: - ldr r4, =0x00002006 - adds r1, r4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r2, [r2] - ldr r1, =0x00002004 - adds r0, r2, r1 - strh r5, [r0] - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r3, =gUnknown_0862A6A0 - adds r2, r4 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] -_081D68B0: - str r0, [r1] -_081D68B2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6840 - - thumb_func_start sub_81D68C8 -sub_81D68C8: @ 81D68C8 - push {lr} - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, =0x00001888 - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gPlttBufferUnfaded - movs r1, 0 - strh r1, [r0] - ldr r0, =gPlttBufferFaded - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D68C8 - - thumb_func_start sub_81D6904 -sub_81D6904: @ 81D6904 - push {lr} - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_81D6904 - - thumb_func_start sub_81D691C -sub_81D691C: @ 81D691C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - bl sub_81D750C - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D697E - movs r0, 0 - ldrsh r1, [r5, r0] - cmp r1, 0x40 - bne _081D6954 - bl sub_81D7438 - b _081D6978 - .pool -_081D6954: - cmp r1, 0x90 - bne _081D695E - bl sub_81D7480 - b _081D6978 -_081D695E: - cmp r1, 0x94 - beq _081D6974 - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _081D6978 - adds r0, r4, 0 - movs r1, 0 - bl sub_81D75B4 - b _081D697E -_081D6974: - bl sub_81D74C8 -_081D6978: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_081D697E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D691C - - thumb_func_start sub_81D6984 -sub_81D6984: @ 81D6984 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0862A72C - mov r8, r0 - movs r1, 0x58 - movs r2, 0x48 - movs r3, 0x3 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gSprites - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D6A20 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - mov r0, r8 - movs r1, 0x38 - movs r2, 0x68 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r0, =gUnknown_0862A750 - movs r1, 0x4B - movs r2, 0x65 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2] - ldr r0, =gUnknown_0862A774 - movs r1, 0x6D - movs r2, 0x72 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D6984 - - thumb_func_start sub_81D6A20 -sub_81D6A20: @ 81D6A20 - push {r4,lr} - adds r3, r0, 0 - movs r0, 0x2E - adds r0, r3 - mov r12, r0 - ldrh r0, [r0, 0xA] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - mov r1, r12 - strh r0, [r1, 0xA] - cmp r0, 0 - bne _081D6A84 - ldrh r1, [r3, 0x20] - movs r2, 0x20 - ldrsh r0, [r3, r2] - cmp r0, 0x48 - beq _081D6A84 - subs r0, r1, 0x1 - strh r0, [r3, 0x20] - ldr r2, =gSprites - movs r4, 0x2E - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] -_081D6A84: - adds r0, r3, 0 - adds r0, 0x2B - ldrb r3, [r0] - cmp r3, 0x1 - beq _081D6AE4 - cmp r3, 0x1 - bgt _081D6A9C - cmp r3, 0 - beq _081D6AA6 - b _081D6B68 - .pool -_081D6A9C: - cmp r3, 0x2 - beq _081D6B24 - cmp r3, 0x3 - beq _081D6AE4 - b _081D6B68 -_081D6AA6: - ldr r2, =gSprites - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - b _081D6B5E - .pool -_081D6AE4: - ldr r2, =gSprites - mov r0, r12 - movs r3, 0x2 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - mov r4, r12 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0 - strh r3, [r0, 0x26] - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - negs r1, r1 - b _081D6B58 - .pool -_081D6B24: - ldr r2, =gSprites - mov r3, r12 - movs r4, 0x2 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - movs r0, 0x2 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x1 - strh r3, [r0, 0x26] - mov r4, r12 - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe -_081D6B58: - strh r1, [r0, 0x24] - movs r0, 0x4 - ldrsh r1, [r4, r0] -_081D6B5E: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] -_081D6B68: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6A20 - - thumb_func_start sub_81D6B7C -sub_81D6B7C: @ 81D6B7C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r5, =gUnknown_0862A81C - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gSprites - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D6D20 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - adds r0, r5, 0 - movs r1, 0xA8 - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0xA8 - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - orrs r0, r1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0xA8 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x68 - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x6] - adds r0, r5, 0 - movs r1, 0xB8 - movs r2, 0x80 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - orrs r0, r1 - strh r0, [r4, 0x6] - ldr r0, =gUnknown_0862A84C - movs r1, 0xD0 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_0862A864 - movs r1, 0xC8 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x8] - orrs r0, r1 - strh r0, [r4, 0x8] - ldrh r1, [r4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - bl StartSpriteAnim - ldrh r1, [r4, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x3 - bl StartSpriteAnim - ldrb r1, [r4, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - ldrh r1, [r4, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim - ldrh r1, [r4, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x7 - bl StartSpriteAnim - ldrb r1, [r4, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x8 - bl StartSpriteAnim - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D6B7C - - thumb_func_start sub_81D6D20 -sub_81D6D20: @ 81D6D20 - push {r4-r7,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x2E - ldrh r0, [r3, 0xA] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r3, 0xA] - ldr r7, =gSprites - cmp r0, 0 - bne _081D6E0E - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x98 - beq _081D6E0E - adds r0, r1, 0x1 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r4, 0x2E] - movs r2, 0xFF - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x2] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x4] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x6] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x8] - ands r2, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] -_081D6E0E: - adds r6, r7, 0 - movs r5, 0xFF - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2B - ldrb r2, [r0] - cmp r2, 0x1 - beq _081D6EE0 - cmp r2, 0x1 - bgt _081D6E34 - cmp r2, 0 - beq _081D6E40 - b _081D6FC8 - .pool -_081D6E34: - cmp r2, 0x2 - bne _081D6E3A - b _081D6F68 -_081D6E3A: - cmp r2, 0x3 - beq _081D6EE0 - b _081D6FC8 -_081D6E40: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x4] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x6] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - b _081D6FC6 -_081D6EE0: - movs r2, 0x1 - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x8] - b _081D6FBE -_081D6F68: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 -_081D6FBE: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 -_081D6FC6: - strh r2, [r0, 0x26] -_081D6FC8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D6D20 - - thumb_func_start sub_81D6FD0 -sub_81D6FD0: @ 81D6FD0 - push {lr} - bl sub_81D67EC - bl sub_80BA0A8 - pop {r0} - bx r0 - thumb_func_end sub_81D6FD0 - - thumb_func_start sub_81D6FE0 -sub_81D6FE0: @ 81D6FE0 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862A888 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6FE0 - - thumb_func_start sub_81D706C -sub_81D706C: @ 81D706C - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA33C0 - movs r0, 0 - str r0, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D7082: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D7082 - ldr r0, =gUnknown_08DA3988 - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA3824 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA3A88 - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA37E8 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - ldr r0, =gUnknown_0862A8C4 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A8F8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A924 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A9D4 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AA14 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AA34 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A8CC - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862A9DC - bl LoadCompressedObjectPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D706C - - thumb_func_start task_add_00_WIN0V_open_close_above_and_more -task_add_00_WIN0V_open_close_above_and_more: @ 81D7134 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, =gTasks + 0x8 - adds r5, r6, r7 - bl dp12_8087EA4 - bl sub_81D6FE0 - bl sub_81D706C - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, =gUnknown_02038C28 - ldr r2, =0x010003c0 - add r0, sp, 0x4 - bl CpuFastSet - ldr r2, =gUnknown_0862A87C - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80BA038 - strh r4, [r5] - ldr r0, =sub_81D7228 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r1, =0x00002006 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081D71CC - bl sub_81D6984 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x4] - bl sub_81D6B7C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D691C - str r1, [r0] - b _081D71EE - .pool -_081D71CC: - bl sub_81D7664 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x4] - bl sub_81D78BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D736C - str r1, [r0] - bl StopMapMusic -_081D71EE: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_81D6FD0 - bl SetVBlankCallback - movs r0, 0x53 - bl PlaySE - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_add_00_WIN0V_open_close_above_and_more - - thumb_func_start sub_81D7228 -sub_81D7228: @ 81D7228 - 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 r3, r1, r0 - movs r1, 0x18 - ldr r7, =gUnknown_0203CF60 - ldr r4, =gUnknown_02038C28 - movs r0, 0xF0 - lsls r0, 3 - adds r5, r4, r0 -_081D7244: - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r0, 0 - cmp r1, 0x2F - bgt _081D726C - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3] - b _081D72CA - .pool -_081D726C: - cmp r1, 0x3F - bgt _081D7280 - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x2] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x2] - b _081D72CA -_081D7280: - cmp r1, 0x4B - bgt _081D7294 - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x4] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x4] - b _081D72CA -_081D7294: - cmp r1, 0x53 - bgt _081D72A8 - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x6] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x6] - b _081D72CA -_081D72A8: - cmp r1, 0x57 - bgt _081D72BC - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x8] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x8] - b _081D72CA -_081D72BC: - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0xA] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0xA] -_081D72CA: - lsrs r0, 8 - strh r0, [r1] - movs r1, 0x80 - lsls r1, 9 - adds r0, r6, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x5B - ble _081D7244 - ldr r0, [r7] - ldr r1, =0x00002006 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081D7324 - movs r1, 0xE0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - movs r1, 0xC0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x2] - adds r0, r1 - strh r0, [r3, 0x2] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x4] - adds r0, r1 - strh r0, [r3, 0x4] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x6] - adds r0, r1 - strh r0, [r3, 0x6] - ldrh r0, [r3, 0x8] - adds r0, 0xC0 - b _081D735E - .pool -_081D7324: - movs r1, 0xC0 - lsls r1, 2 - adds r0, r1, 0 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - movs r1, 0xA0 - lsls r1, 2 - adds r0, r1, 0 - ldrh r1, [r3, 0x2] - adds r0, r1 - strh r0, [r3, 0x2] - movs r1, 0x80 - lsls r1, 2 - adds r0, r1, 0 - ldrh r1, [r3, 0x4] - adds r0, r1 - strh r0, [r3, 0x4] - movs r1, 0xC0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x6] - adds r0, r1 - strh r0, [r3, 0x6] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x8] - adds r0, r1 -_081D735E: - strh r0, [r3, 0x8] - ldrh r0, [r3, 0xA] - adds r0, 0x80 - strh r0, [r3, 0xA] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D7228 - - thumb_func_start sub_81D736C -sub_81D736C: @ 81D736C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r7, =gTasks + 0x8 - adds r4, r0, r7 - bl sub_81D750C - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _081D742E - movs r0, 0 - ldrsh r1, [r4, r0] - cmp r1, 0x20 - beq _081D739C - cmp r1, 0x70 - bne _081D73AC -_081D739C: - bl sub_81D7438 - b _081D7428 - .pool -_081D73AC: - cmp r1, 0xD8 - bne _081D73B6 - bl sub_81D7480 - b _081D7428 -_081D73B6: - cmp r1, 0xDC - bne _081D73C0 - bl sub_81D74C8 - b _081D7428 -_081D73C0: - movs r0, 0xBE - lsls r0, 1 - cmp r1, r0 - beq _081D73D8 - adds r0, 0x20 - cmp r1, r0 - bne _081D7428 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_81D75B4 - b _081D742E -_081D73D8: - movs r1, 0x91 - lsls r1, 2 - movs r0, 0x50 - bl SetGpuReg - adds r2, r7, 0 - subs r2, 0x8 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_81D752C - str r1, [r0] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0x8] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r4, 0x4] - strh r1, [r0, 0xC] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r4, 0x6] - strh r1, [r0, 0xE] - bl remove_some_task -_081D7428: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_081D742E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D736C - - thumb_func_start sub_81D7438 -sub_81D7438: @ 81D7438 - push {r4,lr} - sub sp, 0xC - movs r0, 0x57 - bl PlaySE - ldr r0, =0x00007fff - ldr r1, =0x0000ffff - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7438 - - thumb_func_start sub_81D7480 -sub_81D7480: @ 81D7480 - push {r4,lr} - sub sp, 0xC - movs r0, 0x57 - bl PlaySE - ldr r0, =0x00007fff - ldr r1, =0x0000ffff - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0x10 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0x10 - bl sub_80A2C44 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7480 - - thumb_func_start sub_81D74C8 -sub_81D74C8: @ 81D74C8 - push {r4,lr} - sub sp, 0xC - ldr r0, =0x00007fff - ldr r1, =0x0000ffff - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x4 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0x4 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D74C8 - - thumb_func_start sub_81D750C -sub_81D750C: @ 81D750C - push {lr} - movs r1, 0x80 - lsls r1, 3 - movs r0, 0x2 - movs r2, 0x1 - bl ChangeBgX - movs r1, 0x80 - lsls r1, 4 - movs r0, 0x2 - movs r2, 0x2 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_81D750C - - thumb_func_start sub_81D752C -sub_81D752C: @ 81D752C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl sub_81D7860 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_81D7D14 - movs r0, 0x1 - bl GetBgY - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - bl GetBgY - cmp r0, 0 - beq _081D757A - movs r0, 0x80 - lsls r0, 8 - cmp r4, r0 - bls _081D7586 -_081D757A: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgY -_081D7586: - ldrh r2, [r5] - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x10 - beq _081D75A6 - adds r2, 0x1 - strh r2, [r5] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_081D75A6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D752C - - thumb_func_start sub_81D75B4 -sub_81D75B4: @ 81D75B4 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x54 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - lsls r4, 24 - asrs r4, 24 - movs r1, 0 - str r1, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81D7600 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D75B4 - - thumb_func_start sub_81D7600 -sub_81D7600: @ 81D7600 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, =gTasks + 0x8 - adds r5, r6, r7 - bl sub_81D750C - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081D7652 - ldrb r0, [r5, 0x2] - bl DestroyTask - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0 - bl SetVBlankCallback - bl remove_some_task - bl ResetSpriteData - bl FreeAllSpritePalettes - strh r4, [r5] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D6840 - str r1, [r0] -_081D7652: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7600 - - thumb_func_start sub_81D7664 -sub_81D7664: @ 81D7664 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0862A8D4 - mov r8, r0 - movs r1, 0x62 - movs r2, 0x48 - movs r3, 0x3 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gSprites - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D7700 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - mov r0, r8 - movs r1, 0x42 - movs r2, 0x68 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r0, =gUnknown_0862A900 - movs r1, 0x55 - movs r2, 0x65 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2] - ldr r0, =gUnknown_0862A92C - movs r1, 0x77 - movs r2, 0x72 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D7664 - - thumb_func_start sub_81D7700 -sub_81D7700: @ 81D7700 - push {r4,lr} - adds r3, r0, 0 - movs r0, 0x2E - adds r0, r3 - mov r12, r0 - ldrh r0, [r0, 0xA] - adds r0, 0x1 - movs r1, 0xF - ands r0, r1 - mov r1, r12 - strh r0, [r1, 0xA] - movs r1, 0x7 - ands r1, r0 - cmp r1, 0 - bne _081D7768 - ldrh r1, [r3, 0x20] - movs r2, 0x20 - ldrsh r0, [r3, r2] - cmp r0, 0x48 - beq _081D7768 - subs r0, r1, 0x1 - strh r0, [r3, 0x20] - ldr r2, =gSprites - movs r4, 0x2E - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] -_081D7768: - adds r0, r3, 0 - adds r0, 0x2B - ldrb r3, [r0] - cmp r3, 0x1 - beq _081D77C8 - cmp r3, 0x1 - bgt _081D7780 - cmp r3, 0 - beq _081D778A - b _081D784C - .pool -_081D7780: - cmp r3, 0x2 - beq _081D7808 - cmp r3, 0x3 - beq _081D77C8 - b _081D784C -_081D778A: - ldr r2, =gSprites - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - b _081D7842 - .pool -_081D77C8: - ldr r2, =gSprites - mov r0, r12 - movs r3, 0x2 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - mov r4, r12 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0 - strh r3, [r0, 0x26] - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - negs r1, r1 - b _081D783C - .pool -_081D7808: - ldr r2, =gSprites - mov r3, r12 - movs r4, 0x2 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - movs r0, 0x2 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x1 - strh r3, [r0, 0x26] - mov r4, r12 - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe -_081D783C: - strh r1, [r0, 0x24] - movs r0, 0x4 - ldrsh r1, [r4, r0] -_081D7842: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] -_081D784C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7700 - - thumb_func_start sub_81D7860 -sub_81D7860: @ 81D7860 - push {r4,lr} - adds r1, r0, 0 - adds r3, r1, 0 - adds r3, 0x2E - ldrh r2, [r1, 0x22] - movs r4, 0x22 - ldrsh r0, [r1, r4] - cmp r0, 0xA0 - bgt _081D78B0 - adds r0, r2, 0 - adds r0, 0x8 - strh r0, [r1, 0x22] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r1, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - movs r4, 0x2 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - movs r0, 0x4 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] -_081D78B0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7860 - - thumb_func_start sub_81D78BC -sub_81D78BC: @ 81D78BC - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r5, =gUnknown_0862A9E4 - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gSprites - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D7A60 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x9E - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0x9E - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - orrs r0, r1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0x9E - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x5E - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x6] - adds r0, r5, 0 - movs r1, 0xAE - movs r2, 0x80 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - orrs r0, r1 - strh r0, [r4, 0x6] - ldr r0, =gUnknown_0862AA1C - movs r1, 0xC6 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_0862AA3C - movs r1, 0xBE - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x8] - orrs r0, r1 - strh r0, [r4, 0x8] - ldrh r1, [r4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - bl StartSpriteAnim - ldrh r1, [r4, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x3 - bl StartSpriteAnim - ldrb r1, [r4, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - ldrh r1, [r4, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim - ldrh r1, [r4, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x7 - bl StartSpriteAnim - ldrb r1, [r4, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x8 - bl StartSpriteAnim - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D78BC - - thumb_func_start sub_81D7A60 -sub_81D7A60: @ 81D7A60 - push {r4-r7,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x2E - ldrh r0, [r3, 0xA] - adds r0, 0x1 - movs r1, 0xF - ands r0, r1 - strh r0, [r3, 0xA] - movs r1, 0x7 - ands r1, r0 - ldr r7, =gSprites - cmp r1, 0 - bne _081D7B52 - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x98 - beq _081D7B52 - adds r0, r1, 0x1 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r4, 0x2E] - movs r2, 0xFF - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x2] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x4] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x6] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x8] - ands r2, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] -_081D7B52: - adds r6, r7, 0 - movs r5, 0xFF - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2B - ldrb r2, [r0] - cmp r2, 0x1 - beq _081D7C24 - cmp r2, 0x1 - bgt _081D7B78 - cmp r2, 0 - beq _081D7B84 - b _081D7D0C - .pool -_081D7B78: - cmp r2, 0x2 - bne _081D7B7E - b _081D7CAC -_081D7B7E: - cmp r2, 0x3 - beq _081D7C24 - b _081D7D0C -_081D7B84: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x4] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x6] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - b _081D7D0A -_081D7C24: - movs r2, 0x1 - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x8] - b _081D7D02 -_081D7CAC: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 -_081D7D02: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 -_081D7D0A: - strh r2, [r0, 0x26] -_081D7D0C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D7A60 - - thumb_func_start sub_81D7D14 -sub_81D7D14: @ 81D7D14 - push {lr} - adds r2, r0, 0 - movs r0, 0x2E - adds r0, r2 - mov r12, r0 - ldrh r1, [r2, 0x22] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r0, 0xA0 - bgt _081D7E08 - adds r0, r1, 0 - adds r0, 0x8 - strh r0, [r2, 0x22] - ldr r3, =gSprites - ldrh r1, [r2, 0x2E] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - ldrh r0, [r2, 0x2E] - movs r2, 0xFF - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x2] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x4] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x6] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x8] - ands r2, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] -_081D7E08: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7D14 - - thumb_func_start sub_81D7E10 -sub_81D7E10: @ 81D7E10 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AA54 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7E10 - - thumb_func_start sub_81D7E9C -sub_81D7E9C: @ 81D7E9C - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA33C0 - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA4F70 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA3C94 - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D7ED0: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D7ED0 - ldr r0, =gUnknown_08DA3988 - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA60B8 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA4DEC - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA4DA8 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - ldr r0, =gUnknown_0862AA90 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AA98 - bl LoadCompressedObjectPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7E9C - - thumb_func_start sub_81D7F4C -sub_81D7F4C: @ 81D7F4C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - movs r0, 0xE8 - lsls r0, 1 - bl PlayNewMapMusic - bl sub_81D7E10 - bl sub_81D7E9C - movs r1, 0x94 - lsls r1, 2 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000808 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - ldr r0, =sub_81D81A4 - movs r1, 0 - bl CreateTask - movs r0, 0 - strh r0, [r6] - strh r0, [r6, 0x2] - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81D7FC0 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7F4C - - thumb_func_start sub_81D7FC0 -sub_81D7FC0: @ 81D7FC0 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _081D802A - cmp r5, 0x1 - bgt _081D7FE8 - cmp r5, 0 - beq _081D7FF4 - b _081D815A - .pool -_081D7FE8: - cmp r5, 0x2 - beq _081D80A4 - cmp r5, 0x3 - bne _081D7FF2 - b _081D8124 -_081D7FF2: - b _081D815A -_081D7FF4: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _081D8024 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r5, [r4, 0x4] - movs r0, 0x1E - strh r0, [r4, 0x6] - strh r5, [r4, 0x8] - movs r0, 0x7 - strh r0, [r4, 0xA] - strh r5, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D815A -_081D8024: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] - b _081D815A -_081D802A: - ldrh r1, [r4, 0x6] - ldrh r3, [r4, 0x4] - adds r0, r1, r3 - strh r0, [r4, 0x4] - ldrh r2, [r4, 0xA] - ldrh r3, [r4, 0x8] - adds r0, r2, r3 - strh r0, [r4, 0x8] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081D8046 - subs r0, r1, 0x3 - strh r0, [r4, 0x6] -_081D8046: - lsls r0, r2, 16 - cmp r0, 0 - beq _081D8050 - subs r0, r2, 0x1 - strh r0, [r4, 0xA] -_081D8050: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _081D8078 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r4, 0x4] - movs r1, 0 - strh r1, [r4, 0x6] - movs r0, 0xC - strh r0, [r4, 0xC] - movs r3, 0x1 - negs r3, r3 - adds r0, r3, 0 - strh r0, [r4, 0xE] - strh r1, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_081D8078: - movs r1, 0xF0 - lsls r1, 7 - movs r2, 0xC0 - lsls r2, 5 - ldrh r0, [r4, 0x8] - adds r0, 0x20 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r3, 0x78 - bl SetBgAffine - b _081D815A -_081D80A4: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0xF0 - lsls r1, 7 - movs r2, 0xC0 - lsls r2, 5 - ldrh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 18 - adds r0, 0x20 - ldrh r3, [r4, 0x8] - adds r0, r3 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x8] - movs r5, 0 - str r5, [sp, 0xC] - movs r0, 0x2 - movs r3, 0x78 - bl SetBgAffine - ldrh r0, [r4, 0xE] - ldrh r1, [r4, 0xC] - adds r0, r1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0xC - beq _081D80F4 - movs r0, 0xC - negs r0, r0 - cmp r1, r0 - bne _081D815A -_081D80F4: - movs r2, 0xE - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0xE] - movs r3, 0x2 - ldrsh r1, [r4, r3] - ldr r0, =0x00000127 - cmp r1, r0 - ble _081D815A - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0x6 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _081D815A - .pool -_081D8124: - ldrh r0, [r4, 0x4] - adds r0, 0x10 - strh r0, [r4, 0x4] - movs r1, 0xF0 - lsls r1, 7 - movs r2, 0xC0 - lsls r2, 5 - ldrh r0, [r4, 0x8] - adds r0, 0x20 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r3, 0x78 - bl SetBgAffine - adds r0, r6, 0 - bl sub_81D8164 -_081D815A: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D7FC0 - - thumb_func_start sub_81D8164 -sub_81D8164: @ 81D8164 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D8192 - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81D6840 - str r0, [r1] -_081D8192: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8164 - - thumb_func_start sub_81D81A4 -sub_81D81A4: @ 81D81A4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r1, [r4, 0x2] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081D8254 - ldr r0, =gUnknown_0862AAA0 - ldr r3, =gUnknown_0862AAB8 - movs r1, 0 - ldrsh r2, [r4, r1] - lsls r2, 1 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 18 - movs r6, 0xF0 - lsls r6, 15 - adds r1, r6 - asrs r1, 16 - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - lsls r2, 18 - movs r3, 0xA0 - lsls r3, 15 - adds r2, r3 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r1 - movs r0, 0 - ldrsb r0, [r4, r0] - strh r0, [r3, 0x2E] - ldrb r2, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - movs r2, 0x3 - orrs r0, r2 - strb r0, [r3, 0x1] - ldrb r0, [r3, 0x5] - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r3, 0x5] - adds r0, r3, 0 - bl InitSpriteAffineAnim - ldrh r1, [r4] - movs r6, 0 - ldrsh r0, [r4, r6] - cmp r0, 0x9 - bne _081D8250 - adds r0, r5, 0 - bl DestroyTask - b _081D825A - .pool -_081D8250: - adds r0, r1, 0x1 - strh r0, [r4] -_081D8254: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_081D825A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D81A4 - - thumb_func_start sub_81D8260 -sub_81D8260: @ 81D8260 - push {lr} - adds r2, r0, 0 - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _081D8270 - strh r0, [r2, 0x24] - b _081D829A -_081D8270: - ldr r1, =gUnknown_0862AAB8 - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r2, 0x24] - adds r0, r3 - strh r0, [r2, 0x24] - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r2, 0x26] - adds r0, r1 -_081D829A: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - movs r1, 0xF - ands r0, r1 - strh r0, [r2, 0x30] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8260 - - thumb_func_start sub_81D82B0 -sub_81D82B0: @ 81D82B0 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AACC - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001804 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D82B0 - - thumb_func_start sub_81D8358 -sub_81D8358: @ 81D8358 - push {r4-r7,lr} - sub sp, 0xC - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA7528 - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA69BC - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - add r7, sp, 0x8 -_081D8380: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _081D8380 - ldr r0, =gUnknown_08DA7AAC - ldr r5, =gUnknown_0203CF60 - ldr r1, [r5] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA7784 - ldr r1, [r5] - ldr r4, =0x00001804 - adds r1, r4 - bl LZDecompressWram - str r6, [sp, 0x4] - ldr r1, [r5] - ldr r0, =0x00001004 - adds r1, r0 - ldr r2, =0x01000200 - add r0, sp, 0x4 - bl CpuFastSet - ldr r1, [r5] - adds r4, r1, r4 - ldr r0, =0x00000804 - adds r1, r0 - movs r2, 0x80 - lsls r2, 2 - adds r0, r4, 0 - bl CpuFastSet - str r6, [sp, 0x8] - ldr r1, [r5] - ldr r0, =0x00000904 - adds r1, r0 - ldr r2, =0x010000d0 - adds r0, r7, 0 - bl CpuFastSet - ldr r0, =gUnknown_08DA7744 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - ldr r0, =gPlttBufferUnfaded - ldr r1, =0x00007fff - strh r1, [r0] - ldr r0, =gPlttBufferFaded - strh r1, [r0] - ldr r0, =gUnknown_0862AAFC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AB04 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AB0C - bl LoadCompressedObjectPalette - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8358 - - thumb_func_start sub_81D844C -sub_81D844C: @ 81D844C - push {r4,r5,lr} - movs r0, 0x6 - bl GetGpuReg - lsls r0, 16 - lsrs r2, r0, 16 - adds r1, r2, 0 - subs r1, 0x18 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0x6F - bhi _081D848C - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r3, =0x00002008 - adds r0, r3 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bgt _081D848C - ldr r1, =0x04000052 - ldr r3, =0x00000d08 - b _081D8492 - .pool -_081D848C: - ldr r1, =0x04000052 - movs r3, 0x80 - lsls r3, 5 -_081D8492: - adds r0, r3, 0 - strh r0, [r1] - cmp r2, 0 - bne _081D84E0 - ldr r0, =gUnknown_0203CF60 - ldr r1, [r0] - ldr r2, =0x00002008 - adds r3, r1, r2 - ldrh r4, [r3] - movs r1, 0 - ldrsh r2, [r3, r1] - ldr r1, =0x00001fff - adds r5, r0, 0 - cmp r2, r1 - bgt _081D84D4 - cmp r2, 0x27 - bgt _081D84C8 - adds r0, r4, 0x4 - b _081D84D2 - .pool -_081D84C8: - cmp r2, 0x4F - bgt _081D84D0 - adds r0, r4, 0x2 - b _081D84D2 -_081D84D0: - adds r0, r4, 0x1 -_081D84D2: - strh r0, [r3] -_081D84D4: - ldr r1, [r5] - ldr r2, =0x0000200a - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081D84E0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D844C - - thumb_func_start sub_81D84EC -sub_81D84EC: @ 81D84EC - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, =gTasks + 0x8 - adds r5, r4, r6 - bl sub_81D82B0 - bl sub_81D8358 - ldr r1, =0x00001e41 - movs r0, 0x50 - bl SetGpuRegBits - movs r0, 0x80 - lsls r0, 5 - mov r8, r0 - movs r0, 0x52 - mov r1, r8 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r1, =0x00002008 - adds r2, r0, r1 - movs r1, 0 - strh r1, [r2] - ldr r2, =0x0000200a - adds r0, r2 - strh r1, [r0] - strh r1, [r5] - strh r1, [r5, 0x2] - strh r1, [r5, 0x4] - strh r1, [r5, 0x6] - mov r0, r8 - strh r0, [r5, 0x8] - subs r6, 0x8 - adds r4, r6 - ldr r0, =sub_81D857C - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D84EC - - thumb_func_start sub_81D857C -sub_81D857C: @ 81D857C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bhi _081D8674 - lsls r0, 2 - ldr r1, =_081D85A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D85A8: - .4byte _081D85BC - .4byte _081D85DC - .4byte _081D861A - .4byte _081D863A - .4byte _081D8656 -_081D85BC: - ldrh r1, [r5, 0x2] - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0x8 - bne _081D8634 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r4, [r5, 0x2] - b _081D864E -_081D85DC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _081D8674 - ldrh r2, [r5, 0x2] - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r0, 0xA - bne _081D8614 - strh r1, [r5, 0x2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - ldr r0, =sub_81D844C - bl SetHBlankCallback - movs r0, 0x3 - bl EnableInterrupts - b _081D8674 - .pool -_081D8614: - adds r0, r2, 0x1 - strh r0, [r5, 0x2] - b _081D8674 -_081D861A: - ldrh r1, [r5, 0x2] - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0x50 - bne _081D8634 - movs r0, 0 - strh r0, [r5, 0x2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - bl sub_81D86CC - b _081D8674 -_081D8634: - adds r0, r1, 0x1 - strh r0, [r5, 0x2] - b _081D8674 -_081D863A: - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] - lsls r0, 16 - movs r1, 0xB8 - lsls r1, 17 - cmp r0, r1 - bne _081D8674 - movs r0, 0 - strh r0, [r5, 0x2] -_081D864E: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _081D8674 -_081D8656: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81D8684 - str r1, [r0] -_081D8674: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D857C - - thumb_func_start sub_81D8684 -sub_81D8684: @ 81D8684 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D86B8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81D6840 - str r0, [r1] -_081D86B8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8684 - - thumb_func_start sub_81D86CC -sub_81D86CC: @ 81D86CC - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0862AB14 - movs r1, 0xA0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 4 - adds r5, r6 - lsls r5, 2 - ldr r4, =gSprites + 0x2E - adds r0, r5, r4 - mov r8, r0 - ldr r0, =gUnknown_0862AB2C - movs r2, 0x30 - negs r2, r2 - movs r1, 0xB8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1] - adds r3, r4, 0 - subs r3, 0x2E - subs r4, 0x12 - adds r4, r5, r4 - ldr r0, =sub_81D874C - str r0, [r4] - adds r5, r3 - ldrb r0, [r5, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r5, 0x5] - movs r4, 0 - ldrsh r1, [r1, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D86CC - - thumb_func_start sub_81D874C -sub_81D874C: @ 81D874C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - movs r0, 0x4 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081D8764 - movs r0, 0xC - strh r0, [r4, 0x6] - movs r0, 0x8 - b _081D87C2 -_081D8764: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bne _081D8774 - movs r0, 0x9 - strh r0, [r4, 0x6] - movs r0, 0x7 - b _081D87C2 -_081D8774: - movs r0, 0x86 - lsls r0, 1 - cmp r1, r0 - bne _081D8784 - movs r0, 0x8 - strh r0, [r4, 0x6] - movs r0, 0x6 - b _081D87C2 -_081D8784: - movs r0, 0x8C - lsls r0, 1 - cmp r1, r0 - bne _081D8794 - movs r0, 0x7 - strh r0, [r4, 0x6] - movs r0, 0x5 - b _081D87C2 -_081D8794: - movs r0, 0x92 - lsls r0, 1 - cmp r1, r0 - bne _081D87A4 - movs r0, 0x6 - strh r0, [r4, 0x6] - movs r0, 0x4 - b _081D87C2 -_081D87A4: - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bne _081D87B4 - movs r0, 0x5 - strh r0, [r4, 0x6] - movs r0, 0x3 - b _081D87C2 -_081D87B4: - movs r0, 0xA0 - lsls r0, 1 - cmp r1, r0 - bne _081D87C4 - movs r0, 0x4 - strh r0, [r4, 0x6] - movs r0, 0x2 -_081D87C2: - strh r0, [r4, 0x8] -_081D87C4: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _081D87EE - ldrh r0, [r5, 0x24] - subs r0, 0x1 - strh r0, [r5, 0x24] - ldr r2, =gSprites - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - subs r1, 0x1 - strh r1, [r0, 0x24] -_081D87EE: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _081D8818 - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] - ldr r2, =gSprites - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x1 - strh r1, [r0, 0x26] -_081D8818: - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D874C - - thumb_func_start sub_81D8828 -sub_81D8828: @ 81D8828 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AB44 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001804 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8828 - - thumb_func_start sub_81D88D0 -sub_81D88D0: @ 81D88D0 - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA80BC - movs r4, 0 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA7EAC - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA7C30 - str r4, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D8904: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D8904 - ldr r0, =gUnknown_08DA8D6C - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA8B40 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA7FB4 - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA7D6C - ldr r1, [r4] - ldr r2, =0x00001804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA8E84 - movs r1, 0 - movs r2, 0x80 - bl LoadCompressedPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D88D0 - - thumb_func_start sub_81D8980 -sub_81D8980: @ 81D8980 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - bl sub_81D8828 - bl sub_81D88D0 - bl sub_81D68C8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - movs r0, 0 - strh r0, [r6] - strh r0, [r6, 0x2] - ldr r0, =sub_81D8AD8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x4] - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81D89E0 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8980 - - thumb_func_start sub_81D89E0 -sub_81D89E0: @ 81D89E0 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - bl sub_81D8BB4 - ldrh r1, [r4, 0x6] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _081D8A16 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bgt _081D8A16 - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x59 - bgt _081D8A16 - movs r0, 0x67 - bl PlaySE -_081D8A16: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - movs r0, 0 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _081D8A5C - cmp r5, 0x1 - bgt _081D8A34 - cmp r5, 0 - beq _081D8A3E - b _081D8AC6 - .pool -_081D8A34: - cmp r5, 0x2 - beq _081D8A8C - cmp r5, 0x3 - beq _081D8AA8 - b _081D8AC6 -_081D8A3E: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _081D8AA2 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r5, [r4, 0x2] - b _081D8A9A -_081D8A5C: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x7F - bne _081D8AA2 - movs r0, 0 - strh r0, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldr r2, =gTasks - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_81D8B2C - b _081D8AC4 - .pool -_081D8A8C: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0xC - bne _081D8AA2 - movs r0, 0 - strh r0, [r4, 0x2] -_081D8A9A: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D8AC6 -_081D8AA2: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] - b _081D8AC6 -_081D8AA8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81D8BEC -_081D8AC4: - str r1, [r0] -_081D8AC6: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D89E0 - - thumb_func_start sub_81D8AD8 -sub_81D8AD8: @ 81D8AD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - ldrh r1, [r5, 0x1E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081D8B1C - bl Random - movs r4, 0x7 - adds r1, r4, 0 - ands r1, r0 - subs r1, 0x4 - lsls r1, 8 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgX - bl Random - ands r4, r0 - subs r4, 0x4 - lsls r4, 8 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgY -_081D8B1C: - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8AD8 - - thumb_func_start sub_81D8B2C -sub_81D8B2C: @ 81D8B2C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D8B70 - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0xA - strh r0, [r4, 0x2] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - b _081D8BAA - .pool -_081D8B70: - cmp r0, 0x1 - bne _081D8BAC - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r1, 8 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgX - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r1, 8 - movs r0, 0x1 - movs r2, 0x1 - bl ChangeBgY - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA - negs r1, r1 - cmp r0, r1 - bne _081D8BAC - movs r1, 0x4 - ldrsh r0, [r4, r1] - negs r0, r0 -_081D8BAA: - strh r0, [r4, 0x4] -_081D8BAC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D8B2C - - thumb_func_start sub_81D8BB4 -sub_81D8BB4: @ 81D8BB4 - push {r4,lr} - movs r4, 0x80 - lsls r4, 3 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgX - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgY - movs r4, 0x80 - lsls r4, 4 - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgX - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D8BB4 - - thumb_func_start sub_81D8BEC -sub_81D8BEC: @ 81D8BEC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, =gTasks + 0x8 - adds r4, r5, r6 - bl sub_81D8BB4 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D8C26 - movs r0, 0 - bl SetVBlankCallback - bl sub_81D6904 - ldrb r0, [r4, 0x4] - bl DestroyTask - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, =sub_81D6840 - str r1, [r0] -_081D8C26: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8BEC - - thumb_func_start sub_81D8C38 -sub_81D8C38: @ 81D8C38 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AD08 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8C38 - - thumb_func_start sub_81D8CC4 -sub_81D8CC4: @ 81D8CC4 - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DAAB24 - movs r4, 0 - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DAA8B4 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D8CEA: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D8CEA - ldr r0, =gUnknown_08DAAE54 - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DAAC1C - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DAAF98 - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DAAFEC - movs r1, 0 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r0, =gUnknown_0862AC28 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC30 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC38 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC40 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC48 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC50 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC58 - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862AC60 - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862AC68 - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862AC70 - bl LoadCompressedObjectPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8CC4 - - thumb_func_start sub_81D8DB4 -sub_81D8DB4: @ 81D8DB4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - bl sub_81D8C38 - bl sub_81D8CC4 - bl sub_81D68C8 - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl ClearGpuRegBits - ldr r1, =0x00000241 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000e09 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - movs r0, 0 - strh r0, [r6] - strh r0, [r6, 0x2] - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81D8E80 - str r0, [r4] - ldr r0, =sub_81D8FB0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x4] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0 - strh r2, [r0, 0x8] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0xA] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0xC] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x1 - strh r2, [r0, 0xE] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0x10] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8DB4 - - thumb_func_start sub_81D8E80 -sub_81D8E80: @ 81D8E80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r4, r7, r0 - movs r1, 0 - ldrsh r5, [r4, r1] - cmp r5, 0x1 - beq _081D8EDE - cmp r5, 0x1 - bgt _081D8EB0 - cmp r5, 0 - beq _081D8EBA - b _081D8FA0 - .pool -_081D8EB0: - cmp r5, 0x2 - beq _081D8F1E - cmp r5, 0x3 - beq _081D8F84 - b _081D8FA0 -_081D8EBA: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _081D8F18 - adds r0, r6, 0 - bl sub_81D90A8 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r5, [r4, 0x2] - b _081D8F30 -_081D8EDE: - ldr r2, =gSprites - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =sub_81D97E0 - cmp r1, r0 - bne _081D8FA0 - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x40 - bne _081D8F18 - adds r0, r6, 0 - bl sub_81D94D4 - adds r0, r6, 0 - bl sub_81D93D8 - b _081D8F2C - .pool -_081D8F18: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] - b _081D8FA0 -_081D8F1E: - ldrh r2, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0xE0 - lsls r0, 1 - cmp r1, r0 - bne _081D8F38 -_081D8F2C: - movs r0, 0 - strh r0, [r4, 0x2] -_081D8F30: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D8FA0 -_081D8F38: - adds r0, r2, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x90 - bl __modsi3 - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - bne _081D8FA0 - ldr r0, =0x0000fffe - ldr r1, =0x0000ffff - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - b _081D8FA0 - .pool -_081D8F84: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, =sub_81D9034 - str r1, [r0] -_081D8FA0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8E80 - - thumb_func_start sub_81D8FB0 -sub_81D8FB0: @ 81D8FB0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - ldrh r1, [r4] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081D9024 - ldrh r1, [r4, 0x2] - adds r1, 0xE - lsls r1, 8 - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - ands r1, r0 - ldrh r0, [r4, 0x4] - adds r0, 0x9 - movs r2, 0xF - ands r0, r2 - orrs r1, r0 - movs r0, 0x52 - bl SetGpuReg - ldrh r1, [r4, 0x2] - ldrh r0, [r4, 0x6] - subs r1, r0 - strh r1, [r4, 0x2] - ldrh r0, [r4, 0x8] - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r4, 0x4] - lsls r1, 16 - asrs r1, 16 - movs r0, 0x3 - negs r0, r0 - cmp r1, r0 - beq _081D9008 - cmp r1, 0 - bne _081D9010 -_081D9008: - movs r1, 0x6 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x6] -_081D9010: - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _081D901C - cmp r0, 0 - bne _081D9024 -_081D901C: - movs r1, 0x8 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x8] -_081D9024: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8FB0 - - thumb_func_start sub_81D9034 -sub_81D9034: @ 81D9034 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, =gTasks + 0x8 - adds r4, r6, r7 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081D90A0 - bl StopMapMusic - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D9078 - movs r0, 0 - bl SetVBlankCallback - bl sub_81D6904 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldrb r0, [r4, 0x4] - bl DestroyTask -_081D9078: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _081D909C - strh r5, [r4, 0x2] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D6840 - str r1, [r0] - b _081D90A0 - .pool -_081D909C: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] -_081D90A0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D9034 - - thumb_func_start sub_81D90A8 -sub_81D90A8: @ 81D90A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldr r0, =gUnknown_0862AC78 - movs r1, 0x40 - movs r2, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x6] - movs r0, 0x6 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites + 0x2E - mov r10, r1 - adds r7, r0, r1 - ldr r0, =gUnknown_0862AC90 - movs r1, 0x10 - movs r2, 0x82 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - movs r2, 0x2E - negs r2, r2 - add r2, r10 - mov r8, r2 - movs r1, 0x6 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - movs r6, 0xD - negs r6, r6 - adds r0, r6, 0 - ands r0, r2 - movs r2, 0x4 - mov r9, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r1, 0 - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r5, =gUnknown_0862ACA8 - adds r0, r5, 0 - movs r1, 0xA0 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r10 - adds r7, r0, r1 - adds r0, r5, 0 - movs r1, 0xC0 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - adds r0, r5, 0 - movs r1, 0xE0 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x2] - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r1, 0 - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r1, 0x2 - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x1 - bl StartSpriteAnim - movs r2, 0x2 - ldrsh r1, [r7, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x2 - bl StartSpriteAnim - ldr r0, =gUnknown_0862ACC0 - movs r2, 0x41 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r10 - adds r7, r0, r1 - ldr r0, =gUnknown_0862ACD8 - movs r2, 0x71 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x5] - ands r6, r1 - orrs r6, r2 - strb r6, [r0, 0x5] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D90A8 - - thumb_func_start sub_81D9274 -sub_81D9274: @ 81D9274 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, =gTasks + 0x8 - adds r2, r0 - ldr r3, =gSprites - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1C - adds r1, r3 - mov r8, r1 - add r0, r8 - ldr r6, =pokemon_alive_on_battle_side - str r6, [r0] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r4, 0 - strh r4, [r0, 0x36] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x38] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r5, 0x4 - strh r5, [r0, 0x3A] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x3C] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - str r6, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x36] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x38] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r5, [r0, 0x3A] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - strh r1, [r0, 0x3C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9274 - - thumb_func_start pokemon_alive_on_battle_side -pokemon_alive_on_battle_side: @ 81D9338 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x36] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _081D93CC - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D9370 - ldrh r0, [r4, 0x20] - ldrh r3, [r4, 0x3A] - subs r0, r3 - strh r0, [r4, 0x20] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, r3 - b _081D939E - .pool -_081D9370: - ldrh r2, [r4, 0x3A] - ldrh r1, [r4, 0x20] - adds r0, r2, r1 - strh r0, [r4, 0x20] - ldr r3, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x20] - adds r2, r1 - strh r2, [r0, 0x20] - movs r2, 0x30 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r4, 0x3A] - ldrh r2, [r0, 0x20] - adds r1, r2 -_081D939E: - strh r1, [r0, 0x20] - ldrh r1, [r4, 0x38] - adds r1, 0x1 - movs r2, 0 - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x3A] - subs r0, r1 - strh r0, [r4, 0x3A] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3 - bne _081D93CC - strh r2, [r4, 0x36] - strh r2, [r4, 0x38] - strh r2, [r4, 0x3A] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - b _081D93D2 - .pool -_081D93CC: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] -_081D93D2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemon_alive_on_battle_side - - thumb_func_start sub_81D93D8 -sub_81D93D8: @ 81D93D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, =gTasks + 0x8 - adds r2, r0 - ldr r3, =gSprites - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_81D9420 - str r1, [r0] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D93D8 - - thumb_func_start sub_81D9420 -sub_81D9420: @ 81D9420 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - beq _081D9488 - cmp r0, 0x1 - bgt _081D9436 - cmp r0, 0 - beq _081D9440 - b _081D94C4 -_081D9436: - cmp r0, 0x2 - beq _081D9440 - cmp r0, 0x3 - beq _081D9488 - b _081D94C4 -_081D9440: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0xC - bl __umodsi3 - lsls r0, 24 - ldr r2, =gSprites - cmp r0, 0 - bne _081D9470 - ldrh r0, [r4, 0x20] - subs r0, 0x2 - strh r0, [r4, 0x20] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x2 - strh r1, [r0, 0x20] -_081D9470: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x26] - b _081D94C4 - .pool -_081D9488: - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - lsls r1, 26 - lsrs r1, 26 - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081D94C4 - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] -_081D94C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9420 - - thumb_func_start sub_81D94D4 -sub_81D94D4: @ 81D94D4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - movs r0, 0x8 - ldrsh r1, [r1, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites + 0x2E - adds r4, r0, r2 - subs r2, 0x12 - adds r0, r2 - ldr r3, =sub_81D9528 - str r3, [r0] - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - str r3, [r0] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - str r3, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D94D4 - - thumb_func_start sub_81D9528 -sub_81D9528: @ 81D9528 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldrh r1, [r7, 0x36] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081D9550 - ldrh r1, [r7, 0x24] - movs r2, 0x24 - ldrsh r0, [r7, r2] - cmp r0, 0x1 - bne _081D954C - ldr r0, =0x0000ffff - b _081D954E - .pool -_081D954C: - movs r0, 0x1 -_081D954E: - strh r0, [r7, 0x24] -_081D9550: - movs r1, 0x38 - ldrsh r0, [r7, r1] - cmp r0, 0x80 - bne _081D95CE - ldr r2, =gUnknown_0862ACF0 - mov r8, r2 - mov r0, r8 - movs r1, 0x98 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x3C] - ldr r5, =gSprites - movs r1, 0x3C - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - movs r6, 0x4 - orrs r0, r6 - strb r0, [r1, 0x5] - mov r0, r8 - movs r1, 0xE0 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x3C] - movs r2, 0x3C - ldrsh r1, [r7, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x5] - ands r4, r1 - orrs r4, r6 - strb r4, [r0, 0x5] - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r7, 0x38] - adds r0, 0x1 - strh r0, [r7, 0x38] -_081D95CE: - ldrh r1, [r7, 0x38] - movs r2, 0x38 - ldrsh r0, [r7, r2] - cmp r0, 0x7F - ble _081D95F8 - movs r1, 0x26 - ldrsh r0, [r7, r1] - cmp r0, 0x20 - beq _081D95FC - ldrh r0, [r7, 0x3A] - adds r0, 0x1 - strh r0, [r7, 0x3A] - lsls r0, 16 - asrs r0, 20 - strh r0, [r7, 0x26] - b _081D95FC - .pool -_081D95F8: - adds r0, r1, 0x1 - strh r0, [r7, 0x38] -_081D95FC: - ldrh r0, [r7, 0x36] - movs r1, 0x3F - ands r0, r1 - cmp r0, 0 - bne _081D960C - movs r0, 0xA5 - bl PlaySE -_081D960C: - ldrh r0, [r7, 0x36] - adds r0, 0x1 - strh r0, [r7, 0x36] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D9528 - - thumb_func_start sub_81D961C -sub_81D961C: @ 81D961C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r1, [r4, r0] - cmp r1, 0x40 - bgt _081D968C - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - ldr r5, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x2 - strh r1, [r0, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _081D964C - b _081D979E -_081D964C: - movs r3, 0x30 - negs r3, r3 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81D9868 - movs r2, 0x5 - strh r2, [r4, 0x36] - ldr r0, =0x0000ffff - strh r0, [r4, 0x38] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3 - strh r1, [r0, 0x36] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x38] - b _081D979E - .pool -_081D968C: - cmp r1, 0x6F - bgt _081D96BE - adds r0, r4, 0 - bl sub_81D97E0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D96A4 - movs r0, 0x68 - bl PlaySE -_081D96A4: - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0x3 - negs r0, r0 - cmp r1, r0 - bne _081D979E - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x30 - movs r3, 0x10 - bl sub_81D9868 - b _081D979E -_081D96BE: - cmp r1, 0x70 - bne _081D96EC - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x36] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - strh r1, [r0, 0x38] - b _081D96F2 - .pool -_081D96EC: - ldr r0, =0x00000147 - cmp r1, r0 - bgt _081D9700 -_081D96F2: - adds r0, r4, 0 - bl sub_81D97E0 - b _081D979E - .pool -_081D9700: - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _081D974C - adds r0, r4, 0 - bl sub_81D97E0 - adds r0, r4, 0 - movs r1, 0x3 - movs r2, 0x30 - movs r3, 0x10 - bl sub_81D9868 - movs r3, 0x1 - strh r3, [r4, 0x24] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - movs r0, 0xCB - lsls r0, 1 - movs r1, 0 - bl PlayCry1 - ldr r0, =sub_81D98B4 - movs r1, 0 - bl CreateTask - b _081D979E - .pool -_081D974C: - movs r0, 0xB0 - lsls r0, 1 - cmp r1, r0 - beq _081D9790 - adds r0, 0x18 - cmp r1, r0 - bne _081D979E - movs r3, 0 - strh r3, [r4, 0x24] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - adds r0, r4, 0 - bl sub_81D97E0 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x30 - movs r3, 0x10 - bl sub_81D9868 - ldr r0, =sub_81D97E0 - str r0, [r4, 0x1C] - b _081D97D2 - .pool -_081D9790: - ldr r0, =sub_81D8E80 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl sub_81D9274 -_081D979E: - ldrh r2, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - ble _081D97CC - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _081D97CC - movs r1, 0x24 - ldrsh r2, [r4, r1] - negs r2, r2 - strh r2, [r4, 0x24] - ldr r3, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x24] -_081D97CC: - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] -_081D97D2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D961C - - thumb_func_start sub_81D97E0 -sub_81D97E0: @ 81D97E0 - push {r4-r7,lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r4, r0, r5 - ldrh r1, [r3, 0x3A] - ldrh r0, [r4, 0x36] - ands r0, r1 - cmp r0, 0 - bne _081D985C - ldrh r2, [r3, 0x36] - ldrh r1, [r3, 0x26] - adds r0, r2, r1 - strh r0, [r3, 0x26] - movs r7, 0x2E - ldrsh r1, [r3, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r2, r1 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x38] - ldrh r2, [r3, 0x36] - adds r0, r2 - strh r0, [r3, 0x36] - lsls r0, 16 - asrs r5, r0, 16 - ldrh r6, [r4, 0x38] - movs r7, 0x38 - ldrsh r2, [r4, r7] - cmp r5, r2 - bge _081D9836 - movs r0, 0x36 - ldrsh r1, [r3, r0] - adds r0, r2, 0 - cmn r1, r0 - bgt _081D985C -_081D9836: - cmp r5, r2 - ble _081D9844 - strh r6, [r3, 0x36] - b _081D9854 - .pool -_081D9844: - movs r0, 0x36 - ldrsh r1, [r3, r0] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmn r1, r0 - bge _081D9854 - negs r0, r6 - strh r0, [r3, 0x36] -_081D9854: - movs r7, 0x38 - ldrsh r0, [r3, r7] - negs r0, r0 - strh r0, [r3, 0x38] -_081D985C: - ldrh r0, [r3, 0x3A] - adds r0, 0x1 - strh r0, [r3, 0x3A] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D97E0 - - thumb_func_start sub_81D9868 -sub_81D9868: @ 81D9868 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r5, 24 - lsrs r5, 24 - movs r4, 0x2E - ldrsh r1, [r0, r4] - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r1, =gSprites - adds r4, r1 - lsls r2, 16 - asrs r2, 16 - ldrh r1, [r0, 0x20] - adds r2, r1 - strh r2, [r4, 0x20] - lsls r3, 16 - asrs r3, 16 - ldrh r1, [r0, 0x22] - adds r3, r1 - strh r3, [r4, 0x22] - ldrh r1, [r0, 0x24] - strh r1, [r4, 0x24] - ldrh r1, [r0, 0x26] - strh r1, [r4, 0x26] - adds r1, r5, 0 - bl StartSpriteAnim - adds r0, r4, 0 - adds r1, r5, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9868 - - thumb_func_start sub_81D98B4 -sub_81D98B4: @ 81D98B4 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _081D990C - cmp r1, 0x1 - bgt _081D98DC - cmp r1, 0 - beq _081D98E2 - b _081D99B4 - .pool -_081D98DC: - cmp r1, 0x2 - beq _081D99A4 - b _081D99B4 -_081D98E2: - movs r2, 0x80 - lsls r2, 7 - movs r0, 0x40 - str r0, [sp] - adds r0, 0xC0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0x2 - adds r1, r2, 0 - movs r3, 0x78 - bl SetBgAffine - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x10 - strh r0, [r4, 0x8] - b _081D9922 -_081D990C: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _081D991A - movs r0, 0x12 - bl PlaySE -_081D991A: - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0x2 - bne _081D992A -_081D9922: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D99B4 -_081D992A: - ldrh r5, [r4, 0x8] - ldrh r1, [r4, 0x2] - adds r0, r5, r1 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r3, 0x6 - ldrsh r0, [r4, r3] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _081D9954 - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _081D9954 - subs r0, r5, 0x2 - strh r0, [r4, 0x8] -_081D9954: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - movs r2, 0x80 - lsls r2, 7 - movs r0, 0x40 - str r0, [sp] - ldrh r0, [r4, 0x2] - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - str r0, [sp, 0x4] - ldrh r0, [r4, 0x2] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - str r1, [sp, 0x8] - movs r5, 0 - str r5, [sp, 0xC] - movs r0, 0x2 - adds r1, r2, 0 - movs r3, 0x78 - bl SetBgAffine - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _081D99B4 - strh r5, [r4, 0x2] - strh r5, [r4, 0x6] - strh r5, [r4, 0xA] - movs r0, 0x10 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - b _081D99B4 -_081D99A4: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r5, 0 - bl DestroyTask -_081D99B4: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D98B4 - - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/record_mixing.s b/asm/record_mixing.s index 474eff46f..9ff2624d8 100644 --- a/asm/record_mixing.s +++ b/asm/record_mixing.s @@ -1185,7 +1185,7 @@ sub_80E89F8: @ 80E89F8 ldr r1, =0x00003030 adds r0, r1 adds r1, r5, 0 - bl sub_806FA9C + bl InitDaycareMailRecordMixing ldr r0, =gUnknown_03001148 ldr r1, [r0] adds r0, r6, 0 @@ -1228,7 +1228,7 @@ _080E8A78: beq _080E8A90 mov r0, r8 movs r1, 0xFC - bl sub_81DB4DC + bl PadNameString _080E8A90: ldrb r1, [r7] lsrs r1, 4 diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s deleted file mode 100644 index 55cfdf6ef..000000000 --- a/asm/recorded_battle.s +++ /dev/null @@ -1,2749 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8184DA4 -sub_8184DA4: @ 8184DA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - ldr r0, =gUnknown_0203C7AC - mov r1, r12 - strb r1, [r0] - ldr r1, =gUnknown_0203CCD0 - movs r0, 0 - strb r0, [r1] - movs r2, 0 - movs r7, 0 - ldr r3, =gUnknown_0203C7BC - mov r10, r3 - ldr r6, =gUnknown_0203C794 - mov r9, r6 - ldr r0, =gUnknown_0203BD34 - mov r8, r0 -_08184DD0: - lsls r0, r2, 1 - mov r3, r9 - adds r1, r0, r3 - strh r7, [r1] - ldr r6, =gUnknown_0203C79C - adds r1, r0, r6 - strh r7, [r1] - ldr r1, =gUnknown_0203C7A4 - adds r0, r1 - strh r7, [r0] - adds r4, r2, 0x1 - mov r3, r12 - cmp r3, 0x1 - bne _08184E1C - ldr r5, =gBattleTypeFlags - movs r3, 0xFF - movs r1, 0xA6 - lsls r1, 2 - adds r0, r2, 0 - muls r0, r1 - mov r6, r8 - adds r2, r0, r6 -_08184DFC: - ldrb r0, [r2] - orrs r0, r3 - strb r0, [r2] - adds r2, 0x1 - subs r1, 0x1 - cmp r1, 0 - bne _08184DFC - ldr r0, [r5] - ldr r1, =gUnknown_0203C7B8 - str r0, [r1] - ldr r3, =gBattleResources - ldr r0, [r3] - ldr r0, [r0, 0x14] - ldr r0, [r0, 0xC] - mov r6, r10 - str r0, [r6] -_08184E1C: - adds r2, r4, 0 - cmp r2, 0x3 - ble _08184DD0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184DA4 - - thumb_func_start sub_8184E58 -sub_8184E58: @ 8184E58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - cmp r0, 0x1 - bne _08184EA0 - ldr r1, =gRecordedBattleRngSeed - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1] - ldr r4, =gUnknown_0203C7AE - ldr r0, =0x000040cf - bl VarGet - strb r0, [r4] - ldr r4, =gUnknown_0203C7AF - bl sub_81A513C - strb r0, [r4] - b _08184EAC - .pool -_08184EA0: - cmp r0, 0x2 - bne _08184EAC - ldr r0, =gRngValue - ldr r1, =gRecordedBattleRngSeed - ldr r1, [r1] - str r1, [r0] -_08184EAC: - ldr r0, =gBattleTypeFlags - ldr r5, [r0] - movs r0, 0x2 - ands r5, r0 - cmp r5, 0 - beq _08184F64 - bl GetMultiplayerId - ldr r1, =gUnknown_0203C7B4 - strb r0, [r1] - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r5, 0 - ldr r0, =gUnknown_0203CC80 - mov r9, r0 - ldr r6, =gLinkPlayers - movs r0, 0x8 - adds r0, r6 - mov r8, r0 - mov r7, r9 - adds r7, 0x4 -_08184EDC: - lsls r0, r5, 2 - adds r0, r5 - lsls r4, r0, 2 - mov r0, r9 - adds r2, r4, r0 - lsls r0, r5, 3 - subs r0, r5 - lsls r3, r0, 2 - adds r0, r6, 0x4 - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r2] - adds r1, r3, r6 - ldrb r0, [r1, 0x13] - strb r0, [r2, 0xC] - ldrh r0, [r1, 0x18] - strh r0, [r2, 0xE] - ldrh r0, [r1, 0x1A] - strh r0, [r2, 0x10] - cmp r5, r10 - bge _08184F3C - mov r0, r8 - adds r1, r3, r0 - mov r0, sp - bl StringCopy - mov r0, sp - bl StripExtCtrlCodes - adds r0, r4, r7 - mov r1, sp - bl StringCopy - adds r5, 0x1 - b _08184F56 - .pool -_08184F3C: - adds r5, 0x1 - ldr r0, =gLinkPlayers + 8 - adds r1, r3, r0 - ldr r0, =gUnknown_0203CC84 - adds r2, r4, r0 - movs r3, 0x7 -_08184F48: - ldrb r0, [r1] - strb r0, [r2] - adds r1, 0x1 - adds r2, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _08184F48 -_08184F56: - cmp r5, 0x3 - ble _08184EDC - b _08184FA0 - .pool -_08184F64: - ldr r3, =gUnknown_0203CC80 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldrb r1, [r2, 0xA] - ldrb r0, [r2, 0xB] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0xC] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0xD] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - ldrb r0, [r2, 0x8] - strb r0, [r3, 0xC] - strh r5, [r3, 0xE] - ldr r0, =gGameLanguage - ldrb r0, [r0] - strh r0, [r3, 0x10] - movs r5, 0 - adds r3, 0x4 -_08184F90: - adds r0, r5, r3 - ldr r1, [r4] - adds r1, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r5, 0x1 - cmp r5, 0x7 - ble _08184F90 -_08184FA0: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184E58 - - thumb_func_start RecordedBattle_SetBankAction -RecordedBattle_SetBankAction: @ 8184FBC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, =gUnknown_0203C794 - lsls r0, r5, 1 - adds r4, r0, r1 - ldrh r2, [r4] - adds r3, r2, 0 - ldr r0, =0x00000297 - cmp r3, r0 - bhi _08184FF0 - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - cmp r0, 0x2 - beq _08184FF0 - ldr r1, =gUnknown_0203BD34 - adds r0, r2, 0x1 - strh r0, [r4] - movs r0, 0xA6 - lsls r0, 2 - muls r0, r5 - adds r0, r3, r0 - adds r0, r1 - strb r6, [r0] -_08184FF0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end RecordedBattle_SetBankAction - - thumb_func_start RecordedBattle_ClearBankAction -RecordedBattle_ClearBankAction: @ 8185008 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - cmp r3, r4 - bge _08185046 - ldr r0, =gUnknown_0203C794 - lsls r1, r5, 1 - adds r2, r1, r0 - ldr r7, =gUnknown_0203BD34 - movs r0, 0xA6 - lsls r0, 2 - muls r5, r0 - movs r6, 0xFF -_08185028: - ldrh r0, [r2] - subs r0, 0x1 - strh r0, [r2] - ldrh r1, [r2] - adds r1, r5 - adds r1, r7 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldrh r0, [r2] - cmp r0, 0 - beq _08185046 - adds r3, 0x1 - cmp r3, r4 - blt _08185028 -_08185046: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RecordedBattle_ClearBankAction - - thumb_func_start RecordedBattle_ReadBankAction -RecordedBattle_ReadBankAction: @ 8185054 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gUnknown_0203C794 - lsls r0, r3, 1 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =0x00000297 - cmp r1, r0 - bhi _0818507A - ldr r4, =gUnknown_0203BD34 - adds r0, 0x1 - muls r3, r0 - adds r0, r1, r3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081850BC -_0818507A: - ldr r2, =gScriptResult - ldr r1, =gBattleOutcome - movs r0, 0x5 - strb r0, [r1] - movs r0, 0x5 - strh r0, [r2] - bl ResetPaletteFadeControl - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =CB2_QuitRecordedBattle - bl SetMainCallback2 - movs r0, 0xFF - b _081850C6 - .pool -_081850BC: - adds r0, r1, 0x1 - strh r0, [r2] - adds r0, r1, r3 - adds r0, r4 - ldrb r0, [r0] -_081850C6: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end RecordedBattle_ReadBankAction - - thumb_func_start sub_81850D0 -sub_81850D0: @ 81850D0 - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81850D0 - - thumb_func_start sub_81850DC -sub_81850DC: @ 81850DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - movs r7, 0 - movs r0, 0 - mov r12, r0 -_081850F0: - mov r1, r12 - lsls r3, r1, 1 - ldr r0, =gUnknown_0203C794 - adds r5, r3, r0 - ldr r1, =gUnknown_0203C79C - adds r6, r3, r1 - ldrh r0, [r5] - mov r9, r3 - mov r1, r12 - adds r1, 0x1 - str r1, [sp] - ldrh r1, [r6] - cmp r0, r1 - beq _0818517E - adds r1, r7, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r2, r7, 0 - add r1, r8 - mov r0, r12 - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - add r2, r8 - ldrb r0, [r5] - ldrb r1, [r6] - subs r0, r1 - strb r0, [r2] - movs r4, 0 - ldrh r0, [r5] - ldrh r1, [r6] - subs r0, r1 - cmp r4, r0 - bge _08185172 - ldr r1, =gUnknown_0203BD34 - mov r10, r1 - ldr r6, =gUnknown_0203C79C - movs r0, 0xA6 - lsls r0, 2 - mov r5, r12 - muls r5, r0 -_08185146: - adds r1, r7, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - add r1, r8 - adds r2, r3, r6 - ldrh r0, [r2] - adds r0, r4 - adds r0, r5 - add r0, r10 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_0203C794 - adds r0, r3, r1 - ldrh r1, [r0] - ldrh r0, [r2] - subs r1, r0 - cmp r4, r1 - blt _08185146 -_08185172: - ldr r0, =gUnknown_0203C79C - add r0, r9 - ldr r1, =gUnknown_0203C794 - add r1, r9 - ldrh r1, [r1] - strh r1, [r0] -_0818517E: - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r0, 24 - mov r12, r0 - cmp r0, 0x3 - bls _081850F0 - adds r0, r7, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81850DC - - thumb_func_start sub_81851A8 -sub_81851A8: @ 81851A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r7, r0, 0 - movs r1, 0x2 - mov r0, sp - strb r1, [r0] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - beq _0818525E - movs r5, 0 - ldr r4, =gLinkPlayers - b _081851DA - .pool -_081851D0: - ldrb r0, [r4] - cmp r0, 0x3 - bne _0818525E - adds r4, 0x1C - adds r5, 0x1 -_081851DA: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _081851D0 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0818525E - ldrb r0, [r7] - mov r4, sp - adds r4, 0x1 - strb r0, [r4] - ldrb r0, [r4] - mov r8, r4 - cmp r0, 0 - beq _0818525E -_08185202: - adds r0, r7, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_8185278 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_8185278 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08185256 - ldr r3, =gUnknown_0203BD34 - ldr r0, =gUnknown_0203C7A4 - lsls r1, r6, 1 - adds r4, r1, r0 - adds r5, r2, 0 - movs r0, 0xA6 - lsls r0, 2 - muls r6, r0 -_08185232: - adds r0, r7, 0 - mov r1, sp - mov r2, r8 - str r3, [sp, 0x4] - bl sub_8185278 - ldrh r1, [r4] - adds r2, r1, 0x1 - strh r2, [r4] - lsls r1, 16 - lsrs r1, 16 - adds r1, r6 - ldr r3, [sp, 0x4] - adds r1, r3 - strb r0, [r1] - subs r5, 0x1 - cmp r5, 0 - bne _08185232 -_08185256: - mov r4, r8 - ldrb r0, [r4] - cmp r0, 0 - bne _08185202 -_0818525E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81851A8 - - thumb_func_start sub_8185278 -sub_8185278: @ 8185278 - ldrb r3, [r2] - subs r3, 0x1 - strb r3, [r2] - ldrb r2, [r1] - adds r3, r2, 0x1 - strb r3, [r1] - lsls r2, 24 - lsrs r2, 24 - adds r0, r2 - ldrb r0, [r0] - bx lr - thumb_func_end sub_8185278 - - thumb_func_start sub_8185290 -sub_8185290: @ 8185290 - push {r4,r5,lr} - movs r0, 0xF8 - lsls r0, 4 - bl AllocZeroed - adds r4, r0, 0 - bl start_ov_to_battle_anim - adds r5, r0, 0 - adds r0, r4, 0 - bl Free - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8185290 - - thumb_func_start sub_81852B0 -sub_81852B0: @ 81852B0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, =0x000004ec - adds r0, r5, r1 - ldr r1, [r0] - cmp r1, 0 - beq _081852E8 - ldr r0, =0x7d007e92 - ands r1, r0 - cmp r1, 0 - bne _081852E8 - ldr r4, =0x00000f7c - adds r0, r5, 0 - adds r1, r4, 0 - bl CalcByteArraySum - adds r4, r5, r4 - ldr r1, [r4] - cmp r0, r1 - bne _081852E8 - movs r0, 0x1 - b _081852EA - .pool -_081852E8: - movs r0, 0 -_081852EA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81852B0 - - thumb_func_start sub_81852F0 -sub_81852F0: @ 81852F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x80 - lsls r2, 5 - adds r0, r5, 0 - movs r1, 0 - bl memset - movs r2, 0xF8 - lsls r2, 4 - adds r0, r5, 0 - adds r1, r4, 0 - bl memcpy - ldr r4, =0x00000f7c - adds r0, r5, 0 - adds r1, r4, 0 - bl CalcByteArraySum - adds r4, r5, r4 - str r0, [r4] - movs r0, 0x1F - adds r1, r5, 0 - bl sub_8153634 - cmp r0, 0x1 - bne _08185330 - movs r0, 0x1 - b _08185332 - .pool -_08185330: - movs r0, 0 -_08185332: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81852F0 - - thumb_func_start MoveRecordedBattleToSaveData -MoveRecordedBattleToSaveData: @ 8185338 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0xF8 - lsls r0, 4 - bl AllocZeroed - adds r7, r0, 0 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - str r0, [sp] - movs r6, 0 -_0818535E: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - adds r5, r7, r4 - ldr r1, =gUnknown_0203C7C0 - adds r1, r4, r1 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - movs r1, 0x96 - lsls r1, 2 - adds r5, r1 - ldr r0, =gUnknown_0203CA18 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r6, 0x1 - cmp r6, 0x5 - ble _0818535E - movs r6, 0 - ldr r2, =gSaveBlock2Ptr - mov r9, r2 - movs r3, 0x9A - lsls r3, 3 - adds r3, r7, r3 - str r3, [sp, 0x8] - ldr r5, =gUnknown_0203CC80 - mov r8, r6 - mov r12, r6 - movs r4, 0x96 - lsls r4, 3 - adds r4, r7 - mov r10, r4 - ldr r0, =0x000004e4 - adds r4, r7, r0 -_081853AC: - lsls r1, r6, 3 - ldr r0, =gUnknown_0203CC80 - adds r0, 0x4 - mov r3, r8 - adds r2, r3, r0 - add r1, r10 - movs r3, 0x7 -_081853BA: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _081853BA - ldr r0, [sp, 0x8] - adds r1, r0, r6 - ldrb r0, [r5, 0xC] - strb r0, [r1] - ldrh r0, [r5, 0x10] - strb r0, [r4] - ldrh r0, [r5, 0xE] - strb r0, [r4, 0xC] - ldr r1, =0x000004d4 - adds r0, r7, r1 - add r0, r12 - ldr r1, [r5] - str r1, [r0] - adds r5, 0x14 - movs r2, 0x14 - add r8, r2 - movs r3, 0x4 - add r12, r3 - adds r4, 0x1 - adds r6, 0x1 - cmp r6, 0x3 - ble _081853AC - movs r4, 0x9D - lsls r4, 3 - adds r1, r7, r4 - ldr r5, =gRecordedBattleRngSeed - ldr r0, [r5] - str r0, [r1] - ldr r0, =gUnknown_0203C7B8 - ldr r2, [r0] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _081854DC - ldr r1, =0x000004ec - adds r3, r7, r1 - movs r1, 0x23 - negs r1, r1 - ands r1, r2 - movs r0, 0x80 - lsls r0, 18 - orrs r1, r0 - str r1, [r3] - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _08185454 - movs r0, 0x80 - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081854E2 - .pool -_08185454: - movs r0, 0x40 - ands r2, r0 - cmp r2, 0 - beq _081854E2 - ldr r2, =gUnknown_0203CC80 - ldrh r0, [r2, 0xE] - cmp r0, 0x1 - beq _081854A8 - cmp r0, 0x1 - bgt _08185474 - cmp r0, 0 - beq _0818547E - b _081854E2 - .pool -_08185474: - cmp r0, 0x2 - beq _0818547E - cmp r0, 0x3 - beq _081854A8 - b _081854E2 -_0818547E: - ldr r3, =gUnknown_0203C7B4 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r4, =gUnknown_0203CC80 - adds r0, r4 - ldrh r1, [r0, 0xE] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081854E2 - ldr r5, =0x000004ec - adds r0, r7, r5 - b _081854C4 - .pool -_081854A8: - ldr r0, =gUnknown_0203C7B4 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, =gUnknown_0203CC80 - adds r0, r1 - ldrh r1, [r0, 0xE] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081854E2 - ldr r2, =0x000004ec - adds r0, r7, r2 -_081854C4: - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 24 - orrs r1, r2 - str r1, [r0] - b _081854E2 - .pool -_081854DC: - ldr r3, =0x000004ec - adds r0, r7, r3 - str r2, [r0] -_081854E2: - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - ldr r5, =0x000004f4 - adds r0, r7, r5 - strh r1, [r0] - ldr r0, =gTrainerBattleOpponent_B - ldrh r1, [r0] - ldr r2, =0x000004f6 - adds r0, r7, r2 - strh r1, [r0] - ldr r3, =gPartnerTrainerId - ldrh r1, [r3] - movs r4, 0x9F - lsls r4, 3 - adds r0, r7, r4 - strh r1, [r0] - ldr r5, =gUnknown_0203C7B4 - ldrb r1, [r5] - adds r2, 0x4 - adds r0, r7, r2 - strh r1, [r0] - mov r3, r9 - ldr r0, [r3] - ldr r4, =0x00000ca9 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - ldr r5, =0x000004fc - adds r1, r7, r5 - strb r0, [r1] - ldr r0, =gUnknown_0203C7AE - ldrb r1, [r0] - adds r2, 0x3 - adds r0, r7, r2 - strb r1, [r0] - ldr r3, =gUnknown_0203C7AF - ldrb r1, [r3] - ldr r4, =0x000004fe - adds r0, r7, r4 - strb r1, [r0] - mov r5, r9 - ldr r0, [r5] - ldrb r1, [r0, 0x15] - lsls r1, 29 - ldr r0, =0x000004ff - adds r3, r7, r0 - lsrs r1, 31 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldr r1, [r5] - ldrb r1, [r1, 0x14] - lsls r1, 29 - lsrs r1, 28 - movs r2, 0xF - negs r2, r2 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r2, 0xA0 - lsls r2, 3 - adds r1, r7, r2 - ldr r3, =gUnknown_0203C7BC - ldr r0, [r3] - str r0, [r1] - ldr r4, =0xfffffed4 - adds r1, r4, 0 - ldr r5, =gTrainerBattleOpponent_A - ldrh r5, [r5] - adds r0, r1, r5 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x63 - bls _08185580 - b _081856C4 -_08185580: - movs r6, 0 - ldr r0, =0x00000504 - adds r3, r7, r0 - mov r10, r9 - ldr r1, =gTrainerBattleOpponent_A - mov r12, r1 - adds r2, r4, 0 - mov r8, r2 - ldr r4, =0x0000073c -_08185592: - adds r2, r3, r6 - mov r5, r10 - ldr r1, [r5] - mov r5, r12 - ldrh r0, [r5] - add r0, r8 - movs r5, 0xEC - muls r0, r5 - adds r0, r6, r0 - adds r1, r4 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - adds r6, 0x1 - cmp r6, 0x7 - ble _08185592 - mov r0, r9 - ldr r2, [r0] - ldr r1, =gTrainerBattleOpponent_A - ldrh r0, [r1] - ldr r3, =0xfffffed4 - adds r0, r3 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r4, =0x00000739 - adds r2, r4 - ldrb r1, [r2] - ldr r5, =0x0000050c - adds r0, r7, r5 - strb r1, [r0] - ldr r1, =gUnknown_0203CCE8 - ldrb r0, [r1] - cmp r0, 0x1 - bne _08185664 - movs r6, 0 - ldr r2, =0x0000050e - adds r4, r7, r2 - mov r10, r9 - ldr r5, =gTrainerBattleOpponent_A - mov r8, r5 - adds r5, r3, 0 -_081855E6: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - movs r0, 0xEC - lsls r0, 3 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _081855E6 - b _08185696 - .pool -_08185664: - movs r6, 0 - ldr r1, =0x0000050e - adds r4, r7, r1 - mov r10, r9 - ldr r2, =gTrainerBattleOpponent_A - mov r8, r2 - adds r5, r3, 0 -_08185672: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - ldr r0, =0x00000754 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185672 -_08185696: - mov r1, r9 - ldr r2, [r1] - ldr r3, =gTrainerBattleOpponent_A - ldrh r0, [r3] - ldr r4, =0xfffffed4 - adds r0, r4 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r5, =0x0000081c - adds r2, r5 - ldrb r1, [r2] - b _08185856 - .pool -_081856C4: - ldr r3, =gTrainerBattleOpponent_B - ldrh r3, [r3] - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x63 - bls _081856D4 - b _081857E4 -_081856D4: - movs r6, 0 - ldr r4, =0x00000504 - adds r3, r7, r4 - mov r10, r9 - ldr r5, =gTrainerBattleOpponent_B - mov r12, r5 - ldr r0, =0xfffffed4 - mov r8, r0 - ldr r4, =0x0000073c -_081856E6: - adds r2, r3, r6 - mov r5, r10 - ldr r1, [r5] - mov r5, r12 - ldrh r0, [r5] - add r0, r8 - movs r5, 0xEC - muls r0, r5 - adds r0, r6, r0 - adds r1, r4 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - adds r6, 0x1 - cmp r6, 0x7 - ble _081856E6 - mov r0, r9 - ldr r2, [r0] - ldr r1, =gTrainerBattleOpponent_B - ldrh r0, [r1] - ldr r3, =0xfffffed4 - adds r0, r3 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r4, =0x00000739 - adds r2, r4 - ldrb r1, [r2] - ldr r5, =0x0000050c - adds r0, r7, r5 - strb r1, [r0] - ldr r1, =gUnknown_0203CCE8 - ldrb r0, [r1] - cmp r0, 0x1 - bne _08185784 - movs r6, 0 - ldr r2, =0x0000050e - adds r4, r7, r2 - mov r10, r9 - ldr r5, =gTrainerBattleOpponent_B - mov r8, r5 - adds r5, r3, 0 -_0818573A: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - movs r0, 0xEC - lsls r0, 3 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _0818573A - b _081857B6 - .pool -_08185784: - movs r6, 0 - ldr r1, =0x0000050e - adds r4, r7, r1 - mov r10, r9 - ldr r2, =gTrainerBattleOpponent_B - mov r8, r2 - adds r5, r3, 0 -_08185792: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - ldr r0, =0x00000754 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185792 -_081857B6: - mov r1, r9 - ldr r2, [r1] - ldr r3, =gTrainerBattleOpponent_B - ldrh r0, [r3] - ldr r4, =0xfffffed4 - adds r0, r4 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r5, =0x0000081c - adds r2, r5 - ldrb r1, [r2] - b _08185856 - .pool -_081857E4: - ldr r3, =gPartnerTrainerId - ldrh r3, [r3] - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x63 - bhi _0818585C - movs r6, 0 - ldr r4, =0x00000504 - adds r3, r7, r4 - mov r10, r9 - ldr r5, =gPartnerTrainerId - mov r12, r5 - ldr r0, =0xfffffed4 - mov r8, r0 - ldr r4, =0x0000073c -_08185804: - adds r2, r3, r6 - mov r5, r10 - ldr r1, [r5] - mov r5, r12 - ldrh r0, [r5] - add r0, r8 - movs r5, 0xEC - muls r0, r5 - adds r0, r6, r0 - adds r1, r4 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - adds r6, 0x1 - cmp r6, 0x7 - ble _08185804 - mov r0, r9 - ldr r1, [r0] - ldr r2, =gPartnerTrainerId - ldrh r0, [r2] - ldr r3, =0xfffffed4 - adds r0, r3 - movs r2, 0xEC - muls r0, r2 - adds r1, r0 - ldr r4, =0x00000739 - adds r1, r4 - ldrb r1, [r1] - ldr r5, =0x0000050c - adds r0, r7, r5 - strb r1, [r0] - mov r0, r9 - ldr r1, [r0] - ldr r4, =gPartnerTrainerId - ldrh r0, [r4] - adds r0, r3 - muls r0, r2 - adds r1, r0 - ldr r5, =0x0000081c - adds r1, r5 - ldrb r1, [r1] -_08185856: - ldr r2, =0x0000051a - adds r0, r7, r2 - strb r1, [r0] -_0818585C: - ldr r3, =gTrainerBattleOpponent_A - ldrh r0, [r3] - ldr r1, =0x0000018f - cmp r0, r1 - bls _08185900 - mov r4, r9 - ldr r2, [r4] - adds r1, r0, 0 - ldr r3, =0xfffffe70 - adds r1, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, 0xDC - ldrb r0, [r2] - lsls r0, 27 - lsrs r0, 27 - ldr r5, =0x0000050d - adds r1, r7, r5 - strb r0, [r1] - movs r6, 0 - ldr r0, =0x0000050e - adds r4, r7, r0 - mov r10, r9 - ldr r1, =gTrainerBattleOpponent_A - mov r8, r1 - adds r5, r3, 0 -_08185894: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r0, r8 - ldrh r1, [r0] - adds r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r1, 0x82 - lsls r1, 1 - adds r2, r1 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185894 - mov r3, r9 - ldr r2, [r3] - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - ldr r5, =0xfffffe70 - adds r1, r5 - b _081859AC - .pool -_08185900: - ldr r3, =gTrainerBattleOpponent_B - ldrh r0, [r3] - cmp r0, r1 - bls _0818597C - mov r4, r9 - ldr r2, [r4] - adds r1, r0, 0 - ldr r3, =0xfffffe70 - adds r1, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, 0xDC - ldrb r0, [r2] - lsls r0, 27 - lsrs r0, 27 - ldr r5, =0x0000050d - adds r1, r7, r5 - strb r0, [r1] - movs r6, 0 - ldr r0, =0x0000050e - adds r4, r7, r0 - mov r10, r9 - ldr r1, =gTrainerBattleOpponent_B - mov r8, r1 - adds r5, r3, 0 -_08185936: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r0, r8 - ldrh r1, [r0] - adds r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r1, 0x82 - lsls r1, 1 - adds r2, r1 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185936 - mov r3, r9 - ldr r2, [r3] - ldr r4, =gTrainerBattleOpponent_B - ldrh r1, [r4] - ldr r5, =0xfffffe70 - adds r1, r5 - b _081859AC - .pool -_0818597C: - ldr r3, =gPartnerTrainerId - ldrh r0, [r3] - cmp r0, r1 - bls _081859C0 - mov r4, r9 - ldr r2, [r4] - adds r1, r0, 0 - ldr r3, =0xfffffe70 - adds r1, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, 0xDC - ldrb r0, [r2] - lsls r0, 27 - lsrs r0, 27 - ldr r5, =0x0000050d - adds r1, r7, r5 - strb r0, [r1] - ldr r2, [r4] - ldr r0, =gPartnerTrainerId - ldrh r1, [r0] - adds r1, r3 -_081859AC: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - ldr r1, =0x0000011b - adds r0, r2, r1 - ldrb r1, [r0] - ldr r2, =0x0000051b - adds r0, r7, r2 - strb r1, [r0] -_081859C0: - movs r6, 0 - ldr r3, =0x00000297 - mov r10, r3 - ldr r4, =gUnknown_0203BD34 - mov r9, r4 - movs r5, 0xA6 - lsls r5, 2 - mov r8, r5 - ldr r0, =0x0000051c - adds r5, r7, r0 -_081859D4: - adds r4, r6, 0x1 - mov r0, r8 - muls r0, r6 - mov r1, r9 - adds r2, r0, r1 - adds r1, r0, r5 - mov r3, r10 - adds r3, 0x1 -_081859E4: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _081859E4 - adds r6, r4, 0 - cmp r6, 0x3 - ble _081859D4 -_081859F8: - adds r0, r7, 0 - ldr r1, [sp] - bl sub_81852F0 - adds r4, r0, 0 - cmp r4, 0x1 - beq _08185A14 - ldr r0, [sp, 0x4] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - cmp r0, 0x2 - bls _081859F8 -_08185A14: - adds r0, r7, 0 - bl Free - ldr r0, [sp] - bl Free - adds r0, r4, 0 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end MoveRecordedBattleToSaveData - - thumb_func_start sub_8185A54 -sub_8185A54: @ 8185A54 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0x1F - bl sub_81535DC - cmp r0, 0x1 - bne _08185A7E - movs r2, 0xF8 - lsls r2, 4 - adds r0, r5, 0 - adds r1, r4, 0 - bl memcpy - adds r0, r5, 0 - bl sub_81852B0 - cmp r0, 0 - beq _08185A7E - movs r0, 0x1 - b _08185A80 -_08185A7E: - movs r0, 0 -_08185A80: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8185A54 - - thumb_func_start start_ov_to_battle_anim -start_ov_to_battle_anim: @ 8185A88 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - adds r5, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8185A54 - adds r4, r0, 0 - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end start_ov_to_battle_anim - - thumb_func_start sub_8185AB0 -sub_8185AB0: @ 8185AB0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gUnknown_0203C7AD - ldrb r0, [r0] - ldr r1, =0x00000ca9 - adds r2, r1 - movs r1, 0x3 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldr r1, =gBattleOutcome - movs r0, 0 - strb r0, [r1] - ldr r0, =gBattleTypeFlags - movs r1, 0 - str r1, [r0] - ldr r0, =gTrainerBattleOpponent_A - strh r1, [r0] - ldr r0, =gTrainerBattleOpponent_B - strh r1, [r0] - ldr r0, =gPartnerTrainerId - strh r1, [r0] - bl sub_8185EFC - ldr r0, =gUnknown_0203C7B0 - ldr r0, [r0] - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185AB0 - - thumb_func_start sub_8185B1C -sub_8185B1C: @ 8185B1C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _08185B4A - ldr r0, =gMain - ldr r1, =sub_8185AB0 - str r1, [r0, 0x8] - ldr r0, =CB2_InitBattle - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08185B4A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185B1C - - thumb_func_start sub_8185B60 -sub_8185B60: @ 8185B60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - bl ZeroPlayerPartyMons - bl ZeroEnemyPartyMons - movs r6, 0 - ldr r0, =gPlayerParty - mov r8, r0 -_08185B7C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - mov r1, r8 - adds r0, r4, r1 - adds r5, r7, r4 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - ldr r0, =gEnemyParty - adds r4, r0 - movs r2, 0x96 - lsls r2, 2 - adds r5, r2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r6, 0x1 - cmp r6, 0x5 - ble _08185B7C - movs r6, 0 - ldr r3, =gLinkPlayers - mov r8, r3 - mov r0, r8 - adds r0, 0x8 - str r0, [sp] - mov r4, r8 - adds r4, 0x4 - mov r10, r6 - mov r9, r6 -_08185BBE: - movs r1, 0 - mov r12, r1 - lsls r5, r6, 2 - movs r2, 0x96 - lsls r2, 3 - adds r0, r7, r2 - mov r3, r9 - adds r2, r3, r0 - mov r0, r10 - lsls r1, r0, 2 - mov r0, r8 - adds r0, 0x8 - adds r1, r0 - movs r3, 0x7 -_08185BDA: - ldrb r0, [r2] - strb r0, [r1] - ldrb r0, [r2] - cmp r0, 0xFF - bne _08185BE8 - movs r0, 0x1 - mov r12, r0 -_08185BE8: - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _08185BDA - movs r1, 0x9A - lsls r1, 3 - adds r0, r7, r1 - adds r0, r6 - ldrb r0, [r0] - strb r0, [r4, 0xF] - ldr r2, =0x000004e4 - adds r0, r7, r2 - adds r0, r6 - ldrb r1, [r0] - strh r1, [r4, 0x16] - movs r3, 0x9E - lsls r3, 3 - adds r0, r7, r3 - adds r0, r6 - ldrb r0, [r0] - strh r0, [r4, 0x14] - subs r2, 0x10 - adds r0, r7, r2 - adds r0, r5 - ldr r0, [r0] - str r0, [r4] - mov r3, r12 - cmp r3, 0 - beq _08185C2A - ldr r0, [sp] - bl ConvertInternationalString -_08185C2A: - ldr r0, [sp] - adds r0, 0x1C - str r0, [sp] - adds r4, 0x1C - movs r1, 0x7 - add r10, r1 - movs r2, 0x8 - add r9, r2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08185BBE - ldr r1, =gRecordedBattleRngSeed - movs r3, 0x9D - lsls r3, 3 - adds r0, r7, r3 - ldr r0, [r0] - str r0, [r1] - ldr r2, =gBattleTypeFlags - ldr r1, =0x000004ec - adds r0, r7, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - orrs r0, r1 - str r0, [r2] - ldr r1, =gTrainerBattleOpponent_A - ldr r2, =0x000004f4 - adds r0, r7, r2 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gTrainerBattleOpponent_B - adds r3, 0xE - adds r0, r7, r3 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gPartnerTrainerId - adds r2, 0x4 - adds r0, r7, r2 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gUnknown_0203C7B4 - adds r3, 0x4 - adds r0, r7, r3 - ldrh r0, [r0] - strb r0, [r1] - ldr r1, =gUnknown_0203C7AD - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r2, =0x00000ca9 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1] - ldr r1, =gUnknown_0203C7AE - ldr r2, =0x000004fd - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, =gUnknown_0203C7AF - adds r2, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r2, =gUnknown_0203C7B6 - ldr r1, =0x000004ff - adds r0, r7, r1 - ldrb r1, [r0] - lsls r0, r1, 31 - lsrs r0, 31 - strb r0, [r2] - ldr r0, =gUnknown_0203C7B7 - lsls r1, 28 - lsrs r1, 29 - strb r1, [r0] - ldr r1, =gUnknown_0203C7BC - movs r2, 0xA0 - lsls r2, 3 - adds r0, r7, r2 - ldr r0, [r0] - str r0, [r1] - movs r6, 0 - mov r10, r3 - ldr r2, =gUnknown_0203CCD9 - ldr r3, =gUnknown_0203CCDA - ldr r0, =gUnknown_03001278 - mov r8, r0 - ldr r1, =gUnknown_03001279 - mov r9, r1 - ldr r5, =gUnknown_0203CCD1 - ldr r0, =0x00000504 - adds r4, r7, r0 -_08185CE2: - adds r0, r6, r5 - adds r1, r4, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x7 - ble _08185CE2 - ldr r1, =0x0000050c - adds r0, r7, r1 - ldrb r0, [r0] - strb r0, [r2] - ldr r2, =0x0000050d - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r3] - ldr r3, =0x0000051a - adds r0, r7, r3 - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - adds r2, 0xE - adds r0, r7, r2 - ldrb r0, [r0] - mov r3, r9 - strb r0, [r3] - ldr r0, =0x0000050e - adds r1, r7, r0 - ldr r4, =gUnknown_0203CCDC - movs r6, 0x5 -_08185D1C: - ldrh r0, [r1] - strh r0, [r4] - adds r1, 0x2 - adds r4, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08185D1C - mov r1, r10 - ldr r2, [r1] - ldr r3, =0x000004fc - adds r0, r7, r3 - ldrb r0, [r0] - ldr r1, =0x00000ca9 - adds r2, r1 - movs r1, 0x3 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - movs r6, 0 - ldr r2, =0x00000297 - mov r10, r2 - ldr r3, =gUnknown_0203BD34 - mov r9, r3 - movs r0, 0xA6 - lsls r0, 2 - mov r8, r0 - ldr r1, =0x0000051c - adds r5, r7, r1 -_08185D5C: - adds r2, r6, 0x1 - mov r0, r8 - muls r0, r6 - adds r1, r0, r5 - mov r3, r9 - adds r4, r0, r3 - mov r3, r10 - adds r3, 0x1 -_08185D6C: - ldrb r0, [r1] - strb r0, [r4] - adds r1, 0x1 - adds r4, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _08185D6C - adds r6, r2, 0 - cmp r6, 0x3 - ble _08185D5C - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185B60 - - thumb_func_start sub_8185E24 -sub_8185E24: @ 8185E24 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0xF8 - lsls r0, 4 - bl AllocZeroed - adds r4, r0, 0 - bl start_ov_to_battle_anim - cmp r0, 0x1 - bne _08185E6E - bl sub_8185EB8 - adds r0, r4, 0 - bl sub_8185B60 - ldr r0, =sub_8185B1C - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x80 - strh r0, [r1, 0x8] - ldr r0, =gUnknown_0203C7B0 - str r5, [r0] - movs r0, 0 - bl PlayMapChosenOrBattleBGM - ldr r0, =sub_8185E8C - bl SetMainCallback2 -_08185E6E: - adds r0, r4, 0 - bl Free - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185E24 - - thumb_func_start sub_8185E8C -sub_8185E8C: @ 8185E8C - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_8185E8C - - thumb_func_start sub_8185EA0 -sub_8185EA0: @ 8185EA0 - ldr r0, =gUnknown_0203C7AE - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185EA0 - - thumb_func_start sub_8185EAC -sub_8185EAC: @ 8185EAC - ldr r0, =gUnknown_0203C7AF - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185EAC - - thumb_func_start sub_8185EB8 -sub_8185EB8: @ 8185EB8 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gUnknown_0203C7C0 -_08185EBE: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - adds r0, r4, r6 - ldr r1, =gPlayerParty - adds r1, r4, r1 - movs r2, 0x64 - bl memcpy - ldr r0, =gUnknown_0203CA18 - adds r0, r4, r0 - ldr r1, =gEnemyParty - adds r4, r1 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x1 - cmp r5, 0x5 - ble _08185EBE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185EB8 - - thumb_func_start sub_8185EFC -sub_8185EFC: @ 8185EFC - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gPlayerParty -_08185F02: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - adds r0, r4, r6 - ldr r1, =gUnknown_0203C7C0 - adds r1, r4, r1 - movs r2, 0x64 - bl memcpy - ldr r0, =gEnemyParty - adds r0, r4, r0 - ldr r1, =gUnknown_0203CA18 - adds r4, r1 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x1 - cmp r5, 0x5 - ble _08185F02 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185EFC - - thumb_func_start sub_8185F40 -sub_8185F40: @ 8185F40 - push {r4,r5,lr} - movs r2, 0 - ldr r0, =gLinkPlayers - ldr r3, =gActiveBank - ldrh r1, [r0, 0x18] - adds r4, r0, 0 - ldrb r0, [r3] - cmp r1, r0 - beq _08185F64 - adds r1, r4, 0 -_08185F54: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - bgt _08185F64 - ldrh r0, [r1, 0x18] - ldrb r5, [r3] - cmp r0, r5 - bne _08185F54 -_08185F64: - cmp r2, 0x4 - bne _08185F74 - movs r0, 0 - b _08185F7E - .pool -_08185F74: - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08185F7E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8185F40 - - thumb_func_start sub_8185F84 -sub_8185F84: @ 8185F84 - ldr r1, =gUnknown_0203C7B5 - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_8185F84 - - thumb_func_start sub_8185F90 -sub_8185F90: @ 8185F90 - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gUnknown_0203C7B5 - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - lsls r0, 16 - lsrs r0, 31 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - bx lr - .pool - thumb_func_end sub_8185F90 - - thumb_func_start sub_8185FAC -sub_8185FAC: @ 8185FAC - ldr r0, =gUnknown_0203C7B5 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185FAC - - thumb_func_start sub_8185FB8 -sub_8185FB8: @ 8185FB8 - ldr r0, =gUnknown_0203C7B6 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185FB8 - - thumb_func_start sub_8185FC4 -sub_8185FC4: @ 8185FC4 - ldr r0, =gUnknown_0203C7B7 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185FC4 - - thumb_func_start sub_8185FD0 -sub_8185FD0: @ 8185FD0 - push {r4-r7,lr} - ldr r4, =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0818601C - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x02000002 - ands r0, r1 - cmp r0, 0 - bne _0818601C - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - cmp r0, 0x2 - beq _0818601C - movs r3, 0 - ldr r7, =gUnknown_0203CC70 - adds r6, r4, 0 - ldr r5, =gBattleMons + 0xC - movs r4, 0x58 -_08186000: - lsls r2, r3, 1 - ldrb r1, [r6] - lsrs r0, r1, 1 - lsls r0, 3 - adds r0, r2, r0 - adds r0, r7 - muls r1, r4 - adds r2, r1 - adds r2, r5 - ldrh r1, [r2] - strh r1, [r0] - adds r3, 0x1 - cmp r3, 0x3 - ble _08186000 -_0818601C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185FD0 - - thumb_func_start sub_818603C -sub_818603C: @ 818603C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x50 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x02000002 - ands r0, r1 - cmp r0, 0 - beq _0818605C - b _081863FC -_0818605C: - movs r0, 0 - mov r10, r0 - b _081863F2 - .pool -_0818606C: - mov r1, r10 - lsls r4, r1, 24 - lsrs r5, r4, 24 - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - str r4, [sp, 0x4C] - mov r2, r10 - adds r2, 0x1 - str r2, [sp, 0x38] - cmp r0, 0x1 - bne _0818608A - b _081863EE -_0818608A: - ldr r3, [sp, 0x24] - cmp r3, 0x1 - bne _0818611E - movs r5, 0 - ldr r4, =gUnknown_0203CC70 - mov r0, r10 - asrs r6, r0, 31 - subs r0, r6 - asrs r0, 1 - lsls r0, 3 - adds r2, r0, r4 - movs r1, 0x58 - mov r0, r10 - muls r0, r1 - ldr r3, =gBattleMons + 0xC - adds r1, r0, r3 -_081860AA: - ldrh r0, [r1] - ldrh r4, [r2] - cmp r0, r4 - bne _081860BC - adds r2, 0x2 - adds r1, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _081860AA -_081860BC: - cmp r5, 0x4 - bne _081860C2 - b _081863EE -_081860C2: - ldr r1, [sp, 0x4C] - lsrs r0, r1, 24 - movs r1, 0x6 - bl RecordedBattle_SetBankAction - movs r5, 0 - ldr r2, =gUnknown_0203CC70 - mov r8, r2 - movs r3, 0x58 - mov r7, r10 - muls r7, r3 - mov r4, r10 - subs r0, r4, r6 - asrs r4, r0, 1 -_081860DE: - movs r2, 0 - lsls r0, r5, 1 - adds r5, 0x1 - adds r0, r7 - ldr r1, =gBattleMons + 0xC - adds r3, r0, r1 - lsls r0, r4, 3 - mov r6, r8 - adds r1, r0, r6 -_081860F0: - ldrh r0, [r3] - ldrh r6, [r1] - cmp r0, r6 - bne _08186110 - lsls r1, r2, 24 - lsrs r1, 24 - ldr r2, [sp, 0x4C] - lsrs r0, r2, 24 - bl RecordedBattle_SetBankAction - b _08186118 - .pool -_08186110: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _081860F0 -_08186118: - cmp r5, 0x3 - ble _081860DE - b _081863EE -_0818611E: - ldr r3, =gUnknown_0203BD34 - ldr r1, =gUnknown_0203C794 - mov r4, r10 - lsls r2, r4, 1 - adds r1, r2, r1 - movs r0, 0xA6 - lsls r0, 2 - mov r6, r10 - muls r6, r0 - adds r0, r6, 0 - ldrh r1, [r1] - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - str r2, [sp, 0x44] - cmp r0, 0x6 - beq _08186142 - b _081863EE -_08186142: - adds r0, r5, 0 - bl RecordedBattle_ReadBankAction - movs r5, 0 - mov r0, sp - adds r0, 0x4 - str r0, [sp, 0x28] - mov r1, sp - adds r1, 0xC - str r1, [sp, 0x30] - mov r2, sp - adds r2, 0x14 - str r2, [sp, 0x34] - mov r3, sp - adds r3, 0x18 - str r3, [sp, 0x3C] - mov r4, sp - adds r4, 0x8 - str r4, [sp, 0x2C] - mov r6, r10 - lsls r6, 3 - str r6, [sp, 0x48] - movs r1, 0x58 - mov r0, r10 - muls r0, r1 - ldr r2, =gBattleMons - adds r0, r2 - adds r6, r0, 0 - adds r6, 0x3B - movs r4, 0x3 -_0818617E: - mov r0, sp - adds r3, r0, r5 - ldrb r1, [r6] - lsls r2, r5, 1 - adds r0, r4, 0 - lsls r0, r2 - ands r1, r0 - asrs r1, r2 - strb r1, [r3] - adds r5, 0x1 - cmp r5, 0x3 - ble _0818617E - movs r5, 0 - ldr r1, =gBattleMons - mov r9, r1 - movs r2, 0x58 - mov r7, r10 - muls r7, r2 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x30] -_081861A6: - ldr r3, [sp, 0x4C] - lsrs r0, r3, 24 - bl RecordedBattle_ReadBankAction - strb r0, [r4] - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - movs r1, 0xC - add r1, r9 - mov r8, r1 - add r0, r8 - ldrh r0, [r0] - strh r0, [r6] - ldr r2, [sp, 0x34] - adds r1, r2, r5 - ldrb r0, [r4] - adds r0, r7 - ldr r3, =gBattleMons + 0x24 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [sp, 0x3C] - adds r1, r0, r5 - ldrb r0, [r4] - add r0, sp - ldrb r0, [r0] - strb r0, [r1] - ldr r1, [sp, 0x2C] - adds r3, r1, r5 - ldr r2, [sp, 0x48] - mov r1, r10 - subs r0, r2, r1 - lsls r0, 2 - ldr r2, =gDisableStructs - adds r0, r2 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - lsrs r1, r5 - strb r1, [r3] - adds r4, 0x1 - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _081861A6 - movs r5, 0 - movs r3, 0xC - negs r3, r3 - add r3, r8 - mov r12, r3 - ldr r4, =gDisableStructs - mov r9, r4 - movs r6, 0x58 - mov r1, r10 - muls r1, r6 - mov r0, r8 - adds r0, 0x18 - adds r4, r1, r0 - adds r3, r1, 0 - mov r7, r8 - ldr r6, [sp, 0x34] - ldr r2, [sp, 0x30] -_0818622C: - adds r1, r3, r7 - ldrh r0, [r2] - strh r0, [r1] - adds r0, r6, r5 - ldrb r0, [r0] - strb r0, [r4] - adds r4, 0x1 - adds r3, 0x2 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0818622C - movs r0, 0x58 - mov r4, r10 - muls r4, r0 - mov r1, r12 - adds r0, r4, r1 - adds r0, 0x3B - movs r1, 0 - strb r1, [r0] - ldr r2, [sp, 0x48] - mov r6, r10 - subs r3, r2, r6 - lsls r3, 2 - mov r0, r9 - adds r2, r3, r0 - ldrb r1, [r2, 0x18] - movs r0, 0xF - ands r0, r1 - strb r0, [r2, 0x18] - movs r5, 0 - ldr r1, =gBattleMons - adds r4, r1 - adds r4, 0x3B - ldr r0, =gDisableStructs - adds r6, r3, r0 -_08186274: - ldr r2, [sp, 0x3C] - adds r0, r2, r5 - ldrb r0, [r0] - lsls r1, r5, 1 - lsls r0, r1 - ldrb r1, [r4] - orrs r0, r1 - strb r0, [r4] - ldrb r2, [r6, 0x18] - lsrs r3, r2, 4 - ldr r1, [sp, 0x2C] - adds r0, r1, r5 - ldrb r1, [r0] - lsls r1, r5 - orrs r1, r3 - lsls r1, 4 - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x18] - adds r5, 0x1 - cmp r5, 0x3 - ble _08186274 - movs r2, 0x58 - mov r0, r10 - muls r0, r2 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - beq _081862BC - b _081863CA -_081862BC: - movs r5, 0 - mov r3, sp - adds r3, 0x20 - str r3, [sp, 0x40] - ldr r0, =gBattlePartyID - ldr r4, [sp, 0x44] - adds r6, r4, r0 -_081862CA: - ldrh r1, [r6] - movs r0, 0x64 - muls r0, r1 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - mov r1, sp - adds r3, r1, r5 - lsls r2, r5, 1 - movs r1, 0x3 - lsls r1, r2 - ands r0, r1 - lsrs r0, r2 - strb r0, [r3] - adds r5, 0x1 - cmp r5, 0x3 - ble _081862CA - movs r5, 0 - ldr r0, =gBattlePartyID - ldr r2, [sp, 0x44] - adds r7, r2, r0 - movs r3, 0x64 - mov r9, r3 - mov r8, r4 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x30] -_08186304: - ldrh r0, [r7] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - ldrb r1, [r4] - adds r1, 0xD - movs r2, 0 - bl GetMonData - strh r0, [r6] - ldrh r0, [r7] - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - add r0, r8 - ldrb r1, [r4] - adds r1, 0x11 - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x34] - adds r1, r3, r5 - strb r0, [r1] - ldr r0, [sp, 0x3C] - adds r1, r0, r5 - ldrb r0, [r4] - add r0, sp - ldrb r0, [r0] - strb r0, [r1] - adds r4, 0x1 - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08186304 - movs r5, 0 - ldr r0, =gBattlePartyID - ldr r1, [sp, 0x44] - adds r7, r1, r0 - movs r2, 0x64 - mov r9, r2 - ldr r3, =gPlayerParty - mov r8, r3 - ldr r6, [sp, 0x30] - adds r6, 0x8 - ldr r4, [sp, 0x30] -_08186360: - ldrh r0, [r7] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - adds r1, r5, 0 - adds r1, 0xD - adds r2, r4, 0 - bl SetMonData - ldrh r0, [r7] - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - add r0, r8 - adds r1, r5, 0 - adds r1, 0x11 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08186360 - movs r0, 0 - ldr r3, [sp, 0x40] - strb r0, [r3] - movs r5, 0 - ldr r4, =gBattlePartyID - ldr r6, =gPlayerParty - ldr r3, [sp, 0x3C] - ldr r2, [sp, 0x40] -_081863A2: - adds r0, r3, r5 - ldrb r1, [r0] - lsls r0, r5, 1 - lsls r1, r0 - ldrb r0, [r2] - orrs r0, r1 - strb r0, [r2] - adds r5, 0x1 - cmp r5, 0x3 - ble _081863A2 - ldr r1, [sp, 0x44] - adds r0, r1, r4 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - adds r0, r6 - movs r1, 0x15 - ldr r2, [sp, 0x40] - bl SetMonData -_081863CA: - ldr r2, =gChosenMovesByBanks - ldr r3, [sp, 0x44] - adds r2, r3, r2 - ldr r0, =gBattleStruct - ldr r0, [r0] - add r0, r10 - adds r0, 0x80 - ldrb r0, [r0] - lsls r0, 1 - movs r4, 0x58 - mov r1, r10 - muls r1, r4 - adds r0, r1 - ldr r1, =gBattleMons - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] -_081863EE: - ldr r6, [sp, 0x38] - mov r10, r6 -_081863F2: - ldr r0, =gNoOfAllBanks - ldrb r0, [r0] - cmp r10, r0 - bge _081863FC - b _0818606C -_081863FC: - add sp, 0x50 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818603C - - thumb_func_start GetAiScriptsInRecordedBattle -GetAiScriptsInRecordedBattle: @ 8186438 - ldr r0, =gUnknown_0203C7BC - ldr r0, [r0] - bx lr - .pool - thumb_func_end GetAiScriptsInRecordedBattle - - thumb_func_start sub_8186444 -sub_8186444: @ 8186444 - ldr r1, =gUnknown_0203CCD0 - movs r0, 0x1 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_8186444 - - thumb_func_start sub_8186450 -sub_8186450: @ 8186450 - push {lr} - movs r1, 0 - ldr r0, =gUnknown_0203CCD0 - ldrb r0, [r0] - cmp r0, 0 - bne _0818645E - movs r1, 0x1 -_0818645E: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8186450 - - thumb_func_start sub_8186468 -sub_8186468: @ 8186468 - push {r4,r5,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r5, =gUnknown_03001278 - ldr r4, =gUnknown_0203CCD1 -_08186472: - adds r0, r3, r2 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x7 - ble _08186472 - movs r0, 0xFF - strb r0, [r3, 0x7] - ldrb r1, [r5] - adds r0, r3, 0 - bl ConvertInternationalString - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8186468 - - thumb_func_start sub_818649C -sub_818649C: @ 818649C - ldr r0, =gUnknown_0203CCD9 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_818649C - - thumb_func_start sub_81864A8 -sub_81864A8: @ 81864A8 - ldr r0, =gUnknown_0203CCDA - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81864A8 - - thumb_func_start sub_81864B4 -sub_81864B4: @ 81864B4 - ldr r0, =gUnknown_03001278 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81864B4 - - thumb_func_start sub_81864C0 -sub_81864C0: @ 81864C0 - ldr r0, =gUnknown_03001279 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81864C0 - - thumb_func_start sub_81864CC -sub_81864CC: @ 81864CC - ldr r0, =gUnknown_0203CCE8 - ldr r1, =gBattleOutcome - ldrb r1, [r1] - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_81864CC - - thumb_func_start sub_81864E0 -sub_81864E0: @ 81864E0 - ldr r0, =gUnknown_0203CCDC - bx lr - .pool - thumb_func_end sub_81864E0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/region_map.s b/asm/region_map.s deleted file mode 100644 index 032bdf7a5..000000000 --- a/asm/region_map.s +++ /dev/null @@ -1,4288 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8122CDC -sub_8122CDC: @ 8122CDC - push {lr} - lsls r2, r1, 24 - lsrs r2, 24 - movs r1, 0 - bl sub_8122CF8 -_08122CE8: - bl sub_8122DB0 - lsls r0, 24 - cmp r0, 0 - bne _08122CE8 - pop {r0} - bx r0 - thumb_func_end sub_8122CDC - - thumb_func_start sub_8122CF8 -sub_8122CF8: @ 8122CF8 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r3, =gUnknown_0203A144 - str r0, [r3] - movs r1, 0x79 - adds r1, r0 - mov r12, r1 - movs r1, 0 - mov r5, r12 - strb r1, [r5] - adds r0, 0x78 - strb r2, [r0] - ldr r1, [r3] - cmp r2, 0x1 - bne _08122D28 - ldr r0, =sub_8123254 - b _08122D2A - .pool -_08122D28: - ldr r0, =sub_81230C4 -_08122D2A: - str r0, [r1, 0x18] - cmp r4, 0 - beq _08122D64 - ldr r1, [r3] - ldr r0, [r4] - lsls r0, 30 - lsrs r0, 30 - adds r1, 0x80 - strb r0, [r1] - ldr r1, [r3] - ldr r0, [r4] - lsls r0, 28 - lsrs r0, 30 - adds r1, 0x81 - strb r0, [r1] - ldr r1, [r3] - ldr r0, [r4] - lsls r0, 23 - lsrs r0, 27 - adds r1, 0x82 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x83 - movs r1, 0x1 - strb r1, [r0] - b _08122D80 - .pool -_08122D64: - ldr r0, [r3] - adds r0, 0x80 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x81 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x82 - movs r1, 0x1C - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x83 - strb r4, [r0] -_08122D80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8122CF8 - - thumb_func_start sub_8122D88 -sub_8122D88: @ 8122D88 - push {r4,lr} - ldr r4, =gUnknown_0203A144 - str r0, [r4] - bl sub_81238AC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x54 - ldrh r1, [r0] - adds r0, 0x20 - strh r1, [r0] - subs r0, 0x1E - ldrh r1, [r0] - adds r0, 0x20 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8122D88 - - thumb_func_start sub_8122DB0 -sub_8122DB0: @ 8122DB0 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x7 - bls _08122DC2 - b _0812300C -_08122DC2: - lsls r0, 2 - ldr r1, =_08122DD4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08122DD4: - .4byte _08122DF4 - .4byte _08122E2C - .4byte _08122E78 - .4byte _08122E94 - .4byte _08122EB0 - .4byte _08122ECC - .4byte _08122F10 - .4byte _08122F8C -_08122DF4: - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x83 - ldrb r0, [r0] - cmp r0, 0 - beq _08122E18 - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - ldr r1, =gUnknown_0859F77C - movs r2, 0 - str r2, [sp] - b _08122E52 - .pool -_08122E18: - ldr r0, =gUnknown_0859F77C - ldr r1, =0x06008000 - bl LZ77UnCompVram - b _08123014 - .pool -_08122E2C: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - adds r0, 0x83 - ldrb r0, [r0] - cmp r0, 0 - beq _08122E64 - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _08122E44 - b _08123014 -_08122E44: - ldr r0, [r4] - adds r0, 0x80 - ldrb r0, [r0] - ldr r1, =gUnknown_085A04E0 - movs r2, 0x1 - str r2, [sp] - movs r2, 0 -_08122E52: - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08123014 - .pool -_08122E64: - ldr r0, =gUnknown_085A04E0 - ldr r1, =0x0600e000 - bl LZ77UnCompVram - b _08123014 - .pool -_08122E78: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _08122E84 - b _08123014 -_08122E84: - ldr r0, =gUnknown_0859F73C - movs r1, 0x70 - movs r2, 0x60 - bl LoadPalette - b _08123014 - .pool -_08122E94: - ldr r0, =gUnknown_0859F60C - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - movs r2, 0xC2 - lsls r2, 1 - adds r1, r2 - bl LZ77UnCompWram - b _08123014 - .pool -_08122EB0: - ldr r0, =gUnknown_0859F650 - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - movs r5, 0xA1 - lsls r5, 2 - adds r1, r5 - bl LZ77UnCompWram - b _08123014 - .pool -_08122ECC: - bl sub_81238AC - ldr r4, =gUnknown_0203A144 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x54 - ldrh r1, [r0] - adds r0, 0x20 - strh r1, [r0] - subs r0, 0x1E - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x76 - strh r0, [r1] - ldrh r0, [r2] - bl sub_8123EB4 - ldr r1, [r4] - strh r0, [r1] - ldrh r0, [r1] - bl get_flagnr_blue_points - ldr r1, [r4] - strb r0, [r1, 0x2] - ldr r1, [r4] - adds r0, r1, 0x4 - ldrh r1, [r1] - movs r2, 0x10 - bl GetMapName - b _08123014 - .pool -_08122F10: - ldr r0, =gUnknown_0203A144 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x78 - ldrb r1, [r0] - cmp r1, 0 - bne _08122F3C - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_81236C4 - b _08123014 - .pool -_08122F3C: - adds r1, r4, 0 - adds r1, 0x54 - ldrh r0, [r1] - lsls r0, 3 - subs r0, 0x34 - adds r2, r4, 0 - adds r2, 0x5C - movs r3, 0 - strh r0, [r2] - movs r0, 0x56 - adds r0, r4 - mov r12, r0 - ldrh r0, [r0] - lsls r0, 3 - subs r0, 0x44 - adds r5, r4, 0 - adds r5, 0x5E - strh r0, [r5] - ldrh r1, [r1] - adds r0, r4, 0 - adds r0, 0x64 - strh r1, [r0] - mov r0, r12 - ldrh r1, [r0] - adds r0, r4, 0 - adds r0, 0x66 - strh r1, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x80 - str r2, [sp] - str r2, [sp, 0x4] - str r3, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x48 - bl sub_81236C4 - b _08123014 -_08122F8C: - bl sub_8123FB0 - bl sub_81237B4 - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - movs r1, 0 - str r1, [r0, 0x1C] - str r1, [r0, 0x20] - adds r0, 0x7A - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7E - strb r1, [r0] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x83 - ldrb r0, [r0] - cmp r0, 0 - beq _08123002 - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - movs r1, 0x3 - movs r2, 0x2 - bl SetBgAttribute - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - adds r1, 0x81 - ldrb r2, [r1] - movs r1, 0x1 - bl SetBgAttribute - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - adds r1, 0x82 - ldrb r2, [r1] - movs r1, 0x2 - bl SetBgAttribute - ldr r0, [r4] - adds r0, 0x80 - ldrb r0, [r0] - movs r1, 0x6 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, [r4] - adds r0, 0x80 - ldrb r0, [r0] - movs r1, 0x4 - movs r2, 0x1 - bl SetBgAttribute -_08123002: - ldr r1, [r4] - adds r1, 0x79 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0812300C: - movs r0, 0 - b _08123022 - .pool -_08123014: - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r1, 0x79 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x1 -_08123022: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8122DB0 - - thumb_func_start sub_8123030 -sub_8123030: @ 8123030 - push {lr} - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0xE0 - lsls r0, 2 - lsls r1, 24 - lsrs r1, 24 - bl BlendPalettes - ldr r0, =gPlttBufferFaded + 0xE0 - ldr r1, =gPlttBufferUnfaded + 0xE0 - movs r2, 0x30 - bl CpuSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123030 - - thumb_func_start sub_812305C -sub_812305C: @ 812305C - push {r4,lr} - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _08123080 - bl DestroySprite - ldr r0, [r4] - adds r0, 0x58 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x5A - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_08123080: - ldr r0, [r4] - ldr r0, [r0, 0x20] - cmp r0, 0 - beq _081230A0 - bl DestroySprite - ldr r0, [r4] - adds r0, 0x70 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x72 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_081230A0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812305C - - thumb_func_start sub_81230AC -sub_81230AC: @ 81230AC - push {lr} - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldr r0, [r0, 0x18] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81230AC - - thumb_func_start sub_81230C4 -sub_81230C4: @ 81230C4 - push {r4,lr} - movs r4, 0 - ldr r2, =gUnknown_0203A144 - ldr r0, [r2] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r2] - adds r0, 0x7C - strb r4, [r0] - ldr r3, =gMain - ldrh r1, [r3, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081230F6 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x56 - ldrh r0, [r0] - cmp r0, 0x2 - bls _081230F6 - adds r1, 0x7C - movs r0, 0xFF - strb r0, [r1] - movs r4, 0x1 -_081230F6: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08123114 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x56 - ldrh r0, [r0] - cmp r0, 0xF - bhi _08123114 - adds r1, 0x7C - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 -_08123114: - ldrh r1, [r3, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08123132 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - cmp r0, 0x1 - bls _08123132 - adds r1, 0x7B - movs r0, 0xFF - strb r0, [r1] - movs r4, 0x1 -_08123132: - ldrh r1, [r3, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08123150 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - cmp r0, 0x1B - bhi _08123150 - adds r1, 0x7B - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 -_08123150: - ldrh r3, [r3, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08123168 - movs r4, 0x4 - b _08123172 - .pool -_08123168: - movs r0, 0x2 - ands r0, r3 - cmp r0, 0 - beq _08123172 - movs r4, 0x5 -_08123172: - cmp r4, 0x1 - bne _08123184 - ldr r0, [r2] - adds r0, 0x7A - movs r1, 0x4 - strb r1, [r0] - ldr r1, [r2] - ldr r0, =_swiopen - str r0, [r1, 0x18] -_08123184: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81230C4 - - thumb_func_start _swiopen -_swiopen: @ 8123190 - push {r4,r5,lr} - ldr r5, =gUnknown_0203A144 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7A - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _081231AC - movs r0, 0x2 - b _08123248 - .pool -_081231AC: - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _081231C2 - adds r1, 0x54 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081231C2: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _081231DA - adds r1, 0x54 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_081231DA: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _081231F2 - adds r1, 0x56 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081231F2: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _0812320A - adds r1, 0x56 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_0812320A: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - adds r1, 0x56 - ldrh r1, [r1] - bl sub_812386C - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl get_flagnr_blue_points - ldr r1, [r5] - strb r0, [r1, 0x2] - ldr r1, [r5] - ldrh r0, [r1] - cmp r4, r0 - beq _0812323C - strh r4, [r1] - adds r0, r1, 0x4 - ldrh r1, [r1] - movs r2, 0x10 - bl GetMapName -_0812323C: - bl sub_8123FB0 - ldr r1, [r5] - ldr r0, =sub_81230C4 - str r0, [r1, 0x18] - movs r0, 0x3 -_08123248: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end _swiopen - - thumb_func_start sub_8123254 -sub_8123254: @ 8123254 - push {r4-r6,lr} - movs r4, 0 - ldr r3, =gUnknown_0203A144 - ldr r0, [r3] - mov r12, r0 - adds r0, 0x6A - strh r4, [r0] - mov r5, r12 - adds r5, 0x68 - strh r4, [r5] - ldr r2, =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - adds r6, r3, 0 - adds r3, r2, 0 - cmp r0, 0 - beq _0812328E - mov r0, r12 - adds r0, 0x5E - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x34 - negs r0, r0 - cmp r1, r0 - ble _0812328E - ldr r0, =0x0000ffff - strh r0, [r5] - movs r4, 0x1 -_0812328E: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081232AE - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x5E - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r0, 0x3B - bgt _081232AE - adds r1, 0x68 - movs r0, 0x1 - strh r0, [r1] - movs r4, 0x1 -_081232AE: - ldrh r1, [r3, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081232D4 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x5C - movs r5, 0 - ldrsh r1, [r0, r5] - movs r0, 0x2C - negs r0, r0 - cmp r1, r0 - ble _081232D4 - adds r1, r2, 0 - adds r1, 0x6A - ldr r0, =0x0000ffff - strh r0, [r1] - movs r4, 0x1 -_081232D4: - ldrh r1, [r3, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081232F4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x5C - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0xAB - bgt _081232F4 - adds r1, 0x6A - movs r0, 0x1 - strh r0, [r1] - movs r4, 0x1 -_081232F4: - ldrh r2, [r3, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _08123300 - movs r4, 0x4 -_08123300: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0812330A - movs r4, 0x5 -_0812330A: - cmp r4, 0x1 - bne _0812331A - ldr r0, [r6] - ldr r1, =sub_8123334 - str r1, [r0, 0x18] - adds r0, 0x6C - movs r1, 0 - strh r1, [r0] -_0812331A: - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8123254 - - thumb_func_start sub_8123334 -sub_8123334: @ 8123334 - push {r4,r5,lr} - ldr r5, =gUnknown_0203A144 - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x5E - adds r0, r2, 0 - adds r0, 0x68 - ldrh r0, [r0] - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - adds r1, r2, 0 - adds r1, 0x5C - adds r0, r2, 0 - adds r0, 0x6A - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - movs r2, 0 - ldrsh r1, [r3, r2] - bl sub_812378C - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x6C - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bne _08123410 - adds r0, r2, 0 - adds r0, 0x5C - movs r3, 0 - ldrsh r1, [r0, r3] - adds r0, r1, 0 - adds r0, 0x2C - cmp r0, 0 - bge _0812338C - adds r0, 0x7 -_0812338C: - asrs r0, 3 - adds r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r2, 0 - adds r0, 0x5E - movs r4, 0 - ldrsh r1, [r0, r4] - adds r0, r1, 0 - adds r0, 0x34 - cmp r0, 0 - bge _081233A6 - adds r0, 0x7 -_081233A6: - asrs r0, 3 - adds r0, 0x2 - lsls r0, 16 - lsrs r1, r0, 16 - adds r4, r2, 0 - adds r4, 0x64 - adds r0, r2, 0 - adds r0, 0x66 - ldrh r2, [r4] - cmp r3, r2 - bne _081233C2 - ldrh r2, [r0] - cmp r1, r2 - beq _081233F2 -_081233C2: - strh r3, [r4] - strh r1, [r0] - adds r0, r3, 0 - bl sub_812386C - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl get_flagnr_blue_points - ldr r1, [r5] - strb r0, [r1, 0x2] - ldr r1, [r5] - ldrh r3, [r1] - cmp r4, r3 - beq _081233EE - strh r4, [r1] - adds r0, r1, 0x4 - ldrh r1, [r1] - movs r2, 0x10 - bl GetMapName -_081233EE: - bl sub_8123FB0 -_081233F2: - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x6C - movs r0, 0 - strh r0, [r1] - ldr r0, =sub_8123254 - str r0, [r2, 0x18] - movs r0, 0x3 - b _08123412 - .pool -_08123410: - movs r0, 0x2 -_08123412: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8123334 - - thumb_func_start sub_8123418 -sub_8123418: @ 8123418 - push {r4-r6,lr} - ldr r1, =gUnknown_0203A144 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r3, [r0] - adds r5, r1, 0 - cmp r3, 0 - bne _0812349C - subs r0, 0x1A - strh r3, [r0] - subs r0, 0x2 - strh r3, [r0] - str r3, [r2, 0x40] - str r3, [r2, 0x3C] - adds r4, r2, 0 - adds r4, 0x54 - ldrh r0, [r4] - lsls r0, 3 - subs r0, 0x34 - adds r1, r2, 0 - adds r1, 0x60 - strh r0, [r1] - movs r0, 0x56 - adds r0, r2 - mov r12, r0 - ldrh r0, [r0] - lsls r0, 3 - subs r0, 0x44 - adds r3, r2, 0 - adds r3, 0x62 - strh r0, [r3] - movs r6, 0 - ldrsh r0, [r1, r6] - lsls r0, 8 - cmp r0, 0 - bge _08123464 - adds r0, 0xF -_08123464: - asrs r0, 4 - str r0, [r2, 0x44] - movs r1, 0 - ldrsh r0, [r3, r1] - lsls r0, 8 - cmp r0, 0 - bge _08123474 - adds r0, 0xF -_08123474: - asrs r0, 4 - str r0, [r2, 0x48] - ldrh r1, [r4] - adds r0, r2, 0 - adds r0, 0x64 - strh r1, [r0] - mov r3, r12 - ldrh r0, [r3] - adds r1, r2, 0 - adds r1, 0x66 - strh r0, [r1] - movs r0, 0x80 - lsls r0, 9 - str r0, [r2, 0x4C] - ldr r0, =0xfffff800 - b _081234FA - .pool -_0812349C: - adds r0, r2, 0 - adds r0, 0x5C - movs r6, 0 - ldrsh r0, [r0, r6] - lsls r0, 8 - str r0, [r2, 0x3C] - adds r0, r2, 0 - adds r0, 0x5E - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r0, 8 - str r0, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0x60 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r0, [r2, 0x3C] - cmp r0, 0 - bge _081234C8 - adds r0, 0xF -_081234C8: - asrs r0, 4 - negs r0, r0 - str r0, [r2, 0x44] - ldr r0, [r2, 0x40] - cmp r0, 0 - bge _081234D6 - adds r0, 0xF -_081234D6: - asrs r0, 4 - negs r0, r0 - str r0, [r2, 0x48] - adds r0, r2, 0 - adds r0, 0x64 - ldrh r1, [r0] - subs r0, 0x10 - strh r1, [r0] - adds r0, 0x12 - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x56 - strh r0, [r1] - movs r0, 0x80 - lsls r0, 8 - str r0, [r2, 0x4C] - movs r0, 0x80 - lsls r0, 4 -_081234FA: - str r0, [r2, 0x50] - ldr r0, [r5] - adds r0, 0x6E - movs r1, 0 - strh r1, [r0] - bl sub_8124238 - bl sub_81243B0 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8123418 - - thumb_func_start sub_8123514 -sub_8123514: @ 8123514 - push {r4-r6,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203A144 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x6E - ldrh r1, [r2] - adds r5, r0, 0 - cmp r1, 0xF - bls _08123530 - movs r0, 0 - b _081236B8 - .pool -_08123530: - adds r0, r1, 0x1 - movs r1, 0 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x10 - bne _081235A4 - str r1, [r3, 0x44] - str r1, [r3, 0x48] - adds r0, r3, 0 - adds r0, 0x60 - ldrh r1, [r0] - subs r0, 0x4 - strh r1, [r0] - adds r0, 0x6 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - adds r1, 0x1A - ldrb r0, [r1] - movs r2, 0x80 - lsls r2, 9 - cmp r0, 0 - bne _08123566 - movs r2, 0x80 - lsls r2, 8 -_08123566: - str r2, [r3, 0x4C] - movs r2, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _08123572 - movs r2, 0x1 -_08123572: - strb r2, [r1] - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x78 - ldrb r0, [r0] - ldr r2, =sub_8123254 - cmp r0, 0 - bne _08123584 - ldr r2, =sub_81230C4 -_08123584: - str r2, [r1, 0x18] - adds r0, r1, 0 - adds r0, 0x58 - ldrh r0, [r0] - adds r1, 0x5A - ldrh r1, [r1] - bl sub_81240D4 - bl sub_81243DC - movs r4, 0 - b _08123686 - .pool -_081235A4: - ldr r2, [r3, 0x3C] - ldr r0, [r3, 0x44] - adds r2, r0 - str r2, [r3, 0x3C] - ldr r0, [r3, 0x40] - ldr r1, [r3, 0x48] - adds r0, r1 - str r0, [r3, 0x40] - asrs r2, 8 - adds r4, r3, 0 - adds r4, 0x5C - strh r2, [r4] - ldr r0, [r3, 0x40] - asrs r0, 8 - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - ldr r0, [r3, 0x4C] - ldr r1, [r3, 0x50] - adds r0, r1 - str r0, [r3, 0x4C] - ldr r2, [r3, 0x44] - cmp r2, 0 - bge _081235E4 - adds r0, r3, 0 - adds r0, 0x60 - movs r6, 0 - ldrsh r1, [r4, r6] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - blt _081235F8 -_081235E4: - cmp r2, 0 - ble _08123608 - adds r0, r3, 0 - adds r0, 0x60 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - ble _08123608 -_081235F8: - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x60 - ldrh r2, [r0] - subs r0, 0x4 - movs r1, 0 - strh r2, [r0] - str r1, [r3, 0x44] -_08123608: - ldr r2, [r5] - ldr r4, [r2, 0x48] - cmp r4, 0 - bge _08123624 - adds r0, r2, 0 - adds r0, 0x5E - adds r3, r2, 0 - adds r3, 0x62 - movs r6, 0 - ldrsh r1, [r0, r6] - movs r6, 0 - ldrsh r0, [r3, r6] - cmp r1, r0 - blt _0812363C -_08123624: - cmp r4, 0 - ble _0812364E - adds r1, r2, 0 - adds r1, 0x5E - adds r0, r2, 0 - adds r0, 0x62 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - ble _0812364E -_0812363C: - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x62 - ldrh r1, [r0] - adds r3, r2, 0 - adds r3, 0x5E - movs r0, 0 - strh r1, [r3] - str r0, [r2, 0x48] -_0812364E: - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r3, [r0] - cmp r3, 0 - bne _08123674 - ldr r1, [r2, 0x4C] - ldr r0, =0x00007fff - cmp r1, r0 - bgt _08123684 - adds r0, 0x1 - str r0, [r2, 0x4C] - str r3, [r2, 0x50] - b _08123684 - .pool -_08123674: - ldr r0, [r2, 0x4C] - movs r1, 0x80 - lsls r1, 9 - cmp r0, r1 - ble _08123684 - str r1, [r2, 0x4C] - movs r0, 0 - str r0, [r2, 0x50] -_08123684: - movs r4, 0x1 -_08123686: - ldr r0, =gUnknown_0203A144 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x5C - movs r1, 0 - ldrsh r0, [r0, r1] - adds r1, r3, 0 - adds r1, 0x5E - movs r2, 0 - ldrsh r1, [r1, r2] - ldr r2, [r3, 0x4C] - lsls r2, 8 - lsrs r2, 16 - str r2, [sp] - ldr r2, [r3, 0x4C] - lsls r2, 8 - lsrs r2, 16 - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x48 - bl sub_81236C4 - adds r0, r4, 0 -_081236B8: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8123514 - - thumb_func_start sub_81236C4 -sub_81236C4: @ 81236C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - ldr r7, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r4, 16 - lsrs r4, 16 - mov r8, r4 - lsls r7, 16 - adds r4, r7, 0 - lsrs r4, 16 - mov r9, r4 - lsls r5, 24 - lsrs r5, 24 - ldr r4, =gUnknown_0203A144 - ldr r6, [r4] - ldr r7, =gSineTable - mov r12, r7 - adds r4, r5, 0 - adds r4, 0x40 - lsls r4, 1 - add r4, r12 - movs r7, 0 - ldrsh r4, [r4, r7] - str r4, [sp] - mov r7, r8 - muls r7, r4 - adds r4, r7, 0 - asrs r4, 8 - mov r10, r4 - str r4, [r6, 0x2C] - lsls r5, 1 - add r5, r12 - movs r7, 0 - ldrsh r5, [r5, r7] - negs r4, r5 - mov r7, r8 - muls r7, r4 - adds r4, r7, 0 - asrs r4, 8 - mov r12, r4 - str r4, [r6, 0x30] - mov r7, r9 - muls r7, r5 - adds r5, r7, 0 - asrs r5, 8 - str r5, [r6, 0x34] - ldr r7, [sp] - mov r4, r9 - muls r4, r7 - asrs r4, 8 - mov r8, r4 - str r4, [r6, 0x38] - lsls r0, 16 - asrs r0, 8 - lsls r2, 16 - asrs r2, 16 - lsls r4, r2, 8 - adds r0, r4 - lsls r3, 16 - asrs r3, 16 - adds r4, r3, 0 - muls r4, r5 - mov r5, r10 - muls r5, r2 - adds r4, r5 - subs r0, r4 - str r0, [r6, 0x24] - lsls r1, 16 - asrs r1, 8 - lsls r0, r3, 8 - adds r1, r0 - mov r0, r8 - muls r0, r3 - mov r3, r12 - muls r3, r2 - adds r2, r3, 0 - adds r0, r2 - subs r1, r0 - str r1, [r6, 0x28] - adds r6, 0x7D - movs r0, 0x1 - strb r0, [r6] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81236C4 - - thumb_func_start sub_812378C -sub_812378C: @ 812378C - ldr r2, =gUnknown_0203A144 - ldr r2, [r2] - lsls r0, 16 - asrs r0, 8 - movs r3, 0xE0 - lsls r3, 5 - adds r0, r3 - str r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 8 - movs r0, 0x90 - lsls r0, 6 - adds r1, r0 - str r1, [r2, 0x28] - adds r2, 0x7D - movs r0, 0x1 - strb r0, [r2] - bx lr - .pool - thumb_func_end sub_812378C - - thumb_func_start sub_81237B4 -sub_81237B4: @ 81237B4 - push {r4,lr} - ldr r4, =gUnknown_0203A144 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _0812381A - ldrh r1, [r1, 0x2C] - movs r0, 0x20 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x34] - movs r0, 0x22 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x30] - movs r0, 0x24 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x38] - movs r0, 0x26 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x24] - movs r0, 0x28 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x26] - movs r0, 0x2A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x28] - movs r0, 0x2C - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2A] - movs r0, 0x2E - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x7D - movs r1, 0 - strb r1, [r0] -_0812381A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81237B4 - - thumb_func_start sub_8123824 -sub_8123824: @ 8123824 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x38 - movs r3, 0x48 - bl sub_81236C4 - bl sub_81237B4 - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - ldr r1, [r2, 0x20] - cmp r1, 0 - beq _08123860 - negs r0, r4 - strh r0, [r1, 0x24] - ldr r1, [r2, 0x20] - negs r0, r5 - strh r0, [r1, 0x26] -_08123860: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123824 - - thumb_func_start sub_812386C -sub_812386C: @ 812386C - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - ldr r0, =0xfffe0000 - adds r1, r0 - lsrs r2, r1, 16 - cmp r2, 0xE - bhi _08123886 - cmp r3, 0 - beq _08123886 - cmp r3, 0x1C - bls _08123890 -_08123886: - movs r0, 0xD5 - b _081238A4 - .pool -_08123890: - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, =gUnknown_085A096C - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r1 - ldrb r0, [r0] -_081238A4: - pop {r1} - bx r1 - .pool - thumb_func_end sub_812386C - - thumb_func_start sub_81238AC -sub_81238AC: @ 81238AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0x19 - bne _081238DC - ldrb r0, [r2, 0x5] - subs r0, 0x29 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _081238DC - bl sub_8123C00 - b _08123BEC - .pool -_081238DC: - ldr r1, [r3] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bhi _08123928 - lsls r0, 2 - ldr r1, =_08123904 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08123904: - .4byte _08123928 - .4byte _08123928 - .4byte _08123928 - .4byte _0812396C - .4byte _08123928 - .4byte _08123928 - .4byte _0812396C - .4byte _08123A28 - .4byte _081239E4 -_08123928: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r3, =gMapHeader - ldrb r1, [r3, 0x14] - movs r2, 0 - strh r1, [r0] - adds r0, 0x7F - strb r2, [r0] - ldr r0, [r3] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r6, [r0] - ldrh r3, [r0, 0x2] - ldr r1, [r4] - ldrh r0, [r1] - cmp r0, 0x45 - beq _08123956 - cmp r0, 0xCC - beq _08123956 - b _08123ABE -_08123956: - adds r1, 0x7F - movs r0, 0x1 - strb r0, [r1] - b _08123ABE - .pool -_0812396C: - ldr r2, =gMapHeader - ldrb r1, [r2, 0x1A] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081239C8 - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x25 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldrb r1, [r5, 0x14] - strh r1, [r0] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldr r0, [r4] - ldrh r6, [r0, 0x28] - ldrh r3, [r0, 0x2A] - b _08123ABE - .pool -_081239C8: - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldrb r1, [r2, 0x14] - strh r1, [r0] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - movs r2, 0x1 - mov r9, r2 - movs r6, 0x1 - movs r3, 0x1 - b _08123ABE - .pool -_081239E4: - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - movs r0, 0x14 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x15] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldrb r1, [r5, 0x14] - strh r1, [r0] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldr r0, [r4] - ldrh r6, [r0, 0x18] - ldrh r3, [r0, 0x1A] - b _08123ABE - .pool -_08123A28: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r1, =gMapHeader - ldrb r1, [r1, 0x14] - strh r1, [r0] - cmp r1, 0x57 - beq _08123A64 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r7, r0, 0 - adds r7, 0x24 - movs r0, 0 - ldrsb r0, [r7, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r7, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - b _08123A8A - .pool -_08123A64: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r7, r0, 0 - adds r7, 0x14 - ldrb r0, [r0, 0x14] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r7, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - ldr r1, [r4] - ldrb r0, [r5, 0x14] - strh r0, [r1] -_08123A8A: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldrb r0, [r0] - bl sub_8123F74 - adds r1, r0, 0 - cmp r1, 0 - beq _08123AAC - ldr r0, [r4] - adds r0, 0x7F - movs r1, 0x1 - b _08123AB0 - .pool -_08123AAC: - ldr r0, [r4] - adds r0, 0x7F -_08123AB0: - strb r1, [r0] - ldr r0, [r5] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldrh r6, [r7, 0x4] - ldrh r3, [r7, 0x6] -_08123ABE: - str r6, [sp] - ldr r5, =gRegionMapEntries - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - mov r10, r0 - ldrh r7, [r0] - lsls r0, r7, 3 - adds r0, r5 - str r0, [sp, 0x4] - ldrb r0, [r0, 0x2] - mov r8, r0 - adds r0, r2, 0 - mov r1, r8 - str r3, [sp, 0x8] - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r3, [sp, 0x8] - cmp r1, 0 - bne _08123AEA - movs r1, 0x1 -_08123AEA: - adds r0, r6, 0 - str r3, [sp, 0x8] - bl __udivsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp, 0x8] - cmp r6, r8 - bcc _08123B04 - mov r0, r8 - subs r0, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08123B04: - ldr r2, [sp, 0x4] - ldrb r4, [r2, 0x3] - mov r0, r9 - adds r1, r4, 0 - str r3, [sp, 0x8] - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r3, [sp, 0x8] - cmp r1, 0 - bne _08123B1E - movs r1, 0x1 -_08123B1E: - adds r0, r3, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r4 - bcc _08123B32 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 -_08123B32: - cmp r7, 0x29 - beq _08123B5E - cmp r7, 0x29 - bgt _08123B4C - cmp r7, 0x1D - beq _08123B56 - cmp r7, 0x24 - beq _08123B94 - b _08123BC6 - .pool -_08123B4C: - cmp r7, 0x33 - beq _08123B5E - cmp r7, 0xCC - beq _08123BB8 - b _08123BC6 -_08123B56: - cmp r3, 0 - beq _08123BC6 - movs r6, 0 - b _08123BC6 -_08123B5E: - movs r6, 0 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x20 - ble _08123B6E - movs r6, 0x1 -_08123B6E: - cmp r0, 0x33 - ble _08123B78 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08123B78: - movs r3, 0 - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, 0x25 - ble _08123B84 - movs r3, 0x1 -_08123B84: - cmp r0, 0x38 - ble _08123BC6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - b _08123BC6 - .pool -_08123B94: - movs r6, 0 - ldr r0, [sp] - cmp r0, 0xE - bls _08123B9E - movs r6, 0x1 -_08123B9E: - ldr r2, [sp] - cmp r2, 0x1C - bls _08123BAA - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08123BAA: - ldr r0, [sp] - cmp r0, 0x36 - bls _08123BC6 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - b _08123BC6 -_08123BB8: - mov r0, r10 - adds r0, 0x54 - mov r1, r10 - adds r1, 0x56 - bl sub_8123F30 - b _08123BEC -_08123BC6: - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0] - adds r0, r6, r0 - adds r0, 0x1 - adds r1, r2, 0 - adds r1, 0x54 - strh r0, [r1] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x1] - adds r0, r3, r0 - adds r0, 0x2 - adds r2, 0x56 - strh r0, [r2] -_08123BEC: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81238AC - - thumb_func_start sub_8123C00 -sub_8123C00: @ 8123C00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r7, 0 - movs r0, 0 - mov r8, r0 - mov r4, sp - adds r4, 0x1 - mov r5, sp - adds r5, 0x2 - add r6, sp, 0x4 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl GetSSTidalLocation - lsls r0, 24 - lsrs r0, 24 - mov r10, r5 - cmp r0, 0x4 - bhi _08123C94 - lsls r0, 2 - ldr r1, =_08123C40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08123C40: - .4byte _08123C94 - .4byte _08123C54 - .4byte _08123C64 - .4byte _08123C74 - .4byte _08123C84 -_08123C54: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0x8 - strh r0, [r1] - b _08123D10 - .pool -_08123C64: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0xC - strh r0, [r1] - b _08123D10 - .pool -_08123C74: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0x27 - strh r0, [r1] - b _08123D10 - .pool -_08123C84: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0x2E - strh r0, [r1] - b _08123D10 - .pool -_08123C94: - mov r0, sp - ldrb r0, [r0] - ldrb r1, [r4] - bl get_mapheader_by_bank_and_number - ldr r1, =gUnknown_0203A144 - mov r9, r1 - ldr r2, [r1] - ldrb r1, [r0, 0x14] - strh r1, [r2] - ldr r6, [r0] - ldr r1, =gRegionMapEntries - ldrh r0, [r2] - lsls r0, 3 - adds r5, r0, r1 - ldrb r4, [r5, 0x2] - ldr r0, [r6] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _08123CC6 - movs r1, 0x1 -_08123CC6: - mov r2, r10 - movs r3, 0 - ldrsh r0, [r2, r3] - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r8, r4 - bcc _08123CE2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08123CE2: - ldrb r4, [r5, 0x3] - ldr r0, [r6, 0x4] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _08123CF6 - movs r1, 0x1 -_08123CF6: - mov r2, sp - movs r3, 0x4 - ldrsh r0, [r2, r3] - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r2, r9 - cmp r7, r4 - bcc _08123D10 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 -_08123D10: - ldr r0, [r2] - adds r0, 0x7F - movs r1, 0 - strb r1, [r0] - ldr r2, [r2] - ldr r3, =gRegionMapEntries - ldrh r0, [r2] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0] - add r0, r8 - adds r0, 0x1 - adds r1, r2, 0 - adds r1, 0x54 - strh r0, [r1] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, r7, r0 - adds r0, 0x2 - adds r2, 0x56 - strh r0, [r2] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123C00 - - thumb_func_start get_flagnr_blue_points -get_flagnr_blue_points: @ 8123D58 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x9 - beq _08123E18 - cmp r0, 0x9 - bgt _08123D9A - cmp r0, 0x4 - beq _08123DF0 - cmp r0, 0x4 - bgt _08123D88 - cmp r0, 0x1 - beq _08123DD8 - cmp r0, 0x1 - bgt _08123D7E - cmp r0, 0 - beq _08123DD0 - b _08123E94 -_08123D7E: - cmp r0, 0x2 - beq _08123DDE - cmp r0, 0x3 - beq _08123DE8 - b _08123E94 -_08123D88: - cmp r0, 0x6 - beq _08123E00 - cmp r0, 0x6 - blt _08123DF8 - cmp r0, 0x7 - beq _08123E08 - cmp r0, 0x8 - beq _08123E10 - b _08123E94 -_08123D9A: - cmp r0, 0xE - beq _08123E40 - cmp r0, 0xE - bgt _08123DB4 - cmp r0, 0xB - beq _08123E28 - cmp r0, 0xB - blt _08123E20 - cmp r0, 0xC - beq _08123E30 - cmp r0, 0xD - beq _08123E38 - b _08123E94 -_08123DB4: - cmp r0, 0x3A - beq _08123E60 - cmp r0, 0x3A - bgt _08123DC2 - cmp r0, 0xF - beq _08123E48 - b _08123E94 -_08123DC2: - cmp r1, 0x49 - beq _08123E7C - cmp r1, 0xD5 - beq _08123DCC - b _08123E94 -_08123DCC: - movs r0, 0 - b _08123E96 -_08123DD0: - ldr r0, =0x0000086f - b _08123E4A - .pool -_08123DD8: - movs r0, 0x87 - lsls r0, 4 - b _08123E4A -_08123DDE: - ldr r0, =0x00000871 - b _08123E4A - .pool -_08123DE8: - ldr r0, =0x00000872 - b _08123E4A - .pool -_08123DF0: - ldr r0, =0x00000873 - b _08123E4A - .pool -_08123DF8: - ldr r0, =0x00000874 - b _08123E4A - .pool -_08123E00: - ldr r0, =0x00000875 - b _08123E4A - .pool -_08123E08: - ldr r0, =0x00000876 - b _08123E4A - .pool -_08123E10: - ldr r0, =0x00000877 - b _08123E4A - .pool -_08123E18: - ldr r0, =0x00000878 - b _08123E4A - .pool -_08123E20: - ldr r0, =0x00000879 - b _08123E4A - .pool -_08123E28: - ldr r0, =0x0000087a - b _08123E4A - .pool -_08123E30: - ldr r0, =0x0000087b - b _08123E4A - .pool -_08123E38: - ldr r0, =0x0000087c - b _08123E4A - .pool -_08123E40: - ldr r0, =0x0000087d - b _08123E4A - .pool -_08123E48: - ldr r0, =0x0000087e -_08123E4A: - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _08123E58 - movs r1, 0x2 -_08123E58: - adds r0, r1, 0 - b _08123E96 - .pool -_08123E60: - ldr r0, =0x000008a8 - bl FlagGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - negs r0, r1 - orrs r0, r1 - asrs r0, 31 - movs r1, 0x4 - ands r0, r1 - b _08123E96 - .pool -_08123E7C: - ldr r0, =0x000008a9 - bl FlagGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _08123E96 - .pool -_08123E94: - movs r0, 0x1 -_08123E96: - pop {r1} - bx r1 - thumb_func_end get_flagnr_blue_points - - thumb_func_start sub_8123E9C -sub_8123E9C: @ 8123E9C - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - bl sub_812386C - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8123E9C - - thumb_func_start sub_8123EB4 -sub_8123EB4: @ 8123EB4 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, =gUnknown_085A1B84 -_08123EBE: - ldrh r0, [r1] - cmp r0, r3 - bne _08123ED4 - bl sub_8123F04 - lsls r0, 16 - lsrs r0, 16 - b _08123F00 - .pool -_08123ED4: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x2 - bls _08123EBE - ldr r1, =gUnknown_085A1B24 - ldrh r0, [r1] - cmp r0, 0xD5 - beq _08123EFE - adds r2, r1, 0 -_08123EE6: - ldrh r0, [r2] - cmp r0, r3 - bne _08123EF4 - ldrh r0, [r1, 0x2] - b _08123F00 - .pool -_08123EF4: - adds r1, 0x4 - adds r2, 0x4 - ldrh r0, [r1] - cmp r0, 0xD5 - bne _08123EE6 -_08123EFE: - adds r0, r3, 0 -_08123F00: - pop {r1} - bx r1 - thumb_func_end sub_8123EB4 - - thumb_func_start sub_8123F04 -sub_8123F04: @ 8123F04 - push {lr} - ldr r0, =0x00004037 - bl VarGet - subs r0, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _08123F18 - movs r1, 0 -_08123F18: - ldr r0, =gUnknown_085A1B8A - lsls r1, 16 - asrs r1, 15 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_8123F04 - - thumb_func_start sub_8123F30 -sub_8123F30: @ 8123F30 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =0xfff70000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0x7 - bls _08123F4C - movs r1, 0x9 -_08123F4C: - subs r1, 0x9 - lsls r1, 16 - ldr r0, =gUnknown_085A1BAC - lsrs r1, 14 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r4] - ldrh r0, [r1, 0x2] - adds r0, 0x2 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123F30 - - thumb_func_start sub_8123F74 -sub_8123F74: @ 8123F74 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gUnknown_085A1BCC -_08123F7E: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _08123F90 - movs r0, 0x1 - b _08123F98 - .pool -_08123F90: - adds r1, 0x1 - cmp r1, 0 - beq _08123F7E - movs r0, 0 -_08123F98: - pop {r1} - bx r1 - thumb_func_end sub_8123F74 - - thumb_func_start sub_8123F9C -sub_8123F9C: @ 8123F9C - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_8123EB4 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8123F9C - - thumb_func_start sub_8123FB0 -sub_8123FB0: @ 8123FB0 - push {r4-r6,lr} - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - ldrh r0, [r1] - cmp r0, 0xD5 - bne _08123FC8 - movs r0, 0 - strb r0, [r1, 0x3] - b _0812402E - .pool -_08123FC8: - adds r0, r1, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0 - bne _08123FD8 - adds r0, r1, 0 - adds r0, 0x54 - b _08123FDC -_08123FD8: - adds r0, r1, 0 - adds r0, 0x64 -_08123FDC: - ldrh r4, [r0] - adds r0, 0x2 - ldrh r5, [r0] - movs r6, 0 - b _08124008 -_08123FE6: - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812386C - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bne _08124008 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08124008: - cmp r4, 0x1 - bhi _08123FE6 - adds r0, r5, 0 - bl sub_8124038 - lsls r0, 24 - cmp r0, 0 - beq _08124028 - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0x1D - b _08124008 - .pool -_08124028: - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - strb r6, [r0, 0x3] -_0812402E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123FB0 - - thumb_func_start sub_8124038 -sub_8124038: @ 8124038 - push {r4,r5,lr} - lsls r0, 16 - ldr r1, =0xffff0000 - adds r0, r1 - lsrs r5, r0, 16 - ldr r0, =0x0000ffff - cmp r5, r0 - bne _08124058 - b _0812407A - .pool -_08124054: - movs r0, 0x1 - b _0812407C -_08124058: - movs r4, 0x1 -_0812405A: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812386C - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - beq _08124054 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1C - bls _0812405A -_0812407A: - movs r0, 0 -_0812407C: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8124038 - - thumb_func_start sub_8124088 -sub_8124088: @ 8124088 - push {r4,lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x7A - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r0, 0 - beq _081240C6 - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r4, [r2, 0x20] - adds r0, r4 - strh r0, [r2, 0x20] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r1, [r2, 0x22] - adds r0, r1 - strh r0, [r2, 0x22] - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] -_081240C6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124088 - - thumb_func_start TaskDummy8 -TaskDummy8: @ 81240D0 - bx lr - thumb_func_end TaskDummy8 - - thumb_func_start sub_81240D4 -sub_81240D4: @ 81240D4 - push {r4-r7,lr} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r1, =gUnknown_085A1C00 - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [sp, 0x20] - str r2, [sp, 0x24] - mov r2, sp - ldr r1, =gUnknown_085A1C08 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - lsrs r3, r0, 16 - add r2, sp, 0x18 - ldrh r1, [r2, 0x4] - orrs r1, r0 - str r1, [r2, 0x4] - mov r0, sp - strh r3, [r0] - ldr r0, =gUnknown_0203A144 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x58 - strh r3, [r0] - ldr r5, =0xffff0000 - add r1, sp, 0x20 - ldr r0, [r1, 0x4] - ands r0, r5 - orrs r0, r6 - str r0, [r1, 0x4] - mov r0, sp - strh r6, [r0, 0x2] - adds r3, r4, 0 - adds r0, r3, 0 - adds r0, 0x5A - strh r6, [r0] - adds r0, 0x1E - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0 - bne _08124158 - movs r1, 0xC2 - lsls r1, 1 - adds r0, r3, r1 - str r0, [sp, 0x18] - ldr r0, [r2, 0x4] - ands r0, r5 - subs r1, 0x84 - orrs r0, r1 - str r0, [r2, 0x4] - ldr r0, =sub_8124088 - b _0812416E - .pool -_08124158: - movs r3, 0xA1 - lsls r3, 2 - adds r0, r4, r3 - str r0, [sp, 0x18] - ldr r0, [r2, 0x4] - ands r0, r5 - movs r1, 0xC0 - lsls r1, 3 - orrs r0, r1 - str r0, [r2, 0x4] - ldr r0, =TaskDummy8 -_0812416E: - str r0, [sp, 0x14] - adds r0, r2, 0 - bl LoadSpriteSheet - adds r0, r7, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0x38 - movs r2, 0x48 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08124228 - ldr r4, =gUnknown_0203A144 - ldr r2, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r3, r0, r1 - str r3, [r2, 0x1C] - adds r2, 0x78 - ldrb r0, [r2] - cmp r0, 0x1 - bne _081241DC - ldrb r1, [r3, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x3] - ldr r2, [r4] - ldr r1, [r2, 0x1C] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x1C] - ldrh r0, [r1, 0x22] - subs r0, 0x8 - strh r0, [r1, 0x22] - ldr r0, [r2, 0x1C] - movs r1, 0x1 - bl StartSpriteAnim - b _08124204 - .pool -_081241DC: - ldrb r1, [r3, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3, 0x3] - ldr r1, [r4] - ldr r2, [r1, 0x1C] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x20] - ldr r2, [r1, 0x1C] - adds r1, 0x56 - ldrh r0, [r1] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x22] -_08124204: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r1, [r0, 0x1C] - movs r0, 0x2 - strh r0, [r1, 0x30] - adds r0, r6, 0 - bl IndexOfSpritePaletteTag - ldr r1, [r4] - ldr r2, [r1, 0x1C] - lsls r0, 24 - lsrs r0, 20 - ldr r4, =0x00000101 - adds r0, r4 - strh r0, [r2, 0x32] - ldr r1, [r1, 0x1C] - movs r0, 0x1 - strh r0, [r1, 0x34] -_08124228: - add sp, 0x28 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81240D4 - - thumb_func_start sub_8124238 -sub_8124238: @ 8124238 - push {r4,lr} - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _0812425C - bl DestroySprite - ldr r0, [r4] - adds r0, 0x58 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x5A - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_0812425C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124238 - - thumb_func_start sub_8124268 -sub_8124268: @ 8124268 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldr r1, [r0, 0x1C] - movs r0, 0x1 - strh r0, [r1, 0x34] - bx lr - .pool - thumb_func_end sub_8124268 - - thumb_func_start sub_8124278 -sub_8124278: @ 8124278 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldr r1, [r0, 0x1C] - movs r0, 0 - strh r0, [r1, 0x34] - bx lr - .pool - thumb_func_end sub_8124278 - - thumb_func_start sub_8124288 -sub_8124288: @ 8124288 - push {r4-r6,lr} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r2, =gUnknown_085A084C - str r2, [sp, 0x18] - movs r2, 0x80 - add r6, sp, 0x18 - lsrs r3, r0, 16 - orrs r0, r2 - str r0, [r6, 0x4] - ldr r0, =gUnknown_085A082C - str r0, [sp, 0x20] - ldr r2, =0xffff0000 - add r4, sp, 0x20 - ldr r0, [r4, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - movs r5, 0 - strh r3, [r0] - strh r1, [r0, 0x2] - ldr r0, =gUnknown_085A1C20 - str r0, [sp, 0x4] - ldr r0, =gUnknown_085A1C30 - str r0, [sp, 0x8] - str r5, [sp, 0xC] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, =SpriteCallbackDummy - str r0, [sp, 0x14] - ldr r0, =gMapHeader - ldrb r0, [r0, 0x14] - bl sub_8124668 - cmp r0, 0 - beq _08124304 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - str r5, [r0, 0x20] - b _081243A4 - .pool -_08124304: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _08124316 - ldr r0, =gUnknown_085A08EC - str r0, [sp, 0x18] - ldr r0, =gUnknown_085A08CC - str r0, [sp, 0x20] -_08124316: - adds r0, r6, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203A144 - ldr r2, [r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0 - bne _08124384 - adds r0, r2, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x22] - ldr r1, [r2, 0x20] - ldr r0, =sub_81244EC - b _081243A2 - .pool -_08124384: - adds r0, r2, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x30 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x42 - strh r0, [r1, 0x22] - ldr r1, [r2, 0x20] - ldr r0, =sub_812445C -_081243A2: - str r0, [r1, 0x1C] -_081243A4: - add sp, 0x28 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124288 - - thumb_func_start sub_81243B0 -sub_81243B0: @ 81243B0 - push {lr} - ldr r3, =gUnknown_0203A144 - ldr r0, [r3] - ldr r2, [r0, 0x20] - cmp r2, 0 - beq _081243CE - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r1, [r0, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_081243CE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81243B0 - - thumb_func_start sub_81243DC -sub_81243DC: @ 81243DC - push {lr} - ldr r0, =gUnknown_0203A144 - ldr r3, [r0] - ldr r1, [r3, 0x20] - cmp r1, 0 - beq _08124452 - adds r0, r3, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0812441C - adds r0, r3, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x30 - strh r0, [r1, 0x20] - ldr r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x42 - strh r0, [r1, 0x22] - ldr r1, [r3, 0x20] - ldr r0, =sub_812445C - b _08124444 - .pool -_0812441C: - adds r0, r3, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - movs r2, 0 - strh r0, [r1, 0x20] - ldr r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x22] - ldr r0, [r3, 0x20] - strh r2, [r0, 0x24] - ldr r0, [r3, 0x20] - strh r2, [r0, 0x26] - ldr r1, [r3, 0x20] - ldr r0, =sub_81244EC -_08124444: - str r0, [r1, 0x1C] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08124452: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81243DC - - thumb_func_start sub_812445C -sub_812445C: @ 812445C - push {r4,lr} - adds r3, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x5C - movs r4, 0 - ldrsh r2, [r0, r4] - lsls r2, 1 - negs r2, r2 - strh r2, [r3, 0x24] - adds r1, 0x5E - movs r4, 0 - ldrsh r0, [r1, r4] - lsls r0, 1 - negs r0, r0 - strh r0, [r3, 0x26] - ldrh r1, [r3, 0x22] - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - strh r0, [r3, 0x2E] - ldrh r1, [r3, 0x20] - adds r1, r2 - adds r2, r3, 0 - adds r2, 0x28 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - adds r2, r1 - strh r2, [r3, 0x30] - adds r0, 0x8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB0 - bhi _081244BC - lsls r0, r2, 16 - asrs r2, r0, 16 - movs r0, 0x8 - negs r0, r0 - cmp r2, r0 - blt _081244BC - cmp r2, 0xF8 - ble _081244C4 -_081244BC: - movs r0, 0 - b _081244C6 - .pool -_081244C4: - movs r0, 0x1 -_081244C6: - strh r0, [r3, 0x32] - movs r1, 0x32 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _081244D8 - adds r0, r3, 0 - bl sub_81244F8 - b _081244E4 -_081244D8: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081244E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812445C - - thumb_func_start sub_81244EC -sub_81244EC: @ 81244EC - push {lr} - bl sub_81244F8 - pop {r0} - bx r0 - thumb_func_end sub_81244EC - - thumb_func_start sub_81244F8 -sub_81244F8: @ 81244F8 - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - adds r0, 0x7E - ldrb r0, [r0] - cmp r0, 0 - beq _0812453C - ldrh r0, [r2, 0x3C] - adds r0, 0x1 - strh r0, [r2, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08124548 - movs r0, 0 - strh r0, [r2, 0x3C] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08124548 - .pool -_0812453C: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08124548: - pop {r0} - bx r0 - thumb_func_end sub_81244F8 - - thumb_func_start sub_812454C -sub_812454C: @ 812454C - push {lr} - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x7F - ldrb r0, [r0] - cmp r0, 0 - beq _08124562 - adds r1, 0x7E - movs r0, 0x1 - strb r0, [r1] -_08124562: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812454C - - thumb_func_start GetMapName -@ u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength) -GetMapName: @ 812456C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - cmp r1, 0x56 - bne _08124584 - bl GetSecretBaseMapName - adds r1, r0, 0 - b _081245B2 -_08124584: - cmp r1, 0xD4 - bhi _081245A0 - ldr r0, =gRegionMapEntries - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl StringCopy - adds r1, r0, 0 - b _081245B2 - .pool -_081245A0: - cmp r4, 0 - bne _081245A6 - movs r4, 0x12 -_081245A6: - adds r0, r5, 0 - movs r1, 0 - adds r2, r4, 0 - bl StringFill - b _081245D6 -_081245B2: - cmp r4, 0 - beq _081245D4 - subs r0, r1, r5 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcs _081245D0 - movs r2, 0 -_081245C2: - strb r2, [r1] - adds r1, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcc _081245C2 -_081245D0: - movs r0, 0xFF - strb r0, [r1] -_081245D4: - adds r0, r1, 0 -_081245D6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetMapName - - thumb_func_start sub_81245DC -sub_81245DC: @ 81245DC - push {lr} - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x56 - beq _081245F8 - cmp r1, 0x57 - bne _08124604 - ldr r1, =gText_Ferry - bl StringCopy - b _0812460A - .pool -_081245F8: - ldr r1, =gText_SecretBase - bl StringCopy - b _0812460A - .pool -_08124604: - movs r2, 0 - bl GetMapName -_0812460A: - pop {r1} - bx r1 - thumb_func_end sub_81245DC - - thumb_func_start sub_8124610 -sub_8124610: @ 8124610 - push {lr} - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x42 - beq _08124620 - bl sub_81245DC - b _08124626 -_08124620: - ldr r1, =gText_Hideout - bl StringCopy -_08124626: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8124610 - - thumb_func_start sub_8124630 -sub_8124630: @ 8124630 - push {r4,r5,lr} - ldr r5, [sp, 0xC] - lsls r0, 16 - ldr r4, =gRegionMapEntries - lsrs r0, 13 - adds r0, r4 - ldrb r4, [r0] - strh r4, [r1] - ldrb r1, [r0, 0x1] - strh r1, [r2] - ldrb r1, [r0, 0x2] - strh r1, [r3] - ldrb r0, [r0, 0x3] - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124630 - - thumb_func_start sub_8124658 -sub_8124658: @ 8124658 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - adds r0, 0x78 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8124658 - - thumb_func_start sub_8124668 -sub_8124668: @ 8124668 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gUnknown_085A1C34 -_08124672: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bne _08124684 - movs r0, 0x1 - b _0812468C - .pool -_08124684: - adds r1, 0x1 - cmp r1, 0x2 - bls _08124672 - movs r0, 0 -_0812468C: - pop {r1} - bx r1 - thumb_func_end sub_8124668 - - thumb_func_start sub_8124690 -sub_8124690: @ 8124690 - push {r4,lr} - sub sp, 0xC - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xA - bls _081246A4 - b _081248AA -_081246A4: - lsls r0, 2 - ldr r1, =_081246B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081246B8: - .4byte _081246E4 - .4byte _08124766 - .4byte _0812477C - .4byte _0812478C - .4byte _0812479C - .4byte _081247E4 - .4byte _081247F8 - .4byte _0812480C - .4byte _0812484C - .4byte _08124852 - .4byte _0812486C -_081246E4: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - ldr r4, =gUnknown_0203A148 - ldr r0, =0x00000a74 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _08124754 - ldr r0, =sub_8086194 - bl SetMainCallback2 - b _081248AA - .pool -_08124754: - bl ResetPaletteFade - bl ResetSpriteData - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - b _0812489C -_08124766: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085A1EE4 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - b _0812489C - .pool -_0812477C: - ldr r0, =gUnknown_085A1EF0 - bl InitWindows - bl DeactivateAllTextPrinters - b _0812489C - .pool -_0812478C: - movs r0, 0 - movs r1, 0x65 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - b _0812489C -_0812479C: - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - bl sub_8122CDC - movs r0, 0 - movs r1, 0 - bl sub_81240D4 - movs r0, 0x1 - movs r1, 0x1 - bl sub_8124288 - ldr r0, [r4] - ldrh r1, [r0, 0x8] - strh r1, [r0, 0x6] - ldr r1, =0x00000a4c - adds r0, r1 - movs r1, 0 - movs r2, 0x10 - bl StringFill - ldr r1, =gUnknown_03001180 - movs r0, 0x1 - str r0, [r1] - bl sub_8124904 - b _0812489C - .pool -_081247E4: - ldr r0, =gUnknown_085A1C58 - ldr r1, =0x0600c000 - bl LZ77UnCompVram - b _0812489C - .pool -_081247F8: - ldr r0, =gUnknown_085A1C90 - ldr r1, =0x0600f000 - bl LZ77UnCompVram - b _0812489C - .pool -_0812480C: - ldr r0, =gUnknown_085A1C38 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r2, =gText_FlyToWhere - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - b _0812489C - .pool -_0812484C: - bl sub_8124A70 - b _0812489C -_08124852: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81248C0 - bl SetVBlankCallback - b _0812489C - .pool -_0812486C: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =sub_8124D14 - bl sub_81248F4 - ldr r0, =sub_81248D4 - bl SetMainCallback2 -_0812489C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081248AA: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124690 - - thumb_func_start sub_81248C0 -sub_81248C0: @ 81248C0 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81248C0 - - thumb_func_start sub_81248D4 -sub_81248D4: @ 81248D4 - push {lr} - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - pop {r0} - bx r0 - .pool - thumb_func_end sub_81248D4 - - thumb_func_start sub_81248F4 -sub_81248F4: @ 81248F4 - ldr r1, =gUnknown_0203A148 - ldr r1, [r1] - str r0, [r1] - movs r0, 0 - strh r0, [r1, 0x4] - bx lr - .pool - thumb_func_end sub_81248F4 - - thumb_func_start sub_8124904 -sub_8124904: @ 8124904 - push {r4-r7,lr} - sub sp, 0xC - ldr r2, =gUnknown_0203A148 - ldr r0, [r2] - ldrb r0, [r0, 0xA] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0812491A - b _08124A2C -_0812491A: - movs r7, 0 - movs r3, 0 - ldr r0, =gUnknown_085A1EDC - mov r12, r0 - adds r5, r2, 0 - movs r6, 0 -_08124926: - ldr r0, [r5] - lsls r1, r3, 3 - mov r2, r12 - adds r4, r1, r2 - ldrh r0, [r0, 0x8] - ldrh r1, [r4, 0x4] - cmp r0, r1 - bne _081249C4 - ldrh r0, [r4, 0x6] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081249CE - ldr r0, [r5] - ldrb r0, [r0, 0xB] - ldr r1, [r4] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl StringLength - movs r7, 0x1 - movs r0, 0 - movs r1, 0 - bl sub_8198070 - movs r0, 0x1 - movs r1, 0 - movs r2, 0x65 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r2, [r5] - adds r2, 0xC - str r7, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldr r0, [r5] - ldrb r0, [r0, 0xB] - ldr r1, [r4] - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x60 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x11 - str r0, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_03001180 - str r7, [r0] - b _081249CE - .pool -_081249C4: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _08124926 -_081249CE: - cmp r7, 0 - bne _08124A62 - ldr r0, =gUnknown_03001180 - ldr r0, [r0] - cmp r0, 0x1 - bne _081249F4 - movs r0, 0x1 - movs r1, 0 - bl sub_8198070 - movs r0, 0 - movs r1, 0 - movs r2, 0x65 - movs r3, 0xD - bl SetWindowBorderStyle - b _081249FC - .pool -_081249F4: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer -_081249FC: - ldr r0, =gUnknown_0203A148 - ldr r2, [r0] - adds r2, 0xC - movs r0, 0x1 - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_03001180 - str r4, [r0] - b _08124A62 - .pool -_08124A2C: - ldr r4, =gUnknown_03001180 - ldr r0, [r4] - cmp r0, 0x1 - bne _08124A48 - movs r0, 0x1 - movs r1, 0 - bl sub_8198070 - movs r0, 0 - movs r1, 0 - movs r2, 0x65 - movs r3, 0xD - bl SetWindowBorderStyle -_08124A48: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - str r0, [r4] -_08124A62: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124904 - - thumb_func_start sub_8124A70 -sub_8124A70: @ 8124A70 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, =gUnknown_085A1D68 - ldr r5, =gUnknown_0203A148 - ldr r1, [r5] - ldr r4, =0x0000088c - adds r1, r4 - bl LZ77UnCompWram - ldr r0, [r5] - adds r0, r4 - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0xE0 - lsls r1, 1 - orrs r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, =gUnknown_085A1F10 - bl LoadSpritePalette - bl sub_8124AD4 - bl sub_8124BE4 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124A70 - - thumb_func_start sub_8124AD4 -sub_8124AD4: @ 8124AD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r0, =0x0000086f - str r0, [sp, 0xC] - movs r1, 0 - mov r9, r1 - mov r2, sp - adds r2, 0x6 - str r2, [sp, 0x14] - mov r3, sp - adds r3, 0xA - str r3, [sp, 0x18] - mov r0, sp - adds r0, 0x8 - str r0, [sp, 0x10] - add r1, sp, 0x4 - mov r10, r1 -_08124AFE: - ldr r2, [sp, 0x18] - str r2, [sp] - mov r0, r9 - add r1, sp, 0x4 - mov r2, sp - adds r2, 0x6 - ldr r3, [sp, 0x10] - bl sub_8124630 - mov r3, r10 - ldrh r0, [r3] - adds r0, 0x1 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r3] - mov r1, sp - ldrh r0, [r1, 0x6] - adds r0, 0x2 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x6] - ldr r2, [sp, 0x10] - ldrh r0, [r2] - cmp r0, 0x2 - bne _08124B38 - movs r7, 0x1 - b _08124B44 - .pool -_08124B38: - ldr r3, [sp, 0x18] - ldrh r0, [r3] - movs r7, 0 - cmp r0, 0x2 - bne _08124B44 - movs r7, 0x2 -_08124B44: - mov r0, r10 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r3, [sp, 0x14] - movs r0, 0 - ldrsh r2, [r3, r0] - ldr r0, =gUnknown_085A1F7C - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _08124BB8 - ldr r1, =gSprites - mov r8, r1 - lsls r4, r5, 4 - adds r0, r4, r5 - lsls r6, r0, 2 - adds r2, r6, r1 - lsls r3, r7, 6 - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x1] - ldr r0, [sp, 0xC] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08124B9C - mov r0, r8 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =sub_8124CBC - str r1, [r0] - b _08124BA2 - .pool -_08124B9C: - adds r0, r7, 0x3 - lsls r0, 16 - lsrs r7, r0, 16 -_08124BA2: - adds r4, r5 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - lsls r1, r7, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - mov r2, r9 - strh r2, [r4, 0x2E] -_08124BB8: - ldr r0, [sp, 0xC] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0xF - bls _08124AFE - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124AD4 - - thumb_func_start sub_8124BE4 -sub_8124BE4: @ 8124BE4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - mov r8, r0 - ldr r6, =gUnknown_085A1F18 - ldrh r0, [r6, 0x2] - cmp r0, 0xD5 - beq _08124C9C - mov r5, sp - adds r5, 0x6 - add r7, sp, 0x4 - ldr r1, =gSprites - mov r9, r1 - movs r0, 0x1C - add r0, r9 - mov r10, r0 -_08124C0C: - mov r1, r8 - lsls r4, r1, 2 - adds r0, r4, r6 - ldrh r0, [r0] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08124C84 - adds r0, r6, 0x2 - adds r0, r4, r0 - ldrh r6, [r0] - mov r0, sp - adds r0, 0xA - str r0, [sp] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - add r3, sp, 0x8 - bl sub_8124630 - ldrh r0, [r7] - adds r0, 0x1 - lsls r0, 3 - strh r0, [r7] - ldrh r0, [r5] - adds r0, 0x2 - lsls r0, 3 - strh r0, [r5] - movs r0, 0 - ldrsh r1, [r7, r0] - movs r0, 0 - ldrsh r2, [r5, r0] - ldr r0, =gUnknown_085A1F7C - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08124C84 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - mov r1, r9 - adds r4, r2, r1 - ldrb r1, [r4, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x3] - add r2, r10 - ldr r0, =sub_8124CBC - str r0, [r2] - adds r0, r4, 0 - movs r1, 0x6 - bl StartSpriteAnim - strh r6, [r4, 0x2E] -_08124C84: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r6, =gUnknown_085A1F18 - lsls r0, 2 - adds r1, r6, 0x2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xD5 - bne _08124C0C -_08124C9C: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124BE4 - - thumb_func_start sub_8124CBC -sub_8124CBC: @ 8124CBC - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldrh r1, [r0, 0x8] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r1, r0 - bne _08124D00 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08124D0E - movs r0, 0 - strh r0, [r2, 0x30] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08124D0E - .pool -_08124D00: - movs r0, 0x10 - strh r0, [r2, 0x30] - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x15 - ands r0, r1 - strb r0, [r2] -_08124D0E: - pop {r0} - bx r0 - thumb_func_end sub_8124CBC - - thumb_func_start sub_8124D14 -sub_8124D14: @ 8124D14 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - ldrh r1, [r0, 0x4] - cmp r1, 0 - beq _08124D2C - cmp r1, 0x1 - beq _08124D46 - b _08124D56 - .pool -_08124D2C: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08124D56 -_08124D46: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08124D56 - ldr r0, =sub_8124D64 - bl sub_81248F4 -_08124D56: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124D14 - - thumb_func_start sub_8124D64 -sub_8124D64: @ 8124D64 - push {r4,lr} - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _08124DF8 - bl sub_81230AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _08124DF8 - lsls r0, 2 - ldr r1, =_08124D90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08124D90: - .4byte _08124DF8 - .4byte _08124DF8 - .4byte _08124DF8 - .4byte _08124DA8 - .4byte _08124DAE - .4byte _08124DE0 -_08124DA8: - bl sub_8124904 - b _08124DF8 -_08124DAE: - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0x2 - beq _08124DBC - cmp r0, 0x4 - bne _08124DF8 -_08124DBC: - movs r0, 0x5 - bl m4aSongNumStart - ldr r0, [r4] - ldr r1, =0x00000a72 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, =sub_8124E0C - bl sub_81248F4 - b _08124DF8 - .pool -_08124DE0: - movs r0, 0x5 - bl m4aSongNumStart - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldr r1, =0x00000a72 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, =sub_8124E0C - bl sub_81248F4 -_08124DF8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124D64 - - thumb_func_start sub_8124E0C -sub_8124E0C: @ 8124E0C - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - ldrh r1, [r0, 0x4] - cmp r1, 0 - beq _08124E24 - cmp r1, 0x1 - beq _08124E3E - b _08124F1A - .pool -_08124E24: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08124F1A -_08124E3E: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08124F1A - bl sub_812305C - ldr r1, [r4] - ldr r2, =0x00000a72 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08124F00 - ldrh r0, [r1, 0x8] - cmp r0, 0xF - beq _08124E98 - cmp r0, 0xF - bgt _08124E6C - cmp r0, 0 - beq _08124E84 - b _08124EBC - .pool -_08124E6C: - cmp r0, 0x3A - beq _08124E7C - cmp r0, 0x49 - bne _08124EBC - movs r0, 0x15 - bl sub_8084CCC - b _08124EFA -_08124E7C: - movs r0, 0x16 - bl sub_8084CCC - b _08124EFA -_08124E84: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - movs r1, 0xD - cmp r0, 0 - bne _08124EB0 - movs r1, 0xC - b _08124EB0 - .pool -_08124E98: - ldr r0, =0x000008b4 - bl FlagGet - lsls r0, 24 - movs r1, 0xB - cmp r0, 0 - beq _08124EB0 - ldr r0, [r4] - ldrb r0, [r0, 0xB] - cmp r0, 0 - bne _08124EB0 - movs r1, 0x14 -_08124EB0: - adds r0, r1, 0 - bl sub_8084CCC - b _08124EFA - .pool -_08124EBC: - ldr r3, =gUnknown_085A1E3C - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldrh r1, [r0, 0x8] - lsls r0, r1, 1 - adds r2, r0, r1 - adds r0, r3, 0x2 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _08124EE0 - bl sub_8084CCC - b _08124EFA - .pool -_08124EE0: - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - bl warp1_set_2 -_08124EFA: - bl sub_80B69DC - b _08124F06 -_08124F00: - ldr r0, =sub_81B58A8 - bl SetMainCallback2 -_08124F06: - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - cmp r0, 0 - beq _08124F16 - bl Free - movs r0, 0 - str r0, [r4] -_08124F16: - bl FreeAllWindowBuffers -_08124F1A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124E0C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s deleted file mode 100644 index 1f5ef83d8..000000000 --- a/asm/reset_rtc_screen.s +++ /dev/null @@ -1,1342 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809E8E8 -sub_809E8E8: @ 809E8E8 - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0809E9FE - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0809E9FE - lsls r0, 2 - ldr r1, =_0809E920 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809E920: - .4byte _0809E938 - .4byte _0809E95C - .4byte _0809E980 - .4byte _0809E9A4 - .4byte _0809E9CE - .4byte _0809E9F8 -_0809E938: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0809E9C6 -_0809E95C: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0809E9C6 -_0809E980: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x65 - b _0809E9C6 -_0809E9A4: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x74 -_0809E9C6: - strh r0, [r3, 0x20] - movs r0, 0x44 - strh r0, [r3, 0x22] - b _0809E9FE -_0809E9CE: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x2 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x42 - ands r0, r1 - strb r0, [r2] - movs r0, 0x99 - strh r0, [r3, 0x20] - movs r0, 0x50 - strh r0, [r3, 0x22] - b _0809E9FE -_0809E9F8: - adds r0, r3, 0 - bl DestroySprite -_0809E9FE: - pop {r0} - bx r0 - thumb_func_end sub_809E8E8 - - thumb_func_start sub_809EA04 -sub_809EA04: @ 809EA04 - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0809EAFE - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0809EAFE - lsls r0, 2 - ldr r1, =_0809EA3C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809EA3C: - .4byte _0809EA54 - .4byte _0809EA78 - .4byte _0809EA9C - .4byte _0809EAC0 - .4byte _0809EAEA - .4byte _0809EAF8 -_0809EA54: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0809EAE2 -_0809EA78: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0809EAE2 -_0809EA9C: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x65 - b _0809EAE2 -_0809EAC0: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x74 -_0809EAE2: - strh r0, [r3, 0x20] - movs r0, 0x5C - strh r0, [r3, 0x22] - b _0809EAFE -_0809EAEA: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0809EAFE -_0809EAF8: - adds r0, r3, 0 - bl DestroySprite -_0809EAFE: - pop {r0} - bx r0 - thumb_func_end sub_809EA04 - - thumb_func_start sub_809EB04 -sub_809EB04: @ 809EB04 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_085104C4 - bl LoadSpritePalette - ldr r0, =gSpriteTemplate_85104F0 - mov r8, r0 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - ldr r6, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r6, 0 - adds r4, 0x1C - adds r2, r0, r4 - ldr r1, =sub_809E8E8 - str r1, [r2] - adds r0, r6 - strh r5, [r0, 0x2E] - ldr r1, =0x0000ffff - strh r1, [r0, 0x30] - mov r0, r8 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r4 - ldr r1, =sub_809EA04 - str r1, [r4] - adds r0, r6 - strh r5, [r0, 0x2E] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EB04 - - thumb_func_start sub_809EB8C -sub_809EB8C: @ 809EB8C - push {lr} - ldr r0, =gUnknown_085104C4 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EB8C - - thumb_func_start sub_809EBA0 -sub_809EBA0: @ 809EBA0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_8198070 - adds r0, r4, 0 - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809EBA0 - - thumb_func_start sub_809EBC4 -sub_809EBC4: @ 809EBC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r10, r0 - adds r0, r1, 0 - mov r9, r2 - adds r1, r3, 0 - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - ldr r2, [sp, 0x38] - mov r8, r2 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r3, r0, 24 - lsrs r3, 24 - str r3, [sp, 0xC] - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r7, =gStringVar4 - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r1, =gText_Day - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r5, =gText_Colon3 - adds r1, r5, 0 - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - adds r1, r5, 0 - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - ldr r2, =gStringVar4 - mov r0, r9 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r10 - movs r1, 0x1 - ldr r3, [sp, 0xC] - bl PrintTextOnWindow - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EBC4 - - thumb_func_start sub_809ECB4 -sub_809ECB4: @ 809ECB4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - adds r4, r0, 0 - mov r9, r1 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r0, [sp, 0x24] - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0x85 - lsls r2, 2 - adds r0, r4, 0 - movs r1, 0 - movs r3, 0xE - bl SetWindowBorderStyle - str r5, [sp] - str r6, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - mov r3, r9 - bl sub_809EBC4 - ldr r2, =gText_Confirm2 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x7E - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809ECB4 - - thumb_func_start sub_809ED38 -sub_809ED38: @ 809ED38 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r3, 16 - lsrs r3, 16 - adds r1, r3, 0 - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0809ED52 - ldrh r0, [r4] - subs r0, 0x1 - b _0809ED6C -_0809ED52: - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - beq _0809ED60 - ldrh r0, [r4] - adds r0, 0x1 - b _0809ED8A -_0809ED60: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0809ED7A - ldrh r0, [r4] - subs r0, 0xA -_0809ED6C: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r5 - bge _0809ED96 - strh r2, [r4] - b _0809ED96 -_0809ED7A: - movs r0, 0x10 - ands r1, r0 - cmp r1, 0 - bne _0809ED86 - movs r0, 0 - b _0809ED98 -_0809ED86: - ldrh r0, [r4] - adds r0, 0xA -_0809ED8A: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r2 - ble _0809ED96 - strh r5, [r4] -_0809ED96: - movs r0, 0x1 -_0809ED98: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809ED38 - - thumb_func_start sub_809EDA0 -sub_809EDA0: @ 809EDA0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - bx lr - .pool - thumb_func_end sub_809EDA0 - - thumb_func_start sub_809EDB8 -sub_809EDB8: @ 809EDB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r0, r4, r5 - ldrb r0, [r0, 0x10] - bl sub_809EBA0 - bl sub_809EB8C - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_809EDA0 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EDB8 - - thumb_func_start sub_809EDE8 -sub_809EDE8: @ 809EDE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r5, r7, r0 - ldrb r4, [r5, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - ldr r1, =gUnknown_08510420 - 0x4 - adds r2, r0, r1 - ldr r1, =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x2 - ands r0, r3 - mov r12, r1 - cmp r0, 0 - beq _0809EE3C - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, =sub_809EDB8 - str r1, [r0] - movs r0, 0 - strh r0, [r5, 0x2] - movs r0, 0x6 - b _0809EE5C - .pool -_0809EE3C: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _0809EE4A - ldrb r0, [r2, 0x7] - cmp r0, 0 - bne _0809EE5C -_0809EE4A: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0809EE66 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _0809EE66 -_0809EE5C: - strh r0, [r5, 0x4] - movs r0, 0x5 - bl PlaySE - b _0809EEF4 -_0809EE66: - cmp r4, 0x5 - bne _0809EEB4 - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0809EEF4 - ldr r1, =gLocalTime - ldrh r0, [r5, 0x6] - strh r0, [r1] - ldrh r0, [r5, 0x8] - strb r0, [r1, 0x2] - ldrh r0, [r5, 0xA] - strb r0, [r1, 0x3] - ldrh r0, [r5, 0xC] - strb r0, [r1, 0x4] - movs r0, 0x5 - bl PlaySE - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_809EDB8 - str r1, [r0] - strh r4, [r5, 0x2] - movs r0, 0x6 - strh r0, [r5, 0x4] - b _0809EEF4 - .pool -_0809EEB4: - ldrb r0, [r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r1, [r2, 0x2] - ldrh r2, [r2, 0x4] - mov r3, r12 - ldrh r4, [r3, 0x30] - movs r3, 0xC0 - ands r3, r4 - bl sub_809ED38 - cmp r0, 0 - beq _0809EEF4 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r5, 0x10] - ldrh r3, [r5, 0x6] - ldrb r1, [r5, 0x8] - str r1, [sp] - ldrb r1, [r5, 0xA] - str r1, [sp, 0x4] - ldrb r1, [r5, 0xC] - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x1 - bl sub_809EBC4 - ldrb r0, [r5, 0x10] - movs r1, 0x2 - bl CopyWindowToVram -_0809EEF4: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809EDE8 - - thumb_func_start sub_809EF00 -sub_809EF00: @ 809EF00 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, r0, 2 - add r6, r8 - lsls r6, 3 - ldr r0, =gTasks + 0x8 - mov r9, r0 - adds r5, r6, r0 - movs r0, 0 - strh r0, [r5] - ldr r1, =gLocalTime - ldrh r0, [r1] - strh r0, [r5, 0x6] - movs r0, 0x2 - ldrsb r0, [r1, r0] - strh r0, [r5, 0x8] - movs r0, 0x3 - ldrsb r0, [r1, r0] - strh r0, [r5, 0xA] - movs r0, 0x4 - ldrsb r0, [r1, r0] - strh r0, [r5, 0xC] - ldr r0, =gUnknown_08510420 - bl AddWindow - strh r0, [r5, 0x10] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x6] - ldrb r2, [r5, 0x8] - ldrb r3, [r5, 0xA] - ldrb r4, [r5, 0xC] - str r4, [sp] - bl sub_809ECB4 - mov r0, r8 - bl sub_809EB04 - movs r0, 0x2 - strh r0, [r5, 0x4] - movs r0, 0x8 - negs r0, r0 - add r9, r0 - add r6, r9 - ldr r0, =sub_809EDE8 - str r0, [r6] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EF00 - - thumb_func_start sub_809EF88 -sub_809EF88: @ 809EF88 - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl SetVBlankCallback - movs r2, 0xA0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, =0x81000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0809EFCA: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _0809EFCA - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - bl LoadOam - bl remove_some_task - bl dp12_8087EA4 - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - bl sub_809F048 - ldr r0, =sub_809F0AC - bl SetVBlankCallback - ldr r0, =sub_809F090 - bl SetMainCallback2 - ldr r0, =sub_809F200 - movs r1, 0x50 - bl CreateTask - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EF88 - - thumb_func_start sub_809F048 -sub_809F048: @ 809F048 - push {lr} - bl clear_scheduled_bg_copies_to_vram - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08510404 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - ldr r0, =gUnknown_08510408 - bl InitWindows - bl DeactivateAllTextPrinters - bl sub_81973A4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F048 - - thumb_func_start sub_809F090 -sub_809F090: @ 809F090 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_809F090 - - thumb_func_start sub_809F0AC -sub_809F0AC: @ 809F0AC - push {lr} - bl ProcessSpriteCopyRequests - bl LoadOam - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_809F0AC - - thumb_func_start sub_809F0C0 -sub_809F0C0: @ 809F0C0 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - movs r1, 0 - movs r3, 0xF - bl sub_8197B1C - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809F0C0 - - thumb_func_start sub_809F0F8 -sub_809F0F8: @ 809F0F8 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r0, 0 - ldrsh r5, [r6, r0] - cmp r5, 0 - beq _0809F11C - cmp r5, 0x1 - beq _0809F1B2 - b _0809F1F8 - .pool -_0809F11C: - movs r2, 0x85 - lsls r2, 2 - movs r0, 0 - movs r1, 0 - movs r3, 0xE - bl SetWindowBorderStyle - ldr r2, =gText_PresentTime - movs r0, 0x1 - str r0, [sp] - movs r4, 0xFF - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldr r1, =gLocalTime - ldrh r3, [r1] - ldrb r0, [r1, 0x2] - str r0, [sp] - ldrb r0, [r1, 0x3] - str r0, [sp, 0x4] - ldrb r0, [r1, 0x4] - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x11 - bl sub_809EBC4 - ldr r2, =gText_PreviousTime - movs r0, 0x21 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xA0 - ldrh r3, [r0] - adds r0, 0x2 - ldrb r0, [r0] - str r0, [sp] - adds r0, r1, 0 - adds r0, 0xA3 - ldrb r0, [r0] - str r0, [sp, 0x4] - adds r0, r1, 0 - adds r0, 0xA4 - ldrb r0, [r0] - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x31 - bl sub_809EBC4 - ldr r0, =gText_ResetRTCConfirmCancel - bl sub_809F0C0 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_0809F1B2: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809F1E4 - adds r0, r7, 0 - bl DestroyTask - bl DoSoftReset - b _0809F1F8 - .pool -_0809F1E4: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809F1F8 - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl DestroyTask -_0809F1F8: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809F0F8 - - thumb_func_start sub_809F200 -sub_809F200: @ 809F200 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x6 - bls _0809F21C - b _0809F404 -_0809F21C: - lsls r0, 2 - ldr r1, =_0809F230 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809F230: - .4byte _0809F24C - .4byte _0809F268 - .4byte _0809F2B4 - .4byte _0809F310 - .4byte _0809F398 - .4byte _0809F3C8 - .4byte _0809F3EA -_0809F24C: - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - strh r0, [r5] - b _0809F404 - .pool -_0809F268: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809F276 - b _0809F404 -_0809F276: - ldr r0, =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _0809F282 - cmp r0, 0x2 - bne _0809F29C -_0809F282: - ldr r0, =gText_NoSaveFileCantSetTime - bl sub_809F0C0 - movs r0, 0x5 - strh r0, [r5] - b _0809F404 - .pool -_0809F29C: - bl RtcCalcLocalTime - ldr r0, =sub_809F0F8 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - b _0809F334 - .pool -_0809F2B4: - ldr r2, =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0x1 - bne _0809F2CA - b _0809F404 -_0809F2CA: - movs r0, 0 - movs r1, 0 - bl sub_8198070 - ldr r0, =gText_PleaseResetTime - bl sub_809F0C0 - ldr r2, =gLocalTime - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xA0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, =sub_809EF00 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - movs r0, 0x3 - strh r0, [r5] - b _0809F404 - .pool -_0809F310: - ldr r2, =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0809F404 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0809F340 - ldrb r0, [r5, 0x2] - bl DestroyTask -_0809F334: - movs r0, 0x2 - strh r0, [r5] - b _0809F404 - .pool -_0809F340: - ldrb r0, [r5, 0x2] - bl DestroyTask - bl RtcReset - ldr r4, =gLocalTime - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x2 - ldrsb r1, [r4, r1] - movs r2, 0x3 - ldrsb r2, [r4, r2] - movs r3, 0x4 - ldrsb r3, [r4, r3] - bl RtcCalcLocalTimeOffset - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - adds r2, 0xA0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, =0x00004040 - ldrh r1, [r4] - bl VarSet - bl DisableResetRTC - ldr r0, =gText_ClockHasBeenReset - bl sub_809F0C0 - movs r0, 0x4 - strh r0, [r5] - b _0809F404 - .pool -_0809F398: - movs r0, 0 - bl TrySavingData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F3B8 - ldr r0, =gText_SaveCompleted - bl sub_809F0C0 - movs r0, 0x49 - bl PlaySE - b _0809F3C4 - .pool -_0809F3B8: - ldr r0, =gText_SaveFailed - bl sub_809F0C0 - movs r0, 0x16 - bl PlaySE -_0809F3C4: - movs r0, 0x5 - strh r0, [r5] -_0809F3C8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809F404 - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x6 - strh r0, [r5] -_0809F3EA: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809F404 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - bl DoSoftReset -_0809F404: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F200 - - thumb_func_start sub_809F41C -sub_809F41C: @ 809F41C - push {lr} - ldr r0, =0x00000861 - bl FlagSet - movs r0, 0x86 - lsls r0, 4 - bl FlagSet - ldr r0, =0x00000862 - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F41C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom6.s b/asm/rom6.s index 87b780ba5..cc02638bc 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -31,7 +31,7 @@ npc_before_player_of_type: @ 8135424 ldrb r0, [r2, 0x5] cmp r0, r5 bne _08135470 - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked ldrb r0, [r2, 0x8] strh r0, [r1] movs r0, 0x1 @@ -262,13 +262,13 @@ sub_8135654: @ 8135654 lsls r0, 24 cmp r0, 0 beq _0813568C - ldr r4, =gScriptResult - bl brm_get_pokemon_selection + ldr r4, =gSpecialVar_Result + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r4] ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_8179834 @@ -285,7 +285,7 @@ _0813568C: b _081356AC _0813569E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_81356C4 @@ -302,12 +302,12 @@ _081356AC: thumb_func_start sub_81356C4 sub_81356C4: @ 81356C4 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_082907F0 + ldr r0, =Route111_EventScript_2907F0 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -361,7 +361,7 @@ sub_813572C: @ 813572C b _0813574C _0813573E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_dig @@ -379,7 +379,7 @@ hm2_dig: @ 8135760 bl flagmods_08054D70 movs r0, 0x26 bl FieldEffectStart - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -448,12325 +448,4 @@ _081357EE: .pool thumb_func_end sub_81357BC - thumb_func_start sub_81357FC -sub_81357FC: @ 81357FC - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0203AB50 - ldr r0, =0x00000e88 - bl Alloc - str r0, [r5] - ldr r2, =0x00000809 - adds r0, r2 - movs r3, 0 - strb r4, [r0] - ldr r0, [r5] - movs r4, 0x80 - lsls r4, 4 - adds r1, r0, r4 - str r3, [r1] - ldr r1, =0x00000e7c - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r5] - ldr r4, =0x00000e7d - adds r0, r4 - strb r3, [r0] - ldr r0, =gUnknown_0203AB48 - str r6, [r0] - ldr r5, [r5] - adds r2, r5, r2 - ldrb r2, [r2] - cmp r2, 0x2 - beq _08135888 - cmp r2, 0x2 - bgt _08135864 - cmp r2, 0x1 - beq _0813586A - b _081358C0 - .pool -_08135864: - cmp r2, 0x3 - beq _081358A4 - b _081358C0 -_0813586A: - ldr r0, =0x00000804 - adds r1, r5, r0 - ldr r0, =gUnknown_085B269B - str r0, [r1] - ldr r4, =0x00000808 - adds r1, r5, r4 - movs r0, 0x2 - b _081358D2 - .pool -_08135888: - ldr r1, =0x00000804 - adds r0, r5, r1 - ldr r1, =gUnknown_085B269D - str r1, [r0] - ldr r4, =0x00000808 - adds r0, r5, r4 - strb r2, [r0] - b _081358D4 - .pool -_081358A4: - ldr r0, =0x00000804 - adds r1, r5, r0 - ldr r0, =gUnknown_085B269F - str r0, [r1] - ldr r4, =0x00000808 - adds r1, r5, r4 - movs r0, 0x2 - b _081358D2 - .pool -_081358C0: - ldr r0, =gUnknown_0203AB50 - ldr r1, [r0] - ldr r0, =0x00000804 - adds r2, r1, r0 - ldr r0, =gUnknown_085B2698 - str r0, [r2] - ldr r4, =0x00000808 - adds r1, r4 - movs r0, 0x3 -_081358D2: - strb r0, [r1] -_081358D4: - ldr r0, =sub_813594C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81357FC - - thumb_func_start sub_81358F4 -sub_81358F4: @ 81358F4 - push {lr} - ldr r1, =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x1 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81358F4 - - thumb_func_start sub_8135908 -sub_8135908: @ 8135908 - push {lr} - ldr r1, =c2_exit_to_overworld_2_switch - movs r0, 0x2 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135908 - - thumb_func_start sub_813591C -sub_813591C: @ 813591C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_813591C - - thumb_func_start sub_8135938 -sub_8135938: @ 8135938 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8135938 - - thumb_func_start sub_813594C -sub_813594C: @ 813594C - push {lr} -_0813594E: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08135972 - bl sub_8135978 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08135972 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813594E -_08135972: - pop {r0} - bx r0 - thumb_func_end sub_813594C - - thumb_func_start sub_8135978 -sub_8135978: @ 8135978 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _0813598C - b _08135BB8 -_0813598C: - lsls r0, 2 - ldr r1, =_081359A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081359A0: - .4byte _081359EC - .4byte _081359F6 - .4byte _08135A08 - .4byte _08135A0E - .4byte _08135A30 - .4byte _08135A36 - .4byte _08135A54 - .4byte _08135A70 - .4byte _08135A8C - .4byte _08135A9A - .4byte _08135AC4 - .4byte _08135ADC - .4byte _08135AFC - .4byte _08135B02 - .4byte _08135B14 - .4byte _08135B1A - .4byte _08135B64 - .4byte _08135B6A - .4byte _08135B84 -_081359EC: - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - b _08135B9E -_081359F6: - bl remove_some_task - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135A08: - bl FreeAllSpritePalettes - b _08135B9E -_08135A0E: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135A30: - bl ResetSpriteData - b _08135B9E -_08135A36: - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000809 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08135A46 - b _08135B9E -_08135A46: - bl ResetTasks - b _08135B9E - .pool -_08135A54: - bl sub_8135BDC - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7e - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _08135B9E - .pool -_08135A70: - bl sub_8135C38 - lsls r0, 24 - cmp r0, 0 - bne _08135A7C - b _08135BD0 -_08135A7C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135A8C: - bl sub_813625C - bl sub_81362E0 - bl sub_8136344 - b _08135B9E -_08135A9A: - movs r0, 0x38 - movs r1, 0x40 - movs r2, 0 - bl sub_8136444 - ldr r1, =gUnknown_0203AB50 - ldr r1, [r1] - ldr r2, =0x00000e74 - adds r1, r2 - strb r0, [r1] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135AC4: - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e75 - adds r0, r1 - movs r1, 0x7 - bl sub_8122344 - b _08135B9E - .pool -_08135ADC: - ldr r0, =gUnknown_0203AB48 - ldrh r0, [r0, 0x4] - ldr r1, =0x00001005 - bl sub_8136110 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135AFC: - bl sub_8135D24 - b _08135B9E -_08135B02: - bl sub_8135E2C - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135B14: - bl sub_81363BC - b _08135B9E -_08135B1A: - ldr r0, =sub_81365C8 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_03006310 - ldr r2, =gUnknown_0203AB48 - ldrh r1, [r2, 0x6] - ldrh r2, [r2, 0x4] - bl ListMenuInit - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135B64: - bl sub_8135DAC - b _08135B9E -_08135B6A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135B84: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] -_08135B9E: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_08135BA6: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08135BD0 - .pool -_08135BB8: - ldr r0, =sub_8135938 - bl SetVBlankCallback - ldr r0, =sub_813591C - bl SetMainCallback2 - movs r0, 0x1 - b _08135BD2 - .pool -_08135BD0: - movs r0, 0 -_08135BD2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8135978 - - thumb_func_start sub_8135BDC -sub_8135BDC: @ 8135BDC - push {lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B2620 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203AB50 - ldr r1, [r0] - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135BDC - - thumb_func_start sub_8135C38 -sub_8135C38: @ 8135C38 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7e - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x5 - bhi _08135D18 - lsls r0, 2 - ldr r1, =_08135C64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08135C64: - .4byte _08135C7C - .4byte _08135C98 - .4byte _08135CBC - .4byte _08135CCC - .4byte _08135CD8 - .4byte _08135CFC -_08135C7C: - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9B2B4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08135CDE - .pool -_08135C98: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08135D18 - ldr r0, =gUnknown_08D9B7C8 - ldr r4, =gUnknown_0203AB50 - ldr r1, [r4] - bl LZDecompressWram - ldr r1, [r4] - b _08135CE2 - .pool -_08135CBC: - ldr r0, =gUnknown_08D9B470 - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - b _08135CDE - .pool -_08135CCC: - ldr r0, =gUnknown_085B26F4 - bl LoadCompressedObjectPic - b _08135CDE - .pool -_08135CD8: - ldr r0, =gUnknown_085B26FC - bl LoadCompressedObjectPalette -_08135CDE: - ldr r0, =gUnknown_0203AB50 - ldr r1, [r0] -_08135CE2: - ldr r0, =0x00000e7e - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08135D18 - .pool -_08135CFC: - bl sub_8122328 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7e - adds r0, r1 - movs r1, 0 - strh r1, [r0] - movs r0, 0x1 - b _08135D1A - .pool -_08135D18: - movs r0, 0 -_08135D1A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8135C38 - - thumb_func_start sub_8135D24 -sub_8135D24: @ 8135D24 - push {r4,lr} - ldr r0, =gUnknown_085B2748 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl sub_809882C - movs r0, 0 - movs r1, 0xA - movs r2, 0xD0 - bl copy_textbox_border_tile_patterns_to_vram - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_08135D50: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _08135D50 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135D24 - - thumb_func_start sub_8135D7C -sub_8135D7C: @ 8135D7C - push {r4,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - ldr r3, =gUnknown_085B271C - str r3, [sp, 0x8] - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135D7C - - thumb_func_start sub_8135DAC -sub_8135DAC: @ 8135DAC - push {r4,lr} - ldr r0, =0x00000111 - bl ItemId_GetItem - adds r4, r0, 0 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x48 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - movs r0, 0 - adds r1, r4, 0 - bl sub_8135D7C - ldr r1, =gText_Spicy - movs r0, 0x2 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Dry - movs r0, 0x3 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Sweet - movs r0, 0x4 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Bitter - movs r0, 0x5 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Sour - movs r0, 0x6 - movs r2, 0 - bl sub_8135D7C - movs r4, 0 -_08135DFE: - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _08135DFE - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135DAC - - thumb_func_start sub_8135E2C -sub_8135E2C: @ 8135E2C - push {r4-r7,lr} - movs r6, 0 - ldr r1, =gUnknown_0203AB50 - ldr r0, [r1] - ldr r2, =0x0000080a - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - bge _08135E7C - adds r5, r1, 0 -_08135E42: - lsls r4, r6, 5 - ldr r3, =0x00000954 - adds r4, r3 - ldr r0, [r5] - adds r0, r4 - adds r1, r6, 0 - bl sub_8135F04 - ldr r1, [r5] - lsls r2, r6, 3 - ldr r7, =0x0000080c - adds r0, r1, r7 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - movs r3, 0x81 - lsls r3, 4 - adds r0, r1, r3 - adds r0, r2 - str r6, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r4, =0x0000080a - adds r1, r4 - ldrb r0, [r1] - subs r0, 0x1 - cmp r6, r0 - blt _08135E42 -_08135E7C: - ldr r5, =gUnknown_0203AB50 - lsls r4, r6, 5 - ldr r7, =0x00000954 - adds r4, r7 - ldr r0, [r5] - adds r0, r4 - ldr r1, =gText_StowCase - bl StringCopy - ldr r1, [r5] - lsls r2, r6, 3 - ldr r3, =0x0000080c - adds r0, r1, r3 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - movs r0, 0x81 - lsls r0, 4 - adds r1, r0 - adds r1, r2 - movs r0, 0x2 - negs r0, r0 - str r0, [r1] - ldr r2, =gUnknown_03006310 - adds r1, r2, 0 - ldr r0, =gUnknown_085B27B0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldrb r1, [r2, 0x17] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - movs r1, 0x7 - orrs r0, r1 - strb r0, [r2, 0x17] - ldr r1, [r5] - ldr r4, =0x0000080a - adds r0, r1, r4 - ldrb r0, [r0] - strh r0, [r2, 0xC] - adds r3, r1, r3 - str r3, [r2] - ldr r6, =0x0000080b - adds r1, r6 - ldrb r0, [r1] - strh r0, [r2, 0xE] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135E2C - - thumb_func_start sub_8135F04 -sub_8135F04: @ 8135F04 - push {r4-r6,lr} - lsls r1, 16 - ldr r2, =gSaveBlock1Ptr - lsrs r1, 13 - ldr r3, =0x00000848 - adds r1, r3 - ldr r5, [r2] - adds r5, r1 - ldr r2, =gPokeblockNames - ldrb r1, [r5] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - adds r4, r0, 0 - movs r0, 0xFC - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x12 - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x57 - strb r0, [r4] - adds r4, 0x1 - ldr r6, =gStringVar1 - adds r0, r5, 0 - bl sub_8136EA4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, =gText_LvVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135F04 - - thumb_func_start sub_8135F70 -sub_8135F70: @ 8135F70 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _08135F9C - movs r0, 0x5 - bl PlaySE - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e74 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_8136470 - str r1, [r0] -_08135F9C: - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7d - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08135FB0 - adds r0, r4, 0 - bl sub_8135FCC -_08135FB0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135F70 - - thumb_func_start sub_8135FCC -sub_8135FCC: @ 8135FCC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x7 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081360A0 - ldr r1, =gSaveBlock1Ptr - lsls r0, r4, 3 - ldr r2, =0x00000848 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - mov r8, r1 - add r1, sp, 0x8 - movs r0, 0x17 - strh r0, [r1] - movs r0, 0x18 - strh r0, [r1, 0x2] - movs r5, 0 - adds r6, r1, 0 -_08136002: - adds r4, r5, 0x1 - lsls r1, r4, 24 - lsrs r1, 24 - mov r0, r8 - bl sub_8136F9C - lsls r0, 16 - adds r7, r4, 0 - cmp r0, 0 - ble _0813602C - lsls r1, r5, 12 - adds r0, r1, 0 - adds r0, 0x17 - strh r0, [r6] - adds r1, 0x18 - strh r1, [r6, 0x2] - b _08136032 - .pool -_0813602C: - movs r0, 0xF - strh r0, [r6] - strh r0, [r6, 0x2] -_08136032: - adds r0, r5, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 1 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl __umodsi3 - adds r3, r0, 0 - lsls r3, 25 - movs r0, 0xD0 - lsls r0, 20 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - add r1, sp, 0x8 - adds r2, r4, 0 - bl CopyToBgTilemapBufferRect - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08136002 - ldr r4, =gStringVar1 - mov r0, r8 - bl sub_8136EDC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x4 - bl sub_8135D7C - b _081360F8 - .pool -_081360A0: - add r0, sp, 0x8 - movs r1, 0xF - strh r1, [r0] - strh r1, [r0, 0x2] - movs r5, 0 -_081360AA: - adds r0, r5, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 1 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl __umodsi3 - adds r3, r0, 0 - lsls r3, 25 - movs r2, 0xD0 - lsls r2, 20 - adds r3, r2 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - add r1, sp, 0x8 - adds r2, r4, 0 - bl CopyToBgTilemapBufferRect - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _081360AA - movs r0, 0x7 - movs r1, 0x2 - bl CopyWindowToVram -_081360F8: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8135FCC - - thumb_func_start sub_8136110 -sub_8136110: @ 8136110 - push {lr} - sub sp, 0x8 - adds r3, r0, 0 - lsls r3, 16 - lsls r1, 16 - lsrs r1, 16 - lsrs r3, 15 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0xE - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r2, 0xF - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_8136110 - - thumb_func_start sub_8136140 -sub_8136140: @ 8136140 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 -_0813614A: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r6, r0, 16 - mov r12, r1 - cmp r6, 0x27 - bhi _08136192 - ldr r0, =gSaveBlock1Ptr - mov r9, r0 - lsls r7, r2, 3 - ldr r1, =0x00000848 - mov r8, r1 -_08136160: - mov r0, r9 - ldr r2, [r0] - adds r0, r2, r7 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0 - bne _08136188 - ldr r1, =0x00000848 - adds r2, r1 - adds r3, r2, r7 - ldr r4, [r3] - ldr r5, [r3, 0x4] - lsls r0, r6, 3 - adds r2, r0 - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [r3] - str r1, [r3, 0x4] - str r4, [r2] - str r5, [r2, 0x4] -_08136188: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x27 - bls _08136160 -_08136192: - mov r1, r12 - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, 0x26 - bls _0813614A - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136140 - - thumb_func_start sub_81361B0 -sub_81361B0: @ 81361B0 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00000848 - adds r6, r0, r1 - cmp r4, r5 - beq _08136246 - movs r0, 0x8 - bl Alloc - adds r7, r0, 0 - lsls r0, r4, 3 - adds r0, r6 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r7] - str r1, [r7, 0x4] - cmp r5, r4 - bls _0813620C - subs r5, 0x1 - lsls r3, r4, 16 - lsls r0, r5, 16 - asrs r1, r0, 16 - cmp r3, r0 - bge _08136234 - adds r4, r1, 0 -_081361E8: - asrs r3, 16 - lsls r2, r3, 3 - adds r2, r6 - ldr r0, [r2, 0x8] - ldr r1, [r2, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - adds r3, 0x1 - lsls r3, 16 - asrs r0, r3, 16 - cmp r0, r4 - blt _081361E8 - b _08136234 - .pool -_0813620C: - lsls r3, r4, 16 - lsls r0, r5, 16 - asrs r1, r0, 16 - cmp r3, r0 - ble _08136234 - adds r4, r1, 0 -_08136218: - asrs r3, 16 - lsls r2, r3, 3 - adds r2, r6 - adds r0, r2, 0 - subs r0, 0x8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - subs r3, 0x1 - lsls r3, 16 - asrs r0, r3, 16 - cmp r0, r4 - bgt _08136218 -_08136234: - lsls r2, r5, 3 - adds r2, r6 - ldr r0, [r7] - ldr r1, [r7, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - adds r0, r7, 0 - bl Free -_08136246: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81361B0 - - thumb_func_start sub_813624C -sub_813624C: @ 813624C - ldr r1, =gUnknown_0203AB48 - movs r0, 0 - strh r0, [r1, 0x4] - strh r0, [r1, 0x6] - bx lr - .pool - thumb_func_end sub_813624C - - thumb_func_start sub_813625C -sub_813625C: @ 813625C - push {r4,r5,lr} - bl sub_8136140 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x0000080a - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - ldr r4, =0x00000848 -_08136274: - ldr r0, [r5] - lsls r1, r2, 3 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - ldr r3, =gUnknown_0203AB50 - cmp r0, 0 - beq _08136290 - ldr r1, [r3] - ldr r0, =0x0000080a - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08136290: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _08136274 - ldr r0, [r3] - ldr r2, =0x0000080a - adds r0, r2 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, [r3] - adds r2, r0, r2 - ldrb r2, [r2] - cmp r2, 0x9 - bls _081362D0 - ldr r2, =0x0000080b - adds r1, r0, r2 - movs r0, 0x9 - strb r0, [r1] - b _081362D6 - .pool -_081362D0: - ldr r1, =0x0000080b - adds r0, r1 - strb r2, [r0] -_081362D6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813625C - - thumb_func_start sub_81362E0 -sub_81362E0: @ 81362E0 - push {r4,r5,lr} - ldr r0, =gUnknown_0203AB48 - ldrh r1, [r0, 0x6] - adds r3, r0, 0 - ldr r4, =gUnknown_0203AB50 - cmp r1, 0 - beq _08136308 - ldrh r0, [r3, 0x6] - ldr r1, [r4] - ldr r5, =0x0000080b - adds r2, r1, r5 - ldrb r2, [r2] - adds r0, r2 - subs r5, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - ble _08136308 - subs r0, r1, r2 - strh r0, [r3, 0x6] -_08136308: - adds r2, r3, 0 - ldrh r1, [r2, 0x6] - ldrh r0, [r2, 0x4] - adds r1, r0 - ldr r0, [r4] - ldr r4, =0x0000080a - adds r0, r4 - ldrb r0, [r0] - cmp r1, r0 - blt _0813633C - adds r1, r0, 0 - cmp r1, 0 - bne _08136338 - strh r1, [r2, 0x4] - b _0813633C - .pool -_08136338: - subs r0, 0x1 - strh r0, [r3, 0x4] -_0813633C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81362E0 - - thumb_func_start sub_8136344 -sub_8136344: @ 8136344 - push {r4-r7,lr} - ldr r0, =gUnknown_0203AB48 - ldrh r1, [r0, 0x4] - adds r5, r0, 0 - cmp r1, 0x4 - bls _081363A4 - movs r4, 0 - ldrh r0, [r5, 0x4] - subs r0, 0x4 - cmp r4, r0 - bge _081363A4 - ldrh r2, [r5, 0x6] - ldr r6, =gUnknown_0203AB50 - ldr r0, [r6] - ldr r3, =0x0000080b - adds r1, r0, r3 - ldrb r1, [r1] - adds r2, r1 - ldr r7, =0x0000080a - adds r0, r7 - ldrb r0, [r0] - cmp r2, r0 - beq _081363A4 - adds r3, r5, 0 -_08136374: - ldrh r0, [r3, 0x4] - subs r0, 0x1 - strh r0, [r3, 0x4] - ldrh r0, [r3, 0x6] - adds r0, 0x1 - strh r0, [r3, 0x6] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r3, 0x4] - subs r0, 0x4 - cmp r4, r0 - bge _081363A4 - ldrh r2, [r5, 0x6] - ldr r1, [r6] - ldr r7, =0x0000080b - adds r0, r1, r7 - ldrb r0, [r0] - adds r2, r0 - ldr r0, =0x0000080a - adds r1, r0 - ldrb r1, [r1] - cmp r2, r1 - bne _08136374 -_081363A4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136344 - - thumb_func_start sub_81363BC -sub_81363BC: @ 81363BC - push {r4,lr} - sub sp, 0x10 - ldr r4, =gUnknown_0203AB50 - ldr r1, [r4] - ldr r2, =0x00000e7c - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081363FC - ldr r2, =0x0000080a - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - subs r0, r1 - str r0, [sp] - ldr r0, =0x00000456 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldr r0, =gUnknown_0203AB4E - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xB0 - movs r2, 0x8 - movs r3, 0x98 - bl AddScrollIndicatorArrowPairParametrized - ldr r1, [r4] - ldr r2, =0x00000e7c - adds r1, r2 - strb r0, [r1] -_081363FC: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81363BC - - thumb_func_start sub_8136418 -sub_8136418: @ 8136418 - push {r4,lr} - ldr r4, =gUnknown_0203AB50 - ldr r0, [r4] - ldr r2, =0x00000e7c - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08136436 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r1, =0x00000e7c - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] -_08136436: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136418 - - thumb_func_start sub_8136444 -sub_8136444: @ 8136444 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_085B2704 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8136444 - - thumb_func_start sub_8136470 -sub_8136470: @ 8136470 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - ble _08136480 - movs r0, 0 - strh r0, [r4, 0x2E] -_08136480: - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _0813648E - cmp r5, 0x1 - beq _081364B4 - b _081364E0 -_0813648E: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, =gUnknown_085B26F0 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - b _081364E0 - .pool -_081364B4: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _081364E0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - strh r2, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081364E0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136470 - - thumb_func_start sub_81364EC -sub_81364EC: @ 81364EC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8136524 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81364EC - - thumb_func_start sub_8136524 -sub_8136524: @ 8136524 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r2, r0, r1 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081365BE - ldr r6, =gUnknown_0203AB50 - ldr r0, [r6] - ldr r1, =0x00000809 - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813655A - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] -_0813655A: - ldrb r0, [r2] - ldr r4, =gUnknown_0203AB4E - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_81AE6C8 - bl sub_8136418 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, [r6] - movs r1, 0x80 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _081365A4 - bl SetMainCallback2 - b _081365AC - .pool -_081365A4: - subs r0, r4, 0x6 - ldr r0, [r0] - bl SetMainCallback2 -_081365AC: - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - bl Free - adds r0, r5, 0 - bl DestroyTask -_081365BE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136524 - - thumb_func_start sub_81365C8 -sub_81365C8: @ 81365C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - mov r8, r0 - ldr r0, =gTasks + 0x8 - mov r10, r0 - mov r6, r8 - add r6, r10 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081365F4 - b _08136708 -_081365F4: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08136602 - b _08136708 -_08136602: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0 - beq _08136688 - ldrb r0, [r6] - ldr r4, =gUnknown_0203AB4E - subs r2, r4, 0x2 - adds r1, r4, 0 - bl get_coro_args_x18_x1A - subs r4, 0x6 - ldrh r1, [r4, 0x6] - ldrh r0, [r4, 0x4] - adds r1, r0 - ldr r5, =gUnknown_0203AB50 - ldr r0, [r5] - ldr r2, =0x0000080a - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _08136708 - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x4] - ldr r1, =0x00002005 - bl sub_8136110 - ldrh r0, [r4, 0x4] - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r6, 0x4] - ldr r0, [r5] - ldr r1, =0x00000e7d - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - mov r0, r10 - subs r0, 0x8 - add r0, r8 - ldr r1, =sub_813671C - str r1, [r0] - b _08136708 - .pool -_08136688: - ldr r5, =gUnknown_0203AB48 - ldrh r2, [r5, 0x4] - mov r8, r2 - ldrb r0, [r6] - bl ListMenuHandleInput - adds r4, r0, 0 - ldrb r0, [r6] - adds r1, r5, 0x6 - adds r2, r5, 0x4 - bl get_coro_args_x18_x1A - ldrh r0, [r5, 0x4] - cmp r8, r0 - beq _081366B6 - mov r0, r8 - movs r1, 0x5 - bl sub_8136110 - ldrh r0, [r5, 0x4] - ldr r1, =0x00001005 - bl sub_8136110 -_081366B6: - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081366D0 - adds r0, 0x1 - cmp r4, r0 - bne _081366F8 - b _08136708 - .pool -_081366D0: - movs r0, 0x5 - bl PlaySE - ldr r0, =gScriptResult - ldr r2, =0x0000ffff - adds r1, r2, 0 - strh r1, [r0] - ldr r0, =gScriptItemId - mov r1, r9 - strh r1, [r0] - adds r0, r7, 0 - bl sub_81364EC - b _08136708 - .pool -_081366F8: - movs r0, 0x5 - bl PlaySE - ldr r0, =gScriptItemId - strh r4, [r0] - adds r0, r7, 0 - bl sub_8136938 -_08136708: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81365C8 - - thumb_func_start sub_813671C -sub_813671C: @ 813671C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08136742 - b _08136848 -_08136742: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0813676C - movs r0, 0x5 - bl PlaySE - ldrb r0, [r7] - ldr r1, =gUnknown_0203AB4E - subs r2, r1, 0x2 - bl get_coro_args_x18_x1A - b _08136822 - .pool -_0813676C: - ldr r6, =gUnknown_0203AB48 - ldrh r4, [r6, 0x6] - ldrh r5, [r6, 0x4] - ldrb r0, [r7] - bl ListMenuHandleInput - mov r9, r0 - ldrb r0, [r7] - adds r1, r6, 0x6 - adds r2, r6, 0x4 - bl get_coro_args_x18_x1A - ldrh r0, [r6, 0x6] - cmp r4, r0 - bne _08136790 - ldrh r6, [r6, 0x4] - cmp r5, r6 - beq _081367CA -_08136790: - movs r4, 0 -_08136792: - ldr r0, =gUnknown_0203AB48 - ldrh r0, [r0, 0x6] - adds r0, r4, r0 - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x4 - ldrsh r0, [r7, r1] - cmp r5, r0 - bne _081367B8 - adds r0, r4, 0 - ldr r1, =0x00002005 - bl sub_8136110 - b _081367C0 - .pool -_081367B8: - adds r0, r4, 0 - movs r1, 0x5 - bl sub_8136110 -_081367C0: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x8 - bls _08136792 -_081367CA: - ldr r5, =gUnknown_0203AB50 - ldr r0, [r5] - ldr r4, =0x00000e75 - adds r0, r4 - movs r1, 0x7 - movs r2, 0 - bl sub_81223FC - ldr r0, [r5] - adds r0, r4 - ldr r1, =gUnknown_0203AB48 - ldrh r3, [r1, 0x4] - lsls r3, 4 - adds r3, 0x8 - lsls r3, 16 - lsrs r3, 16 - movs r1, 0x7 - movs r2, 0x80 - bl sub_8122448 - movs r0, 0x2 - negs r0, r0 - cmp r9, r0 - beq _08136810 - adds r0, 0x1 - cmp r9, r0 - bne _0813683A - b _08136848 - .pool -_08136810: - movs r0, 0x5 - bl PlaySE - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08136830 -_08136822: - mov r0, r8 - movs r1, 0 - bl sub_8136854 - b _08136848 - .pool -_08136830: - mov r0, r8 - movs r1, 0x1 - bl sub_8136854 - b _08136848 -_0813683A: - movs r0, 0x5 - bl PlaySE - mov r0, r8 - movs r1, 0 - bl sub_8136854 -_08136848: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813671C - - thumb_func_start sub_8136854 -sub_8136854: @ 8136854 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldr r2, =gUnknown_0203AB48 - ldrh r0, [r2, 0x4] - ldrh r1, [r2, 0x6] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7d - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldrb r0, [r6] - adds r1, r2, 0x6 - adds r2, 0x4 - bl sub_81AE6C8 - cmp r4, 0 - bne _081368AA - movs r0, 0x4 - ldrsh r1, [r6, r0] - cmp r1, r5 - beq _081368BA - subs r0, r5, 0x1 - cmp r1, r0 - beq _081368AA - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_81361B0 - bl sub_8135E2C -_081368AA: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, r5 - bge _081368BA - ldr r1, =gUnknown_0203AB48 - ldrh r0, [r1, 0x4] - subs r0, 0x1 - strh r0, [r1, 0x4] -_081368BA: - ldr r0, =gUnknown_03006310 - ldr r2, =gUnknown_0203AB48 - ldrh r1, [r2, 0x6] - ldrh r2, [r2, 0x4] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e75 - adds r0, r1 - movs r1, 0x7 - movs r2, 0x1 - bl sub_81223FC - movs r4, 0 - lsls r5, r7, 2 -_081368E6: - adds r0, r4, 0 - movs r1, 0x5 - bl sub_8136110 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _081368E6 - ldr r0, =gUnknown_0203AB48 - ldrh r0, [r0, 0x4] - ldr r1, =0x00001005 - bl sub_8136110 - ldr r1, =gTasks - adds r0, r5, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81365C8 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136854 - - thumb_func_start sub_8136938 -sub_8136938: @ 8136938 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000808 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08136968 - movs r0, 0x8 - b _0813696A - .pool -_08136968: - movs r0, 0x9 -_0813696A: - strh r0, [r6, 0x2] - bl sub_8136418 - ldrb r0, [r6, 0x2] - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - ldrb r0, [r6, 0x2] - ldr r5, =gUnknown_0203AB50 - ldr r3, [r5] - ldr r4, =0x00000808 - adds r1, r3, r4 - ldrb r1, [r1] - ldr r2, =gUnknown_085B2668 - mov r12, r2 - ldr r2, =0x00000804 - adds r3, r2 - ldr r3, [r3] - mov r2, r12 - bl sub_81995E4 - ldrb r0, [r6, 0x2] - ldr r1, [r5] - adds r1, r4 - ldrb r1, [r1] - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - ldrb r0, [r6, 0x2] - bl PutWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81369E0 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136938 - - thumb_func_start sub_81369E0 -sub_81369E0: @ 81369E0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08136A3C - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08136A3C - adds r0, 0x1 - cmp r4, r0 - bne _08136A18 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_8136DE8 - b _08136A3C -_08136A18: - movs r0, 0x5 - bl PlaySE - ldr r1, =gUnknown_085B2668 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r2, =0x00000804 - adds r0, r2 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 -_08136A3C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81369E0 - - thumb_func_start sub_8136A50 -sub_8136A50: @ 8136A50 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203AB50 - ldr r1, [r1] - movs r2, 0x80 - lsls r2, 4 - adds r1, r2 - ldr r2, =sub_8136A74 - str r2, [r1] - bl sub_81364EC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136A50 - - thumb_func_start sub_8136A74 -sub_8136A74: @ 8136A74 - push {lr} - ldr r2, =gSaveBlock1Ptr - ldr r0, =gScriptItemId - ldrh r1, [r0] - lsls r1, 3 - ldr r0, =0x00000848 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - ldr r1, =sub_8136AA0 - bl sub_8166204 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136A74 - - thumb_func_start sub_8136AA0 -sub_8136AA0: @ 8136AA0 - push {lr} - ldr r0, =gUnknown_0203AB48 - ldr r1, [r0] - movs r0, 0 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136AA0 - - thumb_func_start sub_8136AB4 -sub_8136AB4: @ 8136AB4 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - ldrb r0, [r0, 0x2] - movs r1, 0 - bl sub_8198070 - ldr r0, =gStringVar1 - ldr r3, =gPokeblockNames - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldr r1, =gScriptItemId - ldrh r1, [r1] - lsls r1, 3 - adds r2, r1 - ldr r1, =0x00000848 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldr r5, =gStringVar4 - ldr r1, =gText_ThrowAwayVar1 - adds r0, r5, 0 - bl StringExpandPlaceholders - bl sav2_get_text_speed - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - ldr r0, =sub_8136B48 - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0xA - movs r3, 0xD - bl DisplayMessageAndContinueTask - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136AB4 - - thumb_func_start sub_8136B48 -sub_8136B48: @ 8136B48 - push {lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_085B27A8 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - ldr r2, =gUnknown_085B26A4 - str r2, [sp, 0xC] - movs r2, 0x1 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136B48 - - thumb_func_start sub_8136B78 -sub_8136B78: @ 8136B78 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gStringVar4 - ldr r1, =gText_Var1ThrownAway - adds r0, r5, 0 - bl StringExpandPlaceholders - bl sav2_get_text_speed - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - ldr r0, =sub_8136BC0 - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0xA - movs r3, 0xD - bl DisplayMessageAndContinueTask - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136B78 - - thumb_func_start sub_8136BC0 -sub_8136BC0: @ 8136BC0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08136C36 - ldr r0, =gScriptItemId - ldrb r0, [r0] - bl sub_8136F68 - movs r0, 0x5 - bl PlaySE - ldr r5, =gUnknown_0203AB4E - subs r6, r5, 0x2 - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldrb r0, [r4] - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_81AE6C8 - ldrh r0, [r6] - movs r1, 0x5 - bl sub_8136110 - bl sub_813625C - bl sub_81362E0 - bl sub_8135E2C - ldr r0, =gUnknown_03006310 - ldrh r1, [r5] - ldrh r2, [r6] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r0, [r6] - ldr r1, =0x00001005 - bl sub_8136110 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r7, 0 - bl sub_8136C54 -_08136C36: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136BC0 - - thumb_func_start sub_8136C54 -sub_8136C54: @ 8136C54 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xA - movs r1, 0 - bl sub_8197DF8 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_81363BC - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81365C8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136C54 - - thumb_func_start sub_8136C8C -sub_8136C8C: @ 8136C8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gEnemyParty - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSaveBlock1Ptr - ldr r7, =gScriptItemId - ldrh r2, [r7] - lsls r2, 3 - ldr r6, =0x00000848 - adds r2, r6 - ldr r1, [r5] - adds r1, r2 - bl sub_8136FE4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gBattleTextBuff1 - ldr r3, =gPokeblockNames - ldr r2, [r5] - ldrh r1, [r7] - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldrb r0, [r7] - bl sub_8136F68 - ldr r1, [r5] - ldrh r0, [r7] - lsls r0, 3 - adds r1, r0 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 8 - strh r0, [r7] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0 - bne _08136D10 - adds r0, 0x1 - b _08136D1A - .pool -_08136D10: - cmp r4, 0 - ble _08136D18 - adds r0, 0x2 - b _08136D1A -_08136D18: - adds r0, 0x3 -_08136D1A: - strh r0, [r7] - mov r0, r8 - bl sub_81364EC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8136C8C - - thumb_func_start sub_8136D2C -sub_8136D2C: @ 8136D2C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gScriptItemId - ldrb r0, [r5] - bl SafariZoneActivatePokeblockFeeder - ldr r0, =gStringVar1 - ldr r3, =gPokeblockNames - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldrh r1, [r5] - lsls r1, 3 - adds r2, r1 - ldr r1, =0x00000848 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldr r1, =gScriptResult - ldrh r0, [r5] - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_8136F68 - movs r0, 0 - strh r0, [r5] - adds r0, r4, 0 - bl sub_81364EC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136D2C - - thumb_func_start sub_8136D90 -sub_8136D90: @ 8136D90 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r5, =gScriptItemId - ldrh r1, [r5] - lsls r1, 3 - ldr r2, =0x00000848 - adds r1, r2 - ldr r0, [r0] - adds r0, r1 - bl sub_818E704 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - ldr r1, =gScriptResult - ldrh r0, [r5] - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_8136F68 - movs r0, 0 - strh r0, [r5] - adds r0, r4, 0 - bl sub_81364EC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136D90 - - thumb_func_start sub_8136DE8 -sub_8136DE8: @ 8136DE8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r0, r4, r5 - ldrb r0, [r0, 0x2] - movs r1, 0 - bl sub_8198070 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_81363BC - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81365C8 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136DE8 - - thumb_func_start sub_8136E20 -sub_8136E20: @ 8136E20 - push {r4,lr} - lsls r0, 24 - ldr r3, =gSaveBlock1Ptr - ldr r1, [r3] - lsrs r0, 21 - adds r1, r0 - ldr r2, =0x00000848 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - ldr r4, =0x00000849 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - ldr r0, =0x0000084e - adds r1, r0 - strb r2, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136E20 - - thumb_func_start ClearPokeblocks -ClearPokeblocks: @ 8136E88 - push {r4,lr} - movs r4, 0 -_08136E8C: - adds r0, r4, 0 - bl sub_8136E20 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x27 - bls _08136E8C - pop {r4} - pop {r0} - bx r0 - thumb_func_end ClearPokeblocks - - thumb_func_start sub_8136EA4 -sub_8136EA4: @ 8136EA4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8136F9C - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x1 -_08136EB4: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8136F9C - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _08136ECC - adds r5, r0, 0 -_08136ECC: - adds r1, r4, 0 - cmp r1, 0x4 - bls _08136EB4 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8136EA4 - - thumb_func_start sub_8136EDC -sub_8136EDC: @ 8136EDC - push {lr} - movs r1, 0x6 - bl sub_8136F9C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - bls _08136EEE - movs r0, 0x63 -_08136EEE: - pop {r1} - bx r1 - thumb_func_end sub_8136EDC - - thumb_func_start sub_8136EF4 -sub_8136EF4: @ 8136EF4 - push {lr} - movs r1, 0 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r3, =0x00000848 -_08136EFE: - lsls r0, r1, 3 - adds r0, r2, r0 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08136F18 - lsls r0, r1, 24 - asrs r0, 24 - b _08136F26 - .pool -_08136F18: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x27 - bls _08136EFE - movs r0, 0x1 - negs r0, r0 -_08136F26: - pop {r1} - bx r1 - thumb_func_end sub_8136EF4 - - thumb_func_start sub_8136F2C -sub_8136F2C: @ 8136F2C - push {r4,lr} - adds r4, r0, 0 - bl sub_8136EF4 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08136F60 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - lsls r0, r1, 3 - ldr r1, =0x00000848 - adds r2, r1 - adds r2, r0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x1 - b _08136F62 - .pool -_08136F60: - movs r0, 0 -_08136F62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8136F2C - - thumb_func_start sub_8136F68 -sub_8136F68: @ 8136F68 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r2, 3 - adds r0, r1 - ldr r1, =0x00000848 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08136F94 - adds r0, r2, 0 - bl sub_8136E20 - movs r0, 0x1 - b _08136F96 - .pool -_08136F94: - movs r0, 0 -_08136F96: - pop {r1} - bx r1 - thumb_func_end sub_8136F68 - - thumb_func_start sub_8136F9C -sub_8136F9C: @ 8136F9C - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0 - bne _08136FAC - ldrb r0, [r0] - b _08136FDE -_08136FAC: - cmp r1, 0x1 - bne _08136FB4 - ldrb r0, [r0, 0x1] - b _08136FDE -_08136FB4: - cmp r1, 0x2 - bne _08136FBC - ldrb r0, [r0, 0x2] - b _08136FDE -_08136FBC: - cmp r1, 0x3 - bne _08136FC4 - ldrb r0, [r0, 0x3] - b _08136FDE -_08136FC4: - cmp r1, 0x4 - bne _08136FCC - ldrb r0, [r0, 0x4] - b _08136FDE -_08136FCC: - cmp r1, 0x5 - bne _08136FD4 - ldrb r0, [r0, 0x5] - b _08136FDE -_08136FD4: - cmp r2, 0x6 - beq _08136FDC - movs r0, 0 - b _08136FDE -_08136FDC: - ldrb r0, [r0, 0x6] -_08136FDE: - pop {r1} - bx r1 - thumb_func_end sub_8136F9C - - thumb_func_start sub_8136FE4 -sub_8136FE4: @ 8136FE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - movs r4, 0 - ldr r1, =gPokeblockFlavorCompatibilityTable - mov r9, r1 - lsls r1, r0, 2 - adds r7, r1, r0 -_08136FFE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r1, r5, 0 - bl sub_8136F9C - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - ble _0813702A - adds r0, r7, r4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r1, r0 - lsls r0, r6, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 -_0813702A: - adds r4, r5, 0 - cmp r4, 0x4 - bls _08136FFE - lsls r0, r6, 16 - asrs r0, 16 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8136FE4 - - thumb_func_start sub_8137044 -sub_8137044: @ 8137044 - push {r4,lr} - adds r4, r1, 0 - movs r1, 0 - bl sub_8136F9C - lsls r0, 24 - ldr r1, =gPokeblockNames - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137044 - - thumb_func_start sub_8137068 -sub_8137068: @ 8137068 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r7, =gPokeblockNames -_08137074: - lsls r1, r4, 3 - ldr r0, =gUnknown_085B2720 - adds r1, r0 - adds r0, r5, 0 - bl sub_8136FE4 - lsls r0, 16 - cmp r0, 0 - ble _081370A0 - adds r0, r4, 0x1 - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - movs r0, 0x1 - b _081370AC - .pool -_081370A0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08137074 - movs r0, 0 -_081370AC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8137068 - - thumb_func_start sub_81370B4 -sub_81370B4: @ 81370B4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r7, 0 - movs r6, 0 -_081370BC: - adds r1, r7, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8136F9C - adds r4, r0, 0 - adds r1, r6, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8136F9C - lsls r4, 16 - lsls r0, 16 - lsls r1, r6, 16 - cmp r4, r0 - bge _081370E2 - lsrs r7, r1, 16 -_081370E2: - movs r2, 0x80 - lsls r2, 9 - adds r0, r1, r2 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081370BC - lsls r0, r7, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81370B4 - - thumb_func_start sub_81370FC -sub_81370FC: @ 81370FC - push {r4,lr} - bl ShouldDoBrailleFlyEffect - lsls r0, 24 - cmp r0, 0 - beq _08137134 - ldr r4, =gScriptResult - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =sub_8179918 - b _08137152 - .pool -_08137134: - ldr r0, =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _08137170 - ldr r0, =0x00000888 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08137170 - ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm2_flash -_08137152: - str r0, [r1] - movs r0, 0x1 - b _08137172 - .pool -_08137170: - movs r0, 0 -_08137172: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81370FC - - thumb_func_start hm2_flash -hm2_flash: @ 8137178 - push {r4,lr} - bl oei_task_add - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl brm_get_pokemon_selection - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =sub_81371B4 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end hm2_flash - - thumb_func_start sub_81371B4 -sub_81371B4: @ 81371B4 - push {lr} - movs r0, 0xCF - bl PlaySE - ldr r0, =0x00000888 - bl FlagSet - ldr r0, =gUnknown_082926F8 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_81371B4 - - thumb_func_start sub_81371D4 -sub_81371D4: @ 81371D4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81371D4 - - thumb_func_start sub_81371EC -sub_81371EC: @ 81371EC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81371EC - - thumb_func_start c2_change_map -c2_change_map: @ 8137200 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r4, [r0] - str r0, [r1] - ldr r0, =0x05000002 - str r0, [r1, 0x4] - ldr r0, =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r3, =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, =sub_81371EC - bl SetVBlankCallback - ldr r0, =sub_81371D4 - bl SetMainCallback2 - bl sub_8137304 - lsls r0, 24 - cmp r0, 0 - bne _081372D2 - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_081372D2: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c2_change_map - - thumb_func_start sub_8137304 -sub_8137304: @ 8137304 - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r6, r0, 24 - bl sav1_map_get_light_level - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r4, =gUnknown_085B27C8 - ldrb r0, [r4] - cmp r0, 0 - beq _08137358 - adds r7, r4, 0 - adds r0, r4, 0x4 - mov r12, r0 -_08137326: - lsls r2, r3, 3 - adds r1, r2, r7 - ldrb r0, [r1] - cmp r0, r6 - bne _08137348 - ldrb r0, [r1, 0x1] - cmp r0, r5 - bne _08137348 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _0813735A - .pool -_08137348: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08137326 -_08137358: - movs r0, 0 -_0813735A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8137304 - - thumb_func_start sub_8137360 -sub_8137360: @ 8137360 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, =gUnknown_085B27C8 - ldrb r0, [r1] - cmp r0, 0 - beq _081373A0 - adds r6, r1, 0 -_08137376: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _08137390 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _08137390 - ldrb r0, [r2, 0x2] - b _081373A2 - .pool -_08137390: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08137376 -_081373A0: - movs r0, 0 -_081373A2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8137360 - - thumb_func_start fade_type_for_given_maplight_pair -fade_type_for_given_maplight_pair: @ 81373A8 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, =gUnknown_085B27C8 - ldrb r0, [r1] - cmp r0, 0 - beq _081373E8 - adds r6, r1, 0 -_081373BE: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _081373D8 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _081373D8 - ldrb r0, [r2, 0x3] - b _081373EA - .pool -_081373D8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081373BE -_081373E8: - movs r0, 0 -_081373EA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end fade_type_for_given_maplight_pair - - thumb_func_start sub_81373F0 -sub_81373F0: @ 81373F0 - push {lr} - ldr r0, =sub_8137404 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81373F0 - - thumb_func_start sub_8137404 -sub_8137404: @ 8137404 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_8137420 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8137404 - - thumb_func_start sub_8137420 -sub_8137420: @ 8137420 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, =gUnknown_085B2A90 - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085B28B0 - ldr r1, =0x0600f800 - bl LZ77UnCompVram - ldr r0, =gUnknown_085B2850 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085B28A0 - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81374C4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137420 - - thumb_func_start sub_81374C4 -sub_81374C4: @ 81374C4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r4, [r5, 0xA] - movs r0, 0x80 - lsls r0, 5 - adds r1, r4, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0x10 - bhi _081374F8 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _08137500 - .pool -_081374F8: - movs r0, 0 - strh r0, [r5, 0xC] - ldr r0, =sub_813750C - str r0, [r5] -_08137500: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81374C4 - - thumb_func_start sub_813750C -sub_813750C: @ 813750C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _08137554 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, =gUnknown_085B28A0 - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _08137566 - .pool -_08137554: - ldr r0, =gUnknown_085B2850 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =sub_8137574 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_08137566: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813750C - - thumb_func_start sub_8137574 -sub_8137574: @ 8137574 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08137598 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _081375A0 - .pool -_08137598: - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_081375A0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137574 - - thumb_func_start sub_81375A8 -sub_81375A8: @ 81375A8 - push {lr} - ldr r0, =sub_81375BC - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81375A8 - - thumb_func_start sub_81375BC -sub_81375BC: @ 81375BC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_81375D8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81375BC - - thumb_func_start sub_81375D8 -sub_81375D8: @ 81375D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, =gUnknown_085B2A90 - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085B28B0 - ldr r1, =0x0600f800 - bl LZ77UnCompVram - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gUnknown_085B2850 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085B2870 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8137678 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81375D8 - - thumb_func_start sub_8137678 -sub_8137678: @ 8137678 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0xF - bhi _081376B4 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, =gUnknown_085B2890 - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _081376C8 - .pool -_081376B4: - ldr r1, =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =sub_81376DC - str r0, [r4] -_081376C8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137678 - - thumb_func_start sub_81376DC -sub_81376DC: @ 81376DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r0, [r5, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0 - beq _08137714 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _08137726 - .pool -_08137714: - ldr r0, =gUnknown_085B2870 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08137726: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81376DC - - thumb_func_start sub_8137734 -sub_8137734: @ 8137734 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x1C - bl sp000_heal_pokemon - ldr r4, =0x00000864 - adds r0, r4, 0 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _08137760 - ldr r0, =gUnknown_0203BCE4 - strb r1, [r0] - b _0813776C - .pool -_08137760: - ldr r1, =gUnknown_0203BCE4 - movs r0, 0 - strb r0, [r1] - adds r0, r4, 0 - bl FlagSet -_0813776C: - movs r0, 0x1 - bl GetGameStat - cmp r0, 0 - bne _0813778E - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrh r1, [r2, 0xE] - lsls r1, 16 - ldrb r0, [r2, 0x10] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x11] - orrs r1, r0 - movs r0, 0x1 - bl sav12_xor_set -_0813778E: - bl sub_8076D48 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _081377AC - movs r0, 0x1 - bl sub_8084F6C - b _081377B2 - .pool -_081377AC: - movs r0, 0x2 - bl sub_8084F6C -_081377B2: - movs r7, 0 - movs r6, 0 - add r0, sp, 0x18 - mov r8, r0 - mov r5, sp -_081377BC: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - movs r0, 0 - strb r6, [r5] - strb r0, [r5, 0x1] - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813780A - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _0813780A - adds r0, r4, 0 - movs r1, 0x43 - bl GetMonData - cmp r0, 0 - bne _0813780A - movs r0, 0x1 - mov r1, r8 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x43 - add r2, sp, 0x18 - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - strb r0, [r5, 0x1] - movs r7, 0x1 -_0813780A: - adds r5, 0x4 - adds r6, 0x1 - cmp r6, 0x5 - ble _081377BC - cmp r7, 0x1 - bne _0813785A - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - mov r3, sp - add r2, sp, 0x4 - movs r6, 0x4 -_08137828: - ldrb r1, [r3, 0x1] - ldrb r0, [r2, 0x1] - cmp r0, r1 - bls _08137838 - ldr r1, [sp] - ldr r0, [r2] - str r0, [sp] - str r1, [r2] -_08137838: - adds r2, 0x4 - subs r6, 0x1 - cmp r6, 0 - bge _08137828 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - bls _0813785A - mov r0, sp - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x43 - bl sub_80EE4DC -_0813785A: - ldr r0, =sub_8173694 - bl SetMainCallback2 - movs r0, 0 - add sp, 0x1C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137734 - - thumb_func_start sp0C8_whiteout_maybe -sp0C8_whiteout_maybe: @ 813787C - push {lr} - ldr r0, =c2_whiteout - bl SetMainCallback2 - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sp0C8_whiteout_maybe - - thumb_func_start sub_8137890 -sub_8137890: @ 8137890 - push {r4,lr} - ldr r0, =0x00004024 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004025 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - orrs r4, r0 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137890 - - thumb_func_start sub_81378BC -sub_81378BC: @ 81378BC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x00004024 - lsrs r1, r4, 16 - bl VarSet - ldr r0, =0x00004025 - lsls r4, 16 - lsrs r4, 16 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81378BC - - thumb_func_start sub_81378E4 -sub_81378E4: @ 81378E4 - push {r4,lr} - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - orrs r4, r0 - adds r0, r4, 0 - bl sub_81378BC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81378E4 - - thumb_func_start sub_8137904 -sub_8137904: @ 8137904 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_8137890 - adds r1, r0, 0 - cmp r4, 0 - beq _08137928 - ldr r3, =0x41c64e6d - ldr r2, =0x00003039 -_08137918: - adds r0, r1, 0 - muls r0, r3 - adds r1, r0, r2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _08137918 -_08137928: - adds r0, r1, 0 - bl sub_81378BC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137904 - - thumb_func_start sub_813793C -sub_813793C: @ 813793C - push {r4-r6,lr} - bl sub_8137890 - lsrs r6, r0, 16 - movs r5, 0 -_08137946: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08137978 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldr r1, =0x0000ffff - ands r1, r0 - cmp r1, r6 - bne _08137978 - movs r0, 0x1 - b _08137980 - .pool -_08137978: - adds r5, 0x1 - cmp r5, 0x5 - ble _08137946 - movs r0, 0 -_08137980: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813793C - - thumb_func_start sub_8137988 -sub_8137988: @ 8137988 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - cmp r0, 0 - beq _081379CE - bl RtcCalcLocalTime - ldr r1, =gUnknown_085B2B44 - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081379C8 - ldr r0, =0x0000089a - bl FlagSet - b _081379CE - .pool -_081379C8: - ldr r0, =0x0000089a - bl FlagClear -_081379CE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137988 - - thumb_func_start sub_81379D8 -sub_81379D8: @ 81379D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AC3BC - lsls r0, 24 - cmp r0, 0 - beq _081379F2 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_081379F2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81379D8 - - thumb_func_start sub_81379F8 -sub_81379F8: @ 81379F8 - push {lr} - ldr r0, =sub_81379D8 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81379F8 - - thumb_func_start sub_8137A0C -sub_8137A0C: @ 8137A0C - push {lr} - ldr r0, =0x00004049 - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137A0C - - thumb_func_start sub_8137A20 -sub_8137A20: @ 8137A20 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004049 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0x7 - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137A20 - - thumb_func_start sub_8137A4C -sub_8137A4C: @ 8137A4C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08137A70 - movs r0, 0 - bl sub_80C0844 - ldr r1, =gSpecialVar_0x8005 - strh r0, [r1] - movs r0, 0x1 - bl sub_80C0844 - b _08137A80 - .pool -_08137A70: - movs r0, 0 - bl pokedex_count - ldr r1, =gSpecialVar_0x8005 - strh r0, [r1] - movs r0, 0x1 - bl pokedex_count -_08137A80: - ldr r1, =gSpecialVar_0x8006 - strh r0, [r1] - bl IsNationalPokedexEnabled - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137A4C - - thumb_func_start sub_8137A98 -sub_8137A98: @ 8137A98 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x9 - bhi _08137AA4 - b _08137BFC -_08137AA4: - cmp r0, 0x13 - bhi _08137AB0 - ldr r0, =gUnknown_082A5DAB - b _08137C06 - .pool -_08137AB0: - cmp r0, 0x1D - bhi _08137ABC - ldr r0, =gUnknown_082A5DF1 - b _08137C06 - .pool -_08137ABC: - cmp r0, 0x27 - bhi _08137AC8 - ldr r0, =gUnknown_082A5E34 - b _08137C06 - .pool -_08137AC8: - cmp r0, 0x31 - bhi _08137AD4 - ldr r0, =gUnknown_082A5E83 - b _08137C06 - .pool -_08137AD4: - cmp r0, 0x3B - bhi _08137AE0 - ldr r0, =gUnknown_082A5EB9 - b _08137C06 - .pool -_08137AE0: - cmp r0, 0x45 - bhi _08137AEC - ldr r0, =gUnknown_082A5EF4 - b _08137C06 - .pool -_08137AEC: - cmp r0, 0x4F - bhi _08137AF8 - ldr r0, =gUnknown_082A5F39 - b _08137C06 - .pool -_08137AF8: - cmp r0, 0x59 - bhi _08137B04 - ldr r0, =gUnknown_082A5F82 - b _08137C06 - .pool -_08137B04: - cmp r0, 0x63 - bhi _08137B10 - ldr r0, =gUnknown_082A5FB9 - b _08137C06 - .pool -_08137B10: - cmp r0, 0x6D - bhi _08137B1C - ldr r0, =gUnknown_082A6018 - b _08137C06 - .pool -_08137B1C: - cmp r0, 0x77 - bhi _08137B28 - ldr r0, =gUnknown_082A6061 - b _08137C06 - .pool -_08137B28: - cmp r0, 0x81 - bhi _08137B34 - ldr r0, =gUnknown_082A609C - b _08137C06 - .pool -_08137B34: - cmp r0, 0x8B - bhi _08137B40 - ldr r0, =gUnknown_082A60D5 - b _08137C06 - .pool -_08137B40: - cmp r0, 0x95 - bhi _08137B4C - ldr r0, =gUnknown_082A6124 - b _08137C06 - .pool -_08137B4C: - cmp r0, 0x9F - bhi _08137B58 - ldr r0, =gUnknown_082A616F - b _08137C06 - .pool -_08137B58: - cmp r0, 0xA9 - bhi _08137B64 - ldr r0, =gUnknown_082A61D6 - b _08137C06 - .pool -_08137B64: - cmp r0, 0xB3 - bhi _08137B70 - ldr r0, =gUnknown_082A623A - b _08137C06 - .pool -_08137B70: - cmp r0, 0xBD - bhi _08137B7C - ldr r0, =gUnknown_082A6287 - b _08137C06 - .pool -_08137B7C: - cmp r0, 0xC7 - bls _08137BEA - cmp r0, 0xC8 - bne _08137BB8 - ldr r0, =0x00000199 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - bne _08137BEA - movs r0, 0xCD - lsls r0, 1 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - bne _08137BEA - b _08137C04 - .pool -_08137BB8: - cmp r0, 0xC9 - bne _08137BF8 - ldr r0, =0x00000199 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _08137C04 - movs r0, 0xCD - lsls r0, 1 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _08137C04 -_08137BEA: - ldr r0, =gUnknown_082A62C9 - b _08137C06 - .pool -_08137BF8: - cmp r0, 0xCA - beq _08137C04 -_08137BFC: - ldr r0, =gUnknown_082A5D6C - b _08137C06 - .pool -_08137C04: - ldr r0, =gUnknown_082A6312 -_08137C06: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137A98 - - thumb_func_start sub_8137C10 -sub_8137C10: @ 8137C10 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl sub_8137A98 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C10 - - thumb_func_start sub_8137C28 -sub_8137C28: @ 8137C28 - push {lr} - ldr r0, =sub_8174194 - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C28 - - thumb_func_start sub_8137C3C -sub_8137C3C: @ 8137C3C - push {lr} - ldr r0, =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =mapldr_080CA5C0 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C3C - - thumb_func_start mapldr_080CA5C0 -mapldr_080CA5C0: @ 8137C5C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - bl sub_8085784 - bl sp109_CreatePCMenu - bl sub_80E2514 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_8137C94 - movs r1, 0xA - bl CreateTask - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_080CA5C0 - - thumb_func_start sub_8137C94 -sub_8137C94: @ 8137C94 - 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 _08137CAC - adds r0, r2, 0 - bl DestroyTask -_08137CAC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C94 - - thumb_func_start sub_8137CB4 -sub_8137CB4: @ 8137CB4 - push {lr} - ldr r0, =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137CB4 - - thumb_func_start Special_ViewWallClock -Special_ViewWallClock: @ 8137CC8 - push {lr} - ldr r0, =gMain - ldr r1, =c2_exit_to_overworld_2_switch - str r1, [r0, 0x8] - ldr r0, =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ViewWallClock - - thumb_func_start wild_pokemon_reroll -wild_pokemon_reroll: @ 8137CEC - ldr r0, =gUnknown_0203AB54 - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB55 - strb r1, [r0] - ldr r1, =gUnknown_0203AB58 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end wild_pokemon_reroll - - thumb_func_start sub_8137D0C -sub_8137D0C: @ 8137D0C - ldr r1, =gUnknown_0203AB54 - movs r0, 0x1 - strb r0, [r1] - ldr r1, =gUnknown_0203AB55 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_0203AB58 - ldr r0, =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8137D0C - - thumb_func_start sp0E3_walkrun_bitfield_interpretation -sp0E3_walkrun_bitfield_interpretation: @ 8137D34 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08137D46 - movs r0, 0x1 - b _08137D58 -_08137D46: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _08137D56 - movs r0, 0 - b _08137D58 -_08137D56: - movs r0, 0x2 -_08137D58: - pop {r1} - bx r1 - thumb_func_end sp0E3_walkrun_bitfield_interpretation - - thumb_func_start sub_8137D5C -sub_8137D5C: @ 8137D5C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _08137D88 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceTimes - adds r0, r4, 0 - bl StringAppend - b _08137D90 - .pool -_08137D88: - ldr r0, =gStringVar1 - ldr r1, =gText_99TimesPlus - bl StringCopy -_08137D90: - ldr r0, =0x00000e0f - cmp r7, r0 - bhi _08137DF0 - ldr r4, =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceSeconds - adds r0, r4, 0 - bl StringAppend - b _08137DF8 - .pool -_08137DF0: - ldr r0, =gStringVar2 - ldr r1, =gText_1MinutePlus - bl StringCopy -_08137DF8: - movs r4, 0 - cmp r6, 0 - bne _08137E0C - movs r4, 0x5 - b _08137E2A - .pool -_08137E0C: - cmp r6, 0x3 - bhi _08137E14 - movs r4, 0x4 - b _08137E2A -_08137E14: - cmp r6, 0x9 - bhi _08137E1C - movs r4, 0x3 - b _08137E2A -_08137E1C: - cmp r6, 0x13 - bhi _08137E24 - movs r4, 0x2 - b _08137E2A -_08137E24: - cmp r6, 0x63 - bhi _08137E2A - movs r4, 0x1 -_08137E2A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _08137E3A - adds r0, r4, 0x5 - b _08137E58 -_08137E3A: - cmp r0, 0xF - bhi _08137E42 - adds r0, r4, 0x4 - b _08137E58 -_08137E42: - cmp r0, 0x14 - bhi _08137E4A - adds r0, r4, 0x3 - b _08137E58 -_08137E4A: - cmp r0, 0x28 - bhi _08137E52 - adds r0, r4, 0x2 - b _08137E58 -_08137E52: - cmp r0, 0x3B - bhi _08137E5C - adds r0, r4, 0x1 -_08137E58: - lsls r0, 24 - lsrs r4, r0, 24 -_08137E5C: - ldr r0, =gScriptResult - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137D5C - - thumb_func_start sub_8137E6C -sub_8137E6C: @ 8137E6C - push {r4,r5,lr} - ldr r0, =gMain - ldr r1, =gUnknown_0203AB58 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, =gUnknown_0203AB55 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_8137D5C - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_8137E9C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137E6C - - thumb_func_start sub_8137E9C -sub_8137E9C: @ 8137E9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _08137ECC - cmp r4, 0 - bne _08137EE6 -_08137ECC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, =0x00004027 - mov r1, r8 - bl VarSet -_08137EE6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137E9C - - thumb_func_start sub_8137EFC -sub_8137EFC: @ 8137EFC - push {r4,lr} - ldr r0, =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _08137F3C - ldr r0, =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8137D5C - movs r0, 0x1 - b _08137F3E - .pool -_08137F3C: - movs r0, 0 -_08137F3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8137EFC - - thumb_func_start sub_8137F44 -sub_8137F44: @ 8137F44 - push {r4,lr} - ldr r0, =gUnknown_020322DC - ldrh r1, [r0] - ldr r0, =0x00000c1d - cmp r1, r0 - beq _08137F7C - ldr r4, =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _08137F6E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _08137F7C -_08137F6E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl Overworld_SetSavedMusic -_08137F7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137F44 - - thumb_func_start sub_8137F90 -sub_8137F90: @ 8137F90 - push {lr} - ldr r0, =0x0000088d - bl FlagSet - ldr r0, =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137F90 - - thumb_func_start sub_8137FB0 -sub_8137FB0: @ 8137FB0 - push {lr} - ldr r0, =0x0000088d - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137FB0 - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 8137FC0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08137FE6 - ldr r0, =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _08137FF4 -_08137FE6: - movs r0, 0 - b _08137FF6 - .pool -_08137FF4: - movs r0, 0x1 -_08137FF6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 8137FFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _081380C2 - lsls r0, 2 - ldr r1, =_08138038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08138038: - .4byte _08138060 - .4byte _08138070 - .4byte _08138064 - .4byte _08138068 - .4byte _08138068 - .4byte _0813806C - .4byte _08138098 - .4byte _08138060 - .4byte _08138064 - .4byte _0813806C -_08138060: - movs r0, 0x1 - b _081380CE -_08138064: - movs r0, 0x4 - b _081380CE -_08138068: - movs r0, 0x2 - b _081380CE -_0813806C: - movs r0, 0x3 - b _081380CE -_08138070: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _08138080 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _081380C0 -_08138080: - cmp r0, 0x8B - bhi _0813808E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _081380C0 -_0813808E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _081380C0 -_08138098: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _081380A8 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _081380BE -_081380A8: - cmp r0, 0x91 - bhi _081380B6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _081380BE -_081380B6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_081380BE: - subs r0, r1 -_081380C0: - strh r0, [r6] -_081380C2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_081380CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start is_tile_that_overrides_player_control -is_tile_that_overrides_player_control: @ 81380D8 - push {lr} - movs r0, 0x88 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813810A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813810A - cmp r0, 0x3 - ble _081380F6 - cmp r0, 0x6 - bne _0813810A -_081380F6: - ldr r0, =0x000040f2 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138118 -_0813810A: - movs r0, 0 - b _0813811A - .pool -_08138118: - movs r0, 0x1 -_0813811A: - pop {r1} - bx r1 - thumb_func_end is_tile_that_overrides_player_control - - thumb_func_start sub_8138120 -sub_8138120: @ 8138120 - push {lr} - movs r0, 0x8A - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08138152 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _08138152 - cmp r0, 0x3 - ble _0813813E - cmp r0, 0x6 - bne _08138152 -_0813813E: - ldr r0, =0x000040f3 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _08138160 -_08138152: - movs r0, 0 - b _08138162 - .pool -_08138160: - movs r0, 0x1 -_08138162: - pop {r1} - bx r1 - thumb_func_end sub_8138120 - - thumb_func_start sub_8138168 -sub_8138168: @ 8138168 - push {lr} - movs r0, 0x72 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813819A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813819A - cmp r0, 0x3 - ble _08138186 - cmp r0, 0x6 - bne _0813819A -_08138186: - ldr r0, =0x000040f5 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _081381A8 -_0813819A: - movs r0, 0 - b _081381AA - .pool -_081381A8: - movs r0, 0x1 -_081381AA: - pop {r1} - bx r1 - thumb_func_end sub_8138168 - - thumb_func_start sub_81381B0 -sub_81381B0: @ 81381B0 - push {lr} - movs r0, 0x80 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081381E2 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _081381E2 - cmp r0, 0x3 - ble _081381CE - cmp r0, 0x6 - bne _081381E2 -_081381CE: - ldr r0, =0x000040f4 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _081381F0 -_081381E2: - movs r0, 0 - b _081381F2 - .pool -_081381F0: - movs r0, 0x1 -_081381F2: - pop {r1} - bx r1 - thumb_func_end sub_81381B0 - - thumb_func_start sub_81381F8 -sub_81381F8: @ 81381F8 - push {lr} - movs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813822A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813822A - cmp r0, 0x3 - ble _08138216 - cmp r0, 0x6 - bne _0813822A -_08138216: - ldr r0, =0x000040f6 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138238 -_0813822A: - movs r0, 0 - b _0813823A - .pool -_08138238: - movs r0, 0x1 -_0813823A: - pop {r1} - bx r1 - thumb_func_end sub_81381F8 - - thumb_func_start sub_8138240 -sub_8138240: @ 8138240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0813828A - ldr r0, =gTVStringVarPtrs - mov r8, r0 -_08138262: - cmp r7, r4 - beq _08138280 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138280: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08138262 -_0813828A: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8138240 - - thumb_func_start SpawnLinkPartnerFieldObject -SpawnLinkPartnerFieldObject: @ 81382A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, =gUnknown_085B2B5C - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, =gUnknown_085B2B60 - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _08138310 - cmp r0, 0x2 - bgt _081382F4 - cmp r0, 0x1 - beq _0813833C - b _08138350 - .pool -_081382F4: - cmp r1, 0x3 - beq _081382FE - cmp r1, 0x4 - beq _08138324 - b _08138350 -_081382FE: - movs r7, 0x2 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - subs r0, 0x1 - b _0813832C - .pool -_08138310: - movs r7, 0x1 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0813834A - .pool -_08138324: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 -_0813832C: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _08138350 - .pool -_0813833C: - movs r7, 0x3 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - mov r9, r3 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0813834A: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08138350: - movs r6, 0 - b _08138410 - .pool -_08138358: - cmp r10, r6 - beq _0813840A - ldr r0, =gLinkPlayers - lsls r2, r6, 3 - subs r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0x1 - blt _0813838C - cmp r3, 0x2 - ble _0813837C - cmp r3, 0x3 - beq _08138388 - b _0813838C - .pool -_0813837C: - ldrb r0, [r1, 0x13] - movs r5, 0xEC - cmp r0, 0 - bne _0813839C - movs r5, 0xEB - b _0813839C -_08138388: - ldrb r0, [r1, 0x13] - b _08138394 -_0813838C: - subs r0, r2, r6 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08138394: - movs r5, 0x69 - cmp r0, 0 - bne _0813839C - movs r5, 0x64 -_0813839C: - mov r0, sp - adds r0, r7 - adds r0, 0x8 - ldrb r1, [r0] - movs r4, 0xF0 - subs r4, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r7, 1 - mov r0, sp - adds r0, r2 - adds r0, 0xC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r3, r9 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - add r0, r12 - adds r3, r0, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - mov r0, sp - adds r0, 0xD - adds r0, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r2 - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, r12 - bl SpawnSpecialFieldObjectParametrized - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_813842C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0813840A - movs r7, 0 -_0813840A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138410: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _08138358 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SpawnLinkPartnerFieldObject - - thumb_func_start sub_813842C -sub_813842C: @ 813842C - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r2, r1 - lsrs r5, r2, 24 - lsrs r4, r0, 24 - movs r2, 0xA8 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08138454 - cmp r4, 0x64 - beq _08138454 - cmp r4, 0x69 - bne _081384E6 -_08138454: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r3, 0 - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _081384E6 - ldr r1, =gMapObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - lsls r3, r5, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - cmp r4, 0x69 - beq _081384D8 - cmp r4, 0x69 - bgt _081384A8 - cmp r4, 0x64 - beq _081384C4 - b _081384E6 - .pool -_081384A8: - cmp r4, 0xEB - beq _081384B2 - cmp r4, 0xEC - beq _081384BC - b _081384E6 -_081384B2: - ldr r0, =gFieldObjectPalette33 - b _081384C6 - .pool -_081384BC: - ldr r0, =gFieldObjectPalette34 - b _081384C6 - .pool -_081384C4: - ldr r0, =gFieldObjectPalette8 -_081384C6: - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette - b _081384E6 - .pool -_081384D8: - ldr r0, =gFieldObjectPalette17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette -_081384E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813842C - - thumb_func_start sub_81384F0 -sub_81384F0: @ 81384F0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_085B2B68 -_081384F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0813851C - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - b _0813852A - .pool -_0813851C: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000205 - bl MapGridSetMetatileIdAt -_0813852A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081384F6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81384F0 - - thumb_func_start sub_8138540 -sub_8138540: @ 8138540 - push {r4-r6,lr} - movs r5, 0xC -_08138544: - movs r4, 0x7 - adds r6, r5, 0x1 -_08138548: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0813855A - b _08138734 -_0813855A: - lsls r0, 2 - ldr r1, =_0813856C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813856C: - .4byte _081386F2 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813864C - .4byte _08138652 - .4byte _0813868C - .4byte _08138694 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813865C - .4byte _08138662 - .4byte _0813869C - .4byte _081386A4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813866C - .4byte _08138672 - .4byte _081386AC - .4byte _081386B4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813867C - .4byte _08138684 - .4byte _081386BC - .4byte _081386C4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386CC - .4byte _081386DC - .4byte _081386EC - .4byte _08138714 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386D4 - .4byte _081386E4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813872A - .4byte _0813871C -_0813864C: - movs r2, 0x8C - lsls r2, 2 - b _08138720 -_08138652: - ldr r2, =0x00000231 - b _08138720 - .pool -_0813865C: - movs r2, 0x8E - lsls r2, 2 - b _08138720 -_08138662: - ldr r2, =0x00000239 - b _08138720 - .pool -_0813866C: - movs r2, 0x88 - lsls r2, 2 - b _08138720 -_08138672: - ldr r2, =0x00000221 - b _08138720 - .pool -_0813867C: - ldr r2, =0x00000e28 - b _08138720 - .pool -_08138684: - ldr r2, =0x00000e29 - b _08138720 - .pool -_0813868C: - ldr r2, =0x00000232 - b _08138720 - .pool -_08138694: - ldr r2, =0x00000233 - b _08138720 - .pool -_0813869C: - ldr r2, =0x0000023a - b _08138720 - .pool -_081386A4: - ldr r2, =0x0000023b - b _08138720 - .pool -_081386AC: - ldr r2, =0x00000222 - b _08138720 - .pool -_081386B4: - ldr r2, =0x00000223 - b _08138720 - .pool -_081386BC: - ldr r2, =0x00000e2a - b _08138720 - .pool -_081386C4: - ldr r2, =0x00000e2b - b _08138720 - .pool -_081386CC: - ldr r2, =0x00000e42 - b _08138720 - .pool -_081386D4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386DC: - ldr r2, =0x00000e43 - b _08138720 - .pool -_081386E4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386EC: - movs r2, 0xE4 - lsls r2, 4 - b _08138720 -_081386F2: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0813870C - ldr r2, =0x00000e48 - b _08138720 - .pool -_0813870C: - ldr r2, =0x00000e49 - b _08138720 - .pool -_08138714: - ldr r2, =0x00000e41 - b _08138720 - .pool -_0813871C: - movs r2, 0xE5 - lsls r2, 4 -_08138720: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08138734 -_0813872A: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08138734: - adds r4, 0x1 - cmp r4, 0xF - bgt _0813873C - b _08138548 -_0813873C: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _08138744 - b _08138544 -_08138744: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138540 - - thumb_func_start sub_8138750 -sub_8138750: @ 8138750 - push {r4-r6,lr} - ldr r4, =gUnknown_085B2B68 - movs r5, 0x3 -_08138756: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08138756 - movs r5, 0xC -_0813876A: - movs r4, 0x7 - adds r6, r5, 0x1 -_0813876E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _08138780 - b _081388CA -_08138780: - lsls r0, 2 - ldr r1, =_0813879C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813879C: - .4byte _08138860 - .4byte _08138866 - .4byte _08138880 - .4byte _08138888 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _08138870 - .4byte _08138876 - .4byte _08138890 - .4byte _08138898 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388A0 - .4byte _081388A8 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388B0 - .4byte _081388B0 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388C0 -_08138860: - movs r2, 0x8C - lsls r2, 2 - b _081388B2 -_08138866: - ldr r2, =0x00000231 - b _081388B2 - .pool -_08138870: - movs r2, 0x8E - lsls r2, 2 - b _081388B2 -_08138876: - ldr r2, =0x00000239 - b _081388B2 - .pool -_08138880: - ldr r2, =0x00000232 - b _081388B2 - .pool -_08138888: - ldr r2, =0x00000233 - b _081388B2 - .pool -_08138890: - ldr r2, =0x0000023a - b _081388B2 - .pool -_08138898: - ldr r2, =0x0000023b - b _081388B2 - .pool -_081388A0: - ldr r2, =0x00000e42 - b _081388B2 - .pool -_081388A8: - ldr r2, =0x00000e43 - b _081388B2 - .pool -_081388B0: - ldr r2, =0x0000021a -_081388B2: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _081388CA - .pool -_081388C0: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_081388CA: - adds r4, 0x1 - cmp r4, 0xF - bgt _081388D2 - b _0813876E -_081388D2: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _081388DA - b _0813876A -_081388DA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138750 - - thumb_func_start sub_81388E4 -sub_81388E4: @ 81388E4 - push {lr} - ldr r0, =gUnknown_0203AB5C - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB5D - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, =sub_8138910 - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81388E4 - - thumb_func_start sub_8138910 -sub_8138910: @ 8138910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_085B2B78 - ldr r5, =gUnknown_0203AB5D - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, =gUnknown_0203AB5C - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0813896C - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =gUnknown_085B2B7E - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl sub_8138978 - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08138970 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08138970 - .pool -_0813896C: - adds r0, r2, 0x1 - strb r0, [r4] -_08138970: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8138910 - - thumb_func_start sub_8138978 -sub_8138978: @ 8138978 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _08138A40 - lsls r0, 2 - ldr r1, =_081389A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081389A0: - .4byte _081389C0 - .4byte _081389D2 - .4byte _081389E4 - .4byte _081389F6 - .4byte _08138A04 - .4byte _08138A1A - .4byte _08138A26 - .4byte _08138A34 -_081389C0: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _08138A14 -_081389D2: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _08138A14 -_081389E4: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _08138A14 -_081389F6: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _08138A3E -_08138A04: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_08138A14: - strh r0, [r1] - strh r0, [r1, 0x2] - b _08138A40 -_08138A1A: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _08138A3E -_08138A26: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _08138A3E -_08138A34: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_08138A3E: - strh r0, [r1] -_08138A40: - movs r6, 0 - cmp r6, r7 - bcs _08138A92 - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_08138A5E: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08138A5E -_08138A92: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8138978 - - thumb_func_start sub_8138AA4 -sub_8138AA4: @ 8138AA4 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, =gUnknown_085B2B7E - ldrh r1, [r1, 0x8] - bl sub_8138978 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138AA4 - - thumb_func_start sub_8138AC0 -sub_8138AC0: @ 8138AC0 - push {lr} - ldr r0, =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138AC0 - - thumb_func_start sub_8138AD0 -sub_8138AD0: @ 8138AD0 - ldr r1, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_8138AD0 - - thumb_func_start sub_8138AF0 -sub_8138AF0: @ 8138AF0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8138AF0 - - thumb_func_start sub_8138B10 -sub_8138B10: @ 8138B10 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B34 - ldr r0, =gStringVar1 - ldr r1, =gText_BigGuy - bl StringCopy - b _08138B3C - .pool -_08138B34: - ldr r0, =gStringVar1 - ldr r1, =gText_BigGirl - bl StringCopy -_08138B3C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138B10 - - thumb_func_start sub_8138B48 -sub_8138B48: @ 8138B48 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B6C - ldr r0, =gStringVar1 - ldr r1, =gText_Daughter - bl StringCopy - b _08138B74 - .pool -_08138B6C: - ldr r0, =gStringVar1 - ldr r1, =gText_Son - bl StringCopy -_08138B74: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138B48 - - thumb_func_start sub_8138B80 -sub_8138B80: @ 8138B80 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8138B80 - - thumb_func_start sub_8138B8C -sub_8138B8C: @ 8138B8C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08138BB0 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl Overworld_SetWarpDestination - b _08138BC2 - .pool -_08138BB0: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination -_08138BC2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8138B8C - - thumb_func_start sub_8138BC8 -sub_8138BC8: @ 8138BC8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138BC8 - - thumb_func_start sub_8138BDC -sub_8138BDC: @ 8138BDC - push {lr} - ldr r0, =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000270f - cmp r0, r1 - bls _08138BF6 - adds r0, r1, 0 -_08138BF6: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8138BDC - - thumb_func_start sub_8138C04 -sub_8138C04: @ 8138C04 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _08138C2C - movs r0, 0x6 - b _08138C7E - .pool -_08138C2C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _08138C3C - movs r0, 0x5 - b _08138C7E -_08138C3C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _08138C4C - movs r0, 0x4 - b _08138C7E -_08138C4C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _08138C5C - movs r0, 0x3 - b _08138C7E -_08138C5C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _08138C6C - movs r0, 0x2 - b _08138C7E -_08138C6C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _08138C7C - movs r0, 0 - b _08138C7E -_08138C7C: - movs r0, 0x1 -_08138C7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8138C04 - - thumb_func_start sub_8138C84 -sub_8138C84: @ 8138C84 - push {lr} - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl sub_817018C - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138C84 - - thumb_func_start sub_8138C94 -sub_8138C94: @ 8138C94 - push {lr} - ldr r0, =sub_8138C84 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138C94 - - thumb_func_start sp0D9_ComputerRelated -sp0D9_ComputerRelated: @ 8138CA4 - push {r4,lr} - ldr r4, =sub_8138CE8 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138CD8 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138CD8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sp0D9_ComputerRelated - - thumb_func_start sub_8138CE8 -sub_8138CE8: @ 8138CE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138D06 - adds r0, r1, 0 - bl sub_8138D10 -_08138D06: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138CE8 - - thumb_func_start sub_8138D10 -sub_8138D10: @ 8138D10 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138D7C - strh r5, [r4, 0xE] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138D44 - cmp r0, 0x3 - bgt _08138D3A - cmp r0, 0x2 - beq _08138D40 - b _08138D4C -_08138D3A: - cmp r1, 0x4 - beq _08138D48 - b _08138D4C -_08138D40: - movs r6, 0 - b _08138D4A -_08138D44: - movs r6, 0xFF - b _08138D4A -_08138D48: - movs r6, 0x1 -_08138D4A: - movs r5, 0xFF -_08138D4C: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl sub_8138D88 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138D7C - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138D7C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8138D10 - - thumb_func_start sub_8138D88 -sub_8138D88: @ 8138D88 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _08138DC4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DAC - movs r3, 0x4 - b _08138DE6 - .pool -_08138DAC: - cmp r0, 0x1 - bne _08138DB8 - ldr r3, =0x0000025a - b _08138DE6 - .pool -_08138DB8: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x00000259 - b _08138DE6 - .pool -_08138DC4: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DD4 - movs r3, 0x5 - b _08138DE6 - .pool -_08138DD4: - cmp r0, 0x1 - bne _08138DE0 - ldr r3, =0x0000027f - b _08138DE6 - .pool -_08138DE0: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x0000027e -_08138DE6: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138D88 - - thumb_func_start sub_8138E20 -sub_8138E20: @ 8138E20 - push {lr} - bl sub_8138E2C - pop {r0} - bx r0 - thumb_func_end sub_8138E20 - - thumb_func_start sub_8138E2C -sub_8138E2C: @ 8138E2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138E56 - cmp r0, 0x3 - bgt _08138E4C - cmp r0, 0x2 - beq _08138E52 - b _08138E5E -_08138E4C: - cmp r1, 0x4 - beq _08138E5A - b _08138E5E -_08138E52: - movs r6, 0 - b _08138E5C -_08138E56: - movs r6, 0xFF - b _08138E5C -_08138E5A: - movs r6, 0x1 -_08138E5C: - movs r5, 0xFF -_08138E5E: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138E70 - movs r4, 0x4 - b _08138E82 - .pool -_08138E70: - cmp r0, 0x1 - bne _08138E7C - ldr r4, =0x0000025a - b _08138E82 - .pool -_08138E7C: - cmp r0, 0x2 - bne _08138E82 - ldr r4, =0x00000259 -_08138E82: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138E2C - - thumb_func_start sub_8138EC0 -sub_8138EC0: @ 8138EC0 - push {r4,lr} - ldr r4, =sub_8138F04 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138EF4 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138EF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138EC0 - - thumb_func_start sub_8138F04 -sub_8138F04: @ 8138F04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138F22 - adds r0, r1, 0 - bl sub_8138F2C -_08138F22: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138F04 - - thumb_func_start sub_8138F2C -sub_8138F2C: @ 8138F2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138F9A - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08138F64 - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _08138F7A - .pool -_08138F64: - ldr r2, =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_08138F7A: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138F9A - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138F9A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138F2C - - thumb_func_start sub_8138FAC -sub_8138FAC: @ 8138FAC - push {lr} - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138FAC - - thumb_func_start sub_8138FD4 -sub_8138FD4: @ 8138FD4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138FD4 - - thumb_func_start sub_8138FEC -sub_8138FEC: @ 8138FEC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138FEC - - thumb_func_start sub_8139004 -sub_8139004: @ 8139004 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _08139028 - movs r0, 0x1 - b _0813902A - .pool -_08139028: - movs r0, 0 -_0813902A: - pop {r1} - bx r1 - thumb_func_end sub_8139004 - - thumb_func_start sub_8139030 -sub_8139030: @ 8139030 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _08139054 - movs r0, 0x1 - b _08139056 - .pool -_08139054: - movs r0, 0 -_08139056: - pop {r1} - bx r1 - thumb_func_end sub_8139030 - - thumb_func_start sub_813905C -sub_813905C: @ 813905C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _08139080 - movs r0, 0x1 - b _08139082 - .pool -_08139080: - movs r0, 0 -_08139082: - pop {r1} - bx r1 - thumb_func_end sub_813905C - - thumb_func_start sub_8139088 -sub_8139088: @ 8139088 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _081390AC - movs r0, 0x1 - b _081390AE - .pool -_081390AC: - movs r0, 0 -_081390AE: - pop {r1} - bx r1 - thumb_func_end sub_8139088 - - thumb_func_start sub_81390B4 -sub_81390B4: @ 81390B4 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _081390D8 - movs r0, 0x1 - b _081390DA - .pool -_081390D8: - movs r0, 0 -_081390DA: - pop {r1} - bx r1 - thumb_func_end sub_81390B4 - - thumb_func_start sub_81390E0 -sub_81390E0: @ 81390E0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gBaseStats -_081390E6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813913C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0813913C - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _08139128 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0813913C -_08139128: - ldr r1, =gScriptResult - movs r0, 0x1 - b _0813914A - .pool -_0813913C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081390E6 - ldr r1, =gScriptResult - movs r0, 0 -_0813914A: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81390E0 - - thumb_func_start SpawnScriptFieldObject -SpawnScriptFieldObject: @ 8139158 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end SpawnScriptFieldObject - - thumb_func_start RemoveScriptFieldObject -RemoveScriptFieldObject: @ 81391AC - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveFieldObjectByLocalIdAndMap - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScriptFieldObject - - thumb_func_start sub_81391D0 -sub_81391D0: @ 81391D0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl sub_8137068 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81391D0 - - thumb_func_start sub_8139200 -sub_8139200: @ 8139200 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139200 - - thumb_func_start sub_8139228 -sub_8139228: @ 8139228 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8139228 - - thumb_func_start sub_8139238 -sub_8139238: @ 8139238 - push {lr} - ldr r0, =gStringVar1 - bl GetEreaderTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139238 - - thumb_func_start sub_8139248 -sub_8139248: @ 8139248 - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =0x00002e68 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, =0x00002e6a - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, =gUnknown_085B2B88 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _08139294 - ldr r4, =gUnknown_085B2B94 - b _08139296 - .pool -_08139294: - ldr r4, =gUnknown_085B2BA0 -_08139296: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139248 - - thumb_func_start sub_81392AC -sub_81392AC: @ 81392AC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000213 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392CC - movs r0, 0x1 - b _081392CE - .pool -_081392CC: - movs r0, 0 -_081392CE: - pop {r1} - bx r1 - thumb_func_end sub_81392AC - - thumb_func_start sub_81392D4 -sub_81392D4: @ 81392D4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x85 - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392F0 - movs r0, 0x1 - b _081392F2 - .pool -_081392F0: - movs r0, 0 -_081392F2: - pop {r1} - bx r1 - thumb_func_end sub_81392D4 - - thumb_func_start sub_81392F8 -sub_81392F8: @ 81392F8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000215 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139318 - movs r0, 0x1 - b _0813931A - .pool -_08139318: - movs r0, 0 -_0813931A: - pop {r1} - bx r1 - thumb_func_end sub_81392F8 - - thumb_func_start sub_8139320 -sub_8139320: @ 8139320 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000216 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139340 - movs r0, 0x1 - b _08139342 - .pool -_08139340: - movs r0, 0 -_08139342: - pop {r1} - bx r1 - thumb_func_end sub_8139320 - - thumb_func_start sub_8139348 -sub_8139348: @ 8139348 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139348 - - thumb_func_start sub_8139370 -sub_8139370: @ 8139370 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x47 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _081393B6 - adds r0, r4, 0 - movs r1, 0x47 - bl sub_80EE4DC -_081393B6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139370 - - thumb_func_start sub_81393C8 -sub_81393C8: @ 81393C8 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, =0x01fd0000 - cmp r0, r1 - bhi _081393F4 - movs r0, 0 - b _081393F6 - .pool -_081393F4: - movs r0, 0x1 -_081393F6: - pop {r1} - bx r1 - thumb_func_end sub_81393C8 - - thumb_func_start sub_81393FC -sub_81393FC: @ 81393FC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08139454 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _08139454 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139434 - ldr r0, =0x0000409a - movs r1, 0x4 - b _08139446 - .pool -_08139434: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139454 - ldr r0, =0x0000409a - movs r1, 0x5 -_08139446: - bl VarSet - movs r0, 0x1 - b _08139456 - .pool -_08139454: - movs r0, 0 -_08139456: - pop {r1} - bx r1 - thumb_func_end sub_81393FC - - thumb_func_start sub_813945C -sub_813945C: @ 813945C - push {lr} - ldr r0, =0x000008bf - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_813945C - - thumb_func_start sub_813946C -sub_813946C: @ 813946C - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813946C - - thumb_func_start sub_81394D8 -sub_81394D8: @ 81394D8 - push {r4-r6,lr} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl sub_8133EDC - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139526 -_081394FA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0813951C - movs r0, 0x1 - b _08139528 - .pool -_0813951C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081394FA -_08139526: - movs r0, 0 -_08139528: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81394D8 - - thumb_func_start sub_8139530 -sub_8139530: @ 8139530 - push {lr} - bl sub_80D2218 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139530 - - thumb_func_start sub_8139540 -sub_8139540: @ 8139540 - push {lr} - ldr r0, =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _08139558 - movs r0, 0x1 - b _0813955A - .pool -_08139558: - movs r0, 0 -_0813955A: - pop {r1} - bx r1 - thumb_func_end sub_8139540 - - thumb_func_start sub_8139560 -sub_8139560: @ 8139560 - push {lr} - ldr r0, =sub_81395BC - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139560 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08139614 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08139614 - adds r0, r5, 0 - bl sub_8139620 - bl InstallCameraPanAheadCallback -_08139614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81395BC - - thumb_func_start sub_8139620 -sub_8139620: @ 8139620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8139620 - - thumb_func_start sub_8139634 -sub_8139634: @ 8139634 - push {lr} - movs r0, 0x95 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139634 - - thumb_func_start sub_8139648 -sub_8139648: @ 8139648 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139664 - movs r0, 0x14 - bl SetSav1Weather -_08139664: - pop {r0} - bx r0 - thumb_func_end sub_8139648 - - thumb_func_start sub_8139668 -sub_8139668: @ 8139668 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139684 - movs r0, 0x15 - bl SetSav1Weather -_08139684: - pop {r0} - bx r0 - thumb_func_end sub_8139668 - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 8139688 - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081396D6 -_08139698: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081396CC - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _081396CC - adds r0, r5, 0 - b _081396D8 - .pool -_081396CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08139698 -_081396D6: - movs r0, 0 -_081396D8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start sub_81396E0 -sub_81396E0: @ 81396E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81396E0 - - thumb_func_start nullsub_54 -nullsub_54: @ 8139708 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_813970C -sub_813970C: @ 813970C - push {r4,lr} - ldr r0, =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _08139734 - movs r0, 0 - b _0813974C - .pool -_08139734: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0813974A - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0813974C -_0813974A: - movs r0, 0x8 -_0813974C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813970C - - thumb_func_start sub_8139754 -sub_8139754: @ 8139754 - push {r4,lr} - ldr r0, =0x000040c2 - ldr r4, =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139754 - - thumb_func_start sub_8139770 -sub_8139770: @ 8139770 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x2 - bne _081397A6 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - ldr r4, =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _081397BC -_081397A6: - movs r0, 0x1 - b _081397BE - .pool -_081397BC: - movs r0, 0 -_081397BE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8139770 - - thumb_func_start sub_81397C4 -sub_81397C4: @ 81397C4 - push {r4,r5,lr} - ldr r2, =gScriptResult - ldrh r1, [r2] - ldr r0, =0x0000270f - cmp r1, r0 - bls _081397E0 - movs r0, 0 - bl TV_PrintIntToStringVar - b _08139862 - .pool -_081397E0: - ldr r0, =0x000003e7 - cmp r1, r0 - bls _081397F8 - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0813981C - .pool -_081397F8: - cmp r1, 0x63 - bls _0813980C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0813981C - .pool -_0813980C: - cmp r1, 0x9 - bls _0813983C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0813981C: - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80EF370 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _08139862 - .pool -_0813983C: - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80EF370 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_08139862: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81397C4 - - thumb_func_start sub_813986C -sub_813986C: @ 813986C - push {lr} - ldr r0, =gScriptResult - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081398B8 - lsls r0, 2 - ldr r1, =_08139888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139888: - .4byte _0813989C - .4byte _081398A0 - .4byte _081398A4 - .4byte _081398A8 - .4byte _081398AC -_0813989C: - movs r0, 0x3 - b _081398AE -_081398A0: - movs r0, 0x4 - b _081398AE -_081398A4: - movs r0, 0 - b _081398AE -_081398A8: - movs r0, 0x1 - b _081398AE -_081398AC: - movs r0, 0x2 -_081398AE: - bl mevent_081445C0 - lsls r0, 16 - lsrs r0, 16 - b _081398BA -_081398B8: - movs r0, 0 -_081398BA: - pop {r1} - bx r1 - thumb_func_end sub_813986C - - thumb_func_start sub_81398C0 -sub_81398C0: @ 81398C0 - push {r4,lr} - ldr r1, =gSpecialVar_0x8004 - ldr r2, =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _081398E0 - movs r0, 0 - b _081398FC - .pool -_081398E0: - ldr r4, =gStringVar2 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_081398FC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81398C0 - - thumb_func_start sub_813990C -sub_813990C: @ 813990C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139942 -_0813991C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _08139938 - movs r0, 0x1 - b _08139944 - .pool -_08139938: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0813991C -_08139942: - movs r0, 0 -_08139944: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813990C - - thumb_func_start InMultiBattleRoom -InMultiBattleRoom: @ 813994C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00000f1a - cmp r1, r0 - bne _08139978 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08139978 - movs r0, 0x1 - b _0813997A - .pool -_08139978: - movs r0, 0 -_0813997A: - pop {r1} - bx r1 - thumb_func_end InMultiBattleRoom - - thumb_func_start sub_8139980 -sub_8139980: @ 8139980 - push {lr} - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x8 - movs r1, 0 - bl SetCameraPanning - pop {r0} - bx r0 - thumb_func_end sub_8139980 - - thumb_func_start sub_8139994 -sub_8139994: @ 8139994 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _081399E4 - lsls r0, 2 - ldr r1, =_081399B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081399B8: - .4byte _081399E4 - .4byte _081399D0 - .4byte _081399D4 - .4byte _081399D8 - .4byte _081399DC - .4byte _081399E0 -_081399D0: - movs r1, 0x5 - b _081399E6 -_081399D4: - movs r1, 0x6 - b _081399E6 -_081399D8: - movs r1, 0x7 - b _081399E6 -_081399DC: - movs r1, 0x8 - b _081399E6 -_081399E0: - movs r1, 0xF - b _081399E6 -_081399E4: - movs r1, 0x4 -_081399E6: - ldr r0, =0x00004043 - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139994 - - thumb_func_start sub_81399F4 -sub_81399F4: @ 81399F4 - push {r4,lr} - ldr r2, =gUnknown_0203AB60 - movs r0, 0 - strh r0, [r2] - ldr r1, =gUnknown_0203AB62 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0x14 - ldrsb r0, [r3, r0] - adds r4, r1, 0 - cmp r0, 0xD - bne _08139A6E - ldrb r0, [r3, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _08139A6E - lsls r0, 2 - ldr r1, =_08139A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139A34: - .4byte _08139A66 - .4byte _08139A5E - .4byte _08139A56 - .4byte _08139A4E - .4byte _08139A48 -_08139A48: - movs r0, 0 - strh r0, [r2] - b _08139A6C -_08139A4E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 - b _08139A6C -_08139A56: - movs r0, 0 - strh r0, [r2] - movs r0, 0x2 - b _08139A6C -_08139A5E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x3 - b _08139A6C -_08139A66: - movs r0, 0 - strh r0, [r2] - movs r0, 0x4 -_08139A6C: - strh r0, [r4] -_08139A6E: - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81399F4 - - thumb_func_start sub_8139A78 -sub_8139A78: @ 8139A78 - push {r4-r6,lr} - ldr r0, =sub_8139AF4 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r3, 0 - strh r3, [r4, 0x2] - strh r3, [r4, 0x4] - movs r6, 0x1 - strh r6, [r4, 0x8] - ldr r0, =gSpecialVar_0x8005 - ldr r1, =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _08139AC0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _08139AC8 - .pool -_08139AC0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_08139AC8: - cmp r5, 0x8 - bls _08139ACE - movs r5, 0x8 -_08139ACE: - ldr r0, =gUnknown_085B2C18 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r4, 0xA] - movs r0, 0 - bl SetCameraPanningCallback - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl sub_8139C2C - movs r0, 0x59 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139A78 - - thumb_func_start sub_8139AF4 -sub_8139AF4: @ 8139AF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08139B54 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08139B54 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08139B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139AF4 - - thumb_func_start sub_8139B60 -sub_8139B60: @ 8139B60 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r5, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B2BAC - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gText_ElevatorNowOn - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - ldr r6, =gUnknown_085B2BB4 - ldr r4, =gSpecialVar_0x8005 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - ldrh r1, [r4] - lsls r1, 2 - adds r1, r6 - ldr r2, [r1] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x11 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - bl PrintTextOnWindow - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139B60 - - thumb_func_start sub_8139C10 -sub_8139C10: @ 8139C10 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C10 - - thumb_func_start sub_8139C2C -sub_8139C2C: @ 8139C2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, =sub_8139C80 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139C6C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - ldr r0, =gUnknown_085B2C21 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_08139C6C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C2C - - thumb_func_start sub_8139C80 -sub_8139C80: @ 8139C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _08139D7C - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08139D10 - movs r1, 0 - ldr r2, =gUnknown_085B2BF4 - mov r10, r2 -_08139CBA: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139CCA: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139CCA - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139CBA - b _08139D62 - .pool -_08139D10: - movs r1, 0 - ldr r0, =gUnknown_085B2C06 - mov r10, r0 -_08139D16: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139D26: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139D26 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139D16 -_08139D62: - bl DrawWholeMapView - movs r0, 0 - strh r0, [r6, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - bne _08139D7C - ldr r0, [sp] - bl DestroyTask -_08139D7C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C80 - - thumb_func_start sub_8139D98 -sub_8139D98: @ 8139D98 - push {r4-r7,lr} - sub sp, 0x18 - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x27 - bl GetMonData - str r0, [sp] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x28 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x29 - bl GetMonData - str r0, [sp, 0x8] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2A - bl GetMonData - str r0, [sp, 0xC] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2B - bl GetMonData - str r0, [sp, 0x10] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2C - bl GetMonData - str r0, [sp, 0x14] - ldr r1, =gSpecialVar_0x8005 - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r2, r1, 0 -_08139E00: - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - ldrh r0, [r2] - adds r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E00 - ldr r2, =gSpecialVar_0x8006 - movs r0, 0 - strh r0, [r2] - ldr r1, =gSpecialVar_0x8007 - ldr r0, [sp] - strh r0, [r1] - movs r4, 0x1 - adds r6, r2, 0 - adds r7, r1, 0 -_08139E28: - ldrh r0, [r6] - lsls r0, 2 - mov r2, sp - adds r1, r2, r0 - lsls r0, r4, 2 - adds r5, r2, r0 - ldr r1, [r1] - ldr r0, [r5] - cmp r1, r0 - bcs _08139E54 - strh r4, [r6] - b _08139E6C - .pool -_08139E54: - cmp r1, r0 - bne _08139E6E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139E6E - strh r4, [r6] - ldr r0, [r5] -_08139E6C: - strh r0, [r7] -_08139E6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E28 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8139D98 - - thumb_func_start warp0_in_pokecenter -warp0_in_pokecenter: @ 8139E80 - push {r4,lr} - ldr r0, =gUnknown_020322DC - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B2C2A - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _08139EC6 - adds r4, r1, 0 - adds r1, r2, 0 -_08139EA4: - ldrh r0, [r2] - cmp r0, r3 - bne _08139EBC - movs r0, 0x1 - b _08139EC8 - .pool -_08139EBC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _08139EA4 -_08139EC6: - movs r0, 0 -_08139EC8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp0_in_pokecenter - - thumb_func_start sub_8139ED0 -sub_8139ED0: @ 8139ED0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003c1a - cmp r1, r0 - beq _08139EEC - movs r0, 0x1 - b _08139EEE - .pool -_08139EEC: - movs r0, 0 -_08139EEE: - pop {r1} - bx r1 - thumb_func_end sub_8139ED0 - - thumb_func_start sub_8139EF4 -sub_8139EF4: @ 8139EF4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000402f - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xA - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139EF4 - - thumb_func_start sub_8139F20 -sub_8139F20: @ 8139F20 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =0x0000402f - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08139F34 - b _0813A03A -_08139F34: - lsls r0, r6, 2 - ldr r1, =_08139F48 - adds r1, r0, r1 - ldr r1, [r1] - adds r2, r0, 0 - mov pc, r1 - .pool - .align 2, 0 -_08139F48: - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F94 - .4byte _08139FB4 - .4byte _08139FCC - .4byte _08139FE4 - .4byte _08139FFC - .4byte _0813A014 -_08139F70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r1, r0, r3 - adds r3, r1, r2 - ldr r1, =0x00000ce2 - adds r0, r1 - adds r1, r0, r2 - ldrh r0, [r3] - ldrh r2, [r1] - cmp r0, r2 - bcs _0813A028 - b _0813A038 - .pool -_08139F94: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d0c - adds r2, r0, r3 - adds r3, 0x2 -_08139F9E: - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _0813A028 - b _0813A038 - .pool -_08139FB4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000de2 - adds r2, r0, r1 - ldr r3, =0x00000de4 - b _08139F9E - .pool -_08139FCC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dc8 - adds r2, r0, r1 - ldr r3, =0x00000dca - b _08139F9E - .pool -_08139FE4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dda - adds r2, r0, r1 - ldr r3, =0x00000ddc - b _08139F9E - .pool -_08139FFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e04 - adds r2, r0, r1 - ldr r3, =0x00000e06 - b _08139F9E - .pool -_0813A014: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1a - adds r2, r0, r1 - ldr r3, =0x00000e1c - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcc _0813A038 -_0813A028: - adds r4, r0, 0 - b _0813A03A - .pool -_0813A038: - ldrh r4, [r1] -_0813A03A: - movs r2, 0 - ldr r5, =gUnknown_085B2CC8 - lsls r0, r6, 1 - adds r1, r0, r5 - ldrb r1, [r1] - adds r3, r0, 0 - ldr r7, =gUnknown_085B2C50 - cmp r1, r4 - bcs _0813A062 - adds r1, r3, 0 -_0813A04E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bhi _0813A062 - adds r0, r2, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r4 - bcc _0813A04E -_0813A062: - adds r0, r3, r6 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139F20 - - thumb_func_start sub_813A080 -sub_813A080: @ 813A080 - push {r4-r7,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - cmp r5, 0x2 - bne _0813A0D8 - movs r0, 0xA9 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813A0D8 - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x5 - strh r0, [r1] - ldr r1, =gSpecialVar_0x8006 - movs r0, 0x4 - strh r0, [r1] - b _0813A110 - .pool -_0813A0D0: - movs r0, 0x4 - strh r0, [r6] - adds r0, r3, 0x5 - b _0813A10E -_0813A0D8: - movs r3, 0 - ldr r6, =gSpecialVar_0x8005 - ldr r7, =gSpecialVar_0x8006 - lsls r1, r4, 1 - lsls r2, r5, 2 - ldr r4, =gUnknown_085B2CDC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r2 - movs r2, 0xCE - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] -_0813A0F4: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r1 - bhi _0813A0D0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _0813A0F4 - movs r0, 0x4 - strh r0, [r6] - movs r0, 0xC -_0813A10E: - strh r0, [r7] -_0813A110: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A080 - - thumb_func_start sub_813A128 -sub_813A128: @ 813A128 - push {r4,lr} - ldr r0, =sub_813A2DC - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - strh r0, [r3, 0x1E] - ldrh r0, [r1] - cmp r0, 0xC - bls _0813A14E - b _0813A2C6 -_0813A14E: - lsls r0, 2 - ldr r1, =_0813A168 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813A168: - .4byte _0813A19C - .4byte _0813A1AA - .4byte _0813A1C2 - .4byte _0813A1D6 - .4byte _0813A1F0 - .4byte _0813A208 - .4byte _0813A222 - .4byte _0813A23C - .4byte _0813A25A - .4byte _0813A274 - .4byte _0813A274 - .4byte _0813A28E - .4byte _0813A2A8 -_0813A19C: - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - b _0813A2BC -_0813A1AA: - movs r1, 0 - movs r0, 0x5 - strh r0, [r3, 0x8] - movs r0, 0x8 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x9 - strh r0, [r3, 0x10] - movs r0, 0xA - b _0813A2BE -_0813A1C2: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x7 - b _0813A250 -_0813A1D6: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A1F0: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A208: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A222: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A23C: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE -_0813A250: - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A25A: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xB - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A274: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A28E: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x13 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xA - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A2A8: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xC -_0813A2BC: - strh r0, [r3, 0x10] -_0813A2BE: - strh r0, [r3, 0x12] - strh r1, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A2C6: - ldr r1, =gScriptResult - movs r0, 0x7F - strh r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813A2D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A128 - - thumb_func_start sub_813A2DC -sub_813A2DC: @ 813A2DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - bl ScriptContext2_Enable - ldr r0, =gUnknown_0203AB68 - movs r5, 0 - strh r5, [r0] - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] - ldrh r0, [r6, 0x1E] - movs r1, 0 - bl sub_813AA60 - ldrb r0, [r6, 0x1E] - movs r1, 0 - bl sub_813ACE8 - ldr r4, =gUnknown_0203AB64 - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - ldr r0, =gUnknown_0203AB6A - strh r5, [r0] - bl sub_813A42C - movs r3, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r6, r2] - add r1, sp, 0x18 - mov r8, r1 - cmp r3, r0 - bge _0813A36A - ldr r5, =gUnknown_085B2CF0 -_0813A33A: - lsls r1, r4, 2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r5 - ldr r0, [r1] - ldr r1, =gUnknown_0203AB64 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r1, r3, 0 - bl display_text_and_get_width - adds r3, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r4, r0 - blt _0813A33A -_0813A36A: - adds r0, r3, 0 - bl convert_pixel_width_to_tile_width - strh r0, [r6, 0x10] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r2, 0x10 - ldrsh r1, [r6, r2] - adds r0, r1 - cmp r0, 0x1D - ble _0813A38C - movs r0, 0x1D - subs r0, r1 - cmp r0, 0 - bge _0813A38A - movs r0, 0 -_0813A38A: - strh r0, [r6, 0xC] -_0813A38C: - ldrb r2, [r6, 0xC] - ldrb r3, [r6, 0xE] - ldrb r0, [r6, 0x10] - str r0, [sp] - ldrb r0, [r6, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x64 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl sub_8198A50 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r8 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gUnknown_030061D0 - ldrh r0, [r6, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r6, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r6, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_813A694 - ldrh r1, [r6, 0x16] - ldrh r2, [r6, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A2DC - - thumb_func_start sub_813A42C -sub_813A42C: @ 813A42C - ldr r1, =gUnknown_030061D0 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - str r0, [r1] - ldr r0, =sub_813A46C - str r0, [r1, 0x4] - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strb r2, [r1, 0x10] - strb r2, [r1, 0x11] - movs r0, 0x8 - strb r0, [r1, 0x12] - strb r2, [r1, 0x13] - movs r0, 0x21 - strb r0, [r1, 0x14] - movs r0, 0x31 - strb r0, [r1, 0x15] - movs r0, 0 - strb r0, [r1, 0x16] - movs r0, 0x1 - strb r0, [r1, 0x17] - bx lr - .pool - thumb_func_end sub_813A42C - - thumb_func_start sub_813A46C -sub_813A46C: @ 813A46C - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_813A4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0813A4D4 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - bl get_coro_args_x18_x1A - ldr r1, =gUnknown_0203AB68 - mov r0, sp - ldrh r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl sub_81AE838 - ldrh r0, [r4, 0x1E] - ldr r5, =gUnknown_0203AB6A - ldrh r1, [r5] - bl sub_813AC44 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AA60 - ldrb r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AD34 - mov r0, sp - ldrh r0, [r0] - strh r0, [r5] -_0813A4D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A46C - - thumb_func_start sub_813A4EC -sub_813A4EC: @ 813A4EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenuHandleInput - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813A51C - adds r0, 0x1 - cmp r4, r0 - bne _0813A530 - b _0813A566 - .pool -_0813A51C: - ldr r1, =gScriptResult - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _0813A54C - .pool -_0813A530: - ldr r0, =gScriptResult - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0813A54C - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _0813A558 -_0813A54C: - adds r0, r5, 0 - bl sub_813A570 - b _0813A566 - .pool -_0813A558: - adds r0, r5, 0 - bl sub_813A738 - ldr r0, =sub_813A600 - str r0, [r6] - bl EnableBothScriptContexts -_0813A566: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A4EC - - thumb_func_start sub_813A570 -sub_813A570: @ 813A570 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl sub_81AE838 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AC44 - adds r0, r5, 0 - bl sub_813A738 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A570 - - thumb_func_start sub_813A600 -sub_813A600: @ 813A600 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0813A624 - cmp r0, 0x2 - bne _0813A624 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, =sub_813A664 - str r0, [r1] -_0813A624: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A600 - - thumb_func_start sub_813A630 -sub_813A630: @ 813A630 - push {lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0813A64C - bl EnableBothScriptContexts - b _0813A65C - .pool -_0813A64C: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - adds r0, 0x1 - strh r0, [r1, 0x14] -_0813A65C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A630 - - thumb_func_start sub_813A664 -sub_813A664: @ 813A664 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_813A694 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A664 - - thumb_func_start sub_813A694 -sub_813A694: @ 813A694 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, =gUnknown_085B3030 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A724 - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - movs r3, 0 - strb r1, [r2, 0x1] - mov r1, sp - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - strb r1, [r2, 0x4] - mov r1, sp - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, 0xA - strb r0, [r1, 0x5] - mov r0, sp - strh r3, [r0, 0x6] - mov r2, sp - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - subs r0, r1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_0203AB68 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_0813A724: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A694 - - thumb_func_start sub_813A738 -sub_813A738: @ 813A738 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _0813A75E - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_0813A75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A738 - - thumb_func_start nullsub_55 -nullsub_55: @ 813A768 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_813A76C -sub_813A76C: @ 813A76C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gLinkPlayers - ldr r0, =0x0000401f - adds r5, r0, 0 -_0813A776: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813A79C - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl VarSet - b _0813A7A8 - .pool -_0813A79C: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x69 - bl VarSet -_0813A7A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0813A776 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A76C - - thumb_func_start sub_813A7B8 -sub_813A7B8: @ 813A7B8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x5 - bls _0813A7C6 - movs r0, 0 - strh r0, [r1] -_0813A7C6: - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - ldr r1, =gUnknown_085B3040 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7B8 - - thumb_func_start sub_813A7F4 -sub_813A7F4: @ 813A7F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004030 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xC - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7F4 - - thumb_func_start sub_813A820 -sub_813A820: @ 813A820 - push {r4,lr} - ldr r0, =0x00004030 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gUnknown_085B30A4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - ldr r0, =0x00004031 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A820 - - thumb_func_start sub_813A854 -sub_813A854: @ 813A854 - push {r4,lr} - ldr r4, =gUnknown_085B30D4 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A854 - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004033 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813A8F0 - ldr r1, =gUnknown_085B3104 - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r5, 8 - adds r0, r7 - cmp r1, r0 - bne _0813A8F0 - mov r0, r8 - cmp r0, 0 - beq _0813A8E8 - adds r0, r4, 0 - movs r1, 0x2 - bl VarSet - b _0813A8F0 - .pool -_0813A8E8: - adds r0, r4, 0 - movs r1, 0x3 - bl VarSet -_0813A8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8FC -sub_813A8FC: @ 813A8FC - push {lr} - sub sp, 0x2C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r1, [r0] - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_BP - bl StringCopy - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x30 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB6D - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - add sp, 0x2C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A8FC - - thumb_func_start sub_813A958 -sub_813A958: @ 813A958 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldr r0, =gUnknown_085B311C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - bl sub_813A8FC - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A958 - - thumb_func_start sub_813A988 -sub_813A988: @ 813A988 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A988 - - thumb_func_start sub_813A9A4 -sub_813A9A4: @ 813A9A4 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000eb8 - adds r1, r0, r2 - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r1] - ldrh r0, [r0] - cmp r2, r0 - bcs _0813A9C8 - movs r0, 0 - b _0813A9CA - .pool -_0813A9C8: - subs r0, r2, r0 -_0813A9CA: - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_813A9A4 - - thumb_func_start sub_813A9D0 -sub_813A9D0: @ 813A9D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r1, r0 - ldr r0, =0x0000270f - cmp r1, r0 - ble _0813A9FC - strh r0, [r2] - b _0813A9FE - .pool -_0813A9FC: - strh r1, [r2] -_0813A9FE: - pop {r0} - bx r0 - thumb_func_end sub_813A9D0 - - thumb_func_start sub_813AA04 -sub_813AA04: @ 813AA04 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_813AA04 - - thumb_func_start sub_813AA18 -sub_813AA18: @ 813AA18 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldr r0, =gUnknown_085B3124 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA18 - - thumb_func_start sub_813AA44 -sub_813AA44: @ 813AA44 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA44 - - thumb_func_start sub_813AA60 -sub_813AA60: @ 813AA60 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsrs r4, r0, 16 - ldr r1, =0xfffd0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x3 - bls _0813AA78 - b _0813ABC2 -_0813AA78: - movs r0, 0xD8 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0x4 - beq _0813AAE8 - cmp r4, 0x4 - bgt _0813AAA0 - cmp r4, 0x3 - beq _0813AAAA - b _0813ABC2 - .pool -_0813AAA0: - cmp r4, 0x5 - beq _0813AB5C - cmp r4, 0x6 - beq _0813AB94 - b _0813ABC2 -_0813AAAA: - ldr r1, =gUnknown_085B3170 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B312C - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - beq _0813AB18 - b _0813AB2C - .pool -_0813AAE8: - ldr r1, =gUnknown_085B319C - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B3142 - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - bne _0813AB2C -_0813AB18: - ldrh r0, [r1] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB2C: - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - lsls r0, r5, 24 - lsrs r0, 24 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x21 - movs r2, 0x58 - movs r3, 0 - bl AddDecorationIconObject - ldr r1, =gUnknown_0203AB6C - strb r0, [r1] - b _0813ABC2 - .pool -_0813AB5C: - ldr r1, =gUnknown_085B31B4 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B314E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB94: - ldr r1, =gUnknown_085B31D0 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B315C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 -_0813ABC2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA60 - - thumb_func_start sub_813ABD4 -sub_813ABD4: @ 813ABD4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl AddItemIconObject - ldr r4, =gUnknown_0203AB6C - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813AC32 - ldr r3, =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x24 - strh r1, [r0, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0, 0x22] -_0813AC32: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ABD4 - - thumb_func_start sub_813AC44 -sub_813AC44: @ 813AC44 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =gUnknown_0203AB6C - ldrb r0, [r2] - cmp r0, 0x40 - beq _0813AC70 - cmp r1, 0x6 - bgt _0813AC6A - cmp r1, 0x3 - blt _0813AC6A - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources -_0813AC6A: - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] -_0813AC70: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC44 - - thumb_func_start sub_813AC7C -sub_813AC7C: @ 813AC7C - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - beq _0813ACB8 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B320C - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _0813ACD2 - .pool -_0813ACB8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B31F8 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy -_0813ACD2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC7C - - thumb_func_start sub_813ACE8 -sub_813ACE8: @ 813ACE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813AD20 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - bne _0813AD18 - ldr r4, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B3220 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle -_0813AD18: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_813AD34 -_0813AD20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ACE8 - - thumb_func_start sub_813AD34 -sub_813AD34: @ 813AD34 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r7, r5, 0 - lsrs r6, r0, 24 - movs r1, 0xF7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813ADAC - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x60 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r6, 0xA - bne _0813AD90 - ldrb r0, [r4] - ldr r2, =gUnknown_085B3254 - lsls r1, r5, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - b _0813ADAC - .pool -_0813AD90: - ldrb r0, [r4] - ldr r2, =gUnknown_085B3228 - lsls r1, r7, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow -_0813ADAC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AD34 - - thumb_func_start sub_813ADB8 -sub_813ADB8: @ 813ADB8 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADB8 - - thumb_func_start sub_813ADD4 -sub_813ADD4: @ 813ADD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0813AE90 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl get_coro_args_x18_x1A - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - movs r5, 0 - mov r9, r4 - ldr r0, =gUnknown_085B2CF0 - mov r8, r0 - movs r4, 0 -_0813AE1E: - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x14 - ldrh r2, [r1] - adds r2, r5 - lsls r2, 2 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 6 - adds r2, r1 - add r2, r8 - ldr r2, [r2] - lsls r1, r5, 28 - lsrs r1, 24 - str r1, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r3, 0xA - bl sub_8199F74 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0813AE1E - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gText_SelectorArrow - mov r3, r9 - ldrh r1, [r3] - lsls r1, 28 - lsrs r1, 24 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram -_0813AE90: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADD4 - - thumb_func_start sub_813AEB4 -sub_813AEB4: @ 813AEB4 - push {r4,lr} - movs r1, 0 - ldr r0, =gSpecialVar_0x8005 - strh r1, [r0] - ldr r0, =0x0000400e - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000400d - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r4, 0 - beq _0813AF18 - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B320C - adds r0, r1, r0 - ldrh r1, [r0] -_0813AEE2: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AEE2 - b _0813AF38 - .pool -_0813AF0C: - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] - b _0813AF38 - .pool -_0813AF18: - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B31F8 - adds r0, r1, r0 - ldrh r1, [r0] -_0813AF24: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AF24 -_0813AF38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AEB4 - - thumb_func_start sub_813AF48 -sub_813AF48: @ 813AF48 - push {r4,r5,lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0813AFB6 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_0813AFB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AF48 - - thumb_func_start sub_813AFC8 -sub_813AFC8: @ 813AFC8 - push {lr} - ldr r0, =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AFC8 - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 813AFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =0x000008d4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B004 - ldr r1, =gScriptResult - movs r0, 0x3 - b _0813B06A - .pool -_0813B004: - ldr r0, =0x00004035 - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - cmp r5, 0 - beq _0813B05C - ldr r0, =gUnknown_085B33F6 - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _0813B05C - movs r0, 0 - bl sub_813B0B4 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, =gScriptResult - movs r0, 0 - strh r0, [r1] - b _0813B070 - .pool -_0813B05C: - cmp r5, 0xA - bne _0813B080 - ldr r0, =0x000008d4 - bl FlagSet - ldr r1, =gScriptResult - movs r0, 0x2 -_0813B06A: - strh r0, [r1] - bl EnableBothScriptContexts -_0813B070: - adds r0, r7, 0 - bl DestroyTask - b _0813B0A2 - .pool -_0813B080: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813B0B4 - ldr r0, =0x00004035 - adds r1, r5, 0 - bl VarSet - ldr r1, =gScriptResult - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_0813B0A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_deoxys_sound - - thumb_func_start sub_813B0B4 -sub_813B0B4: @ 813B0B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - cmp r4, 0 - bne _0813B0F0 - movs r0, 0xC4 - bl PlaySE - b _0813B0F8 - .pool -_0813B0F0: - movs r0, 0x82 - lsls r0, 1 - bl PlaySE -_0813B0F8: - ldr r0, =sub_813B160 - movs r1, 0x8 - bl CreateTask - ldr r3, =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x3A - str r0, [r3, 0x4] - movs r0, 0x1A - str r0, [r3, 0x8] - ldr r0, =gUnknown_085B33E0 - lsls r2, r4, 1 - adds r1, r2, r0 - ldrb r1, [r1] - str r1, [r3, 0xC] - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - str r0, [r3, 0x10] - adds r5, r2, 0 - cmp r4, 0 - bne _0813B138 - movs r0, 0x3C - b _0813B13A - .pool -_0813B138: - movs r0, 0x5 -_0813B13A: - str r0, [r3, 0x14] - movs r0, 0x42 - bl FieldEffectStart - ldr r0, =gUnknown_085B33E0 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetMapObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B0B4 - - thumb_func_start sub_813B160 -sub_813B160: @ 813B160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x42 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0813B17C - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B17C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B160 - - thumb_func_start increment_var_x4026_on_birth_island_modulo_100 -increment_var_x4026_on_birth_island_modulo_100: @ 813B184 - push {r4,lr} - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003a1a - cmp r1, r0 - bne _0813B1C8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0813B1C0 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _0813B1C8 - .pool -_0813B1C0: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_0813B1C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end increment_var_x4026_on_birth_island_modulo_100 - - thumb_func_start sub_813B1D0 -sub_813B1D0: @ 813B1D0 - push {lr} - ldr r0, =0x00004035 - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0x80 - lsls r0, 19 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B1D0 - - thumb_func_start set_unknown_box_id -@ void set_unknown_box_id(char id) -set_unknown_box_id: @ 813B204 - ldr r1, =gUnknown_0203AB6F - strb r0, [r1] - bx lr - .pool - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 813B210 - ldr r0, =gUnknown_0203AB6F - ldrb r0, [r0] - bx lr - .pool - thumb_func_end get_unknown_box_id - - thumb_func_start sub_813B21C -sub_813B21C: @ 813B21C - push {r4,r5,lr} - ldr r5, =0x000008d7 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813B258 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0813B258 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _0813B25A - .pool -_0813B258: - movs r0, 0 -_0813B25A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813B21C - - thumb_func_start sub_813B260 -sub_813B260: @ 813B260 - push {r4-r7,lr} - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_0813B278: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_0813B27E: - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl GetBoxedMonPtr - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0813B2C0 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _0813B2A6 - ldr r0, =0x000008d7 - bl FlagClear -_0813B2A6: - ldr r0, =0x00004036 - lsrs r1, r7, 16 - bl VarSet - bl sub_813B21C - lsls r0, 24 - lsrs r0, 24 - b _0813B2DC - .pool -_0813B2C0: - adds r5, 0x1 - cmp r5, 0x1D - ble _0813B27E - adds r4, 0x1 - cmp r4, 0xE - bne _0813B2CE - movs r4, 0 -_0813B2CE: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0813B278 - movs r0, 0 -_0813B2DC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B260 - - thumb_func_start sub_813B2E4 -sub_813B2E4: @ 813B2E4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004038 - movs r1, 0 - bl VarSet - movs r0, 0xDF - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B340 - ldr r0, =0x000001bf - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B330 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet - b _0813B36A - .pool -_0813B330: - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - bne _0813B354 - bl Random - lsls r0, 16 - lsrs r4, r0, 16 -_0813B340: - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0x1 - bl VarSet - b _0813B36A - .pool -_0813B354: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet -_0813B36A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B2E4 - - thumb_func_start sub_813B374 -sub_813B374: @ 813B374 - push {r4,lr} - ldr r0, =0x00004037 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B3400 - subs r1, r4, 0x1 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl GetMapName - cmp r4, 0x8 - bls _0813B3A8 - movs r0, 0x1 - b _0813B3AA - .pool -_0813B3A8: - movs r0, 0 -_0813B3AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B374 - - thumb_func_start sub_813B3B0 -sub_813B3B0: @ 813B3B0 - push {r4-r6,lr} - ldr r5, =0x00004038 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813B47C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000003e7 - cmp r4, r0 - bls _0813B474 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x18 - bne _0813B414 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x69 - bgt _0813B414 - cmp r0, 0x65 - blt _0813B414 - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B414: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0 - bne _0813B444 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0x34 - beq _0813B436 - cmp r0, 0x34 - blt _0813B444 - cmp r0, 0x38 - bgt _0813B444 - cmp r0, 0x36 - blt _0813B444 -_0813B436: - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B444: - ldr r3, [r3] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldr r1, =gUnknown_085B3410 - subs r0, r6, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0813B468 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r0, 0 - bne _0813B468 - movs r0, 0x1 - b _0813B47E - .pool -_0813B468: - ldr r0, =0x00004037 - movs r1, 0 - b _0813B478 - .pool -_0813B474: - adds r0, r5, 0 - adds r1, r4, 0 -_0813B478: - bl VarSet -_0813B47C: - movs r0, 0 -_0813B47E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813B3B0 - - thumb_func_start sub_813B484 -sub_813B484: @ 813B484 - push {lr} - movs r0, 0x2 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_813B484 - - thumb_func_start sub_813B490 -sub_813B490: @ 813B490 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, =gUnknown_085B3420 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_0813B4A4: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _0813B4CC - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _0813B4CC - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _0813B4D8 - .pool -_0813B4CC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _0813B4A4 - movs r0, 0x1 -_0813B4D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B490 - - thumb_func_start sub_813B4E0 -sub_813B4E0: @ 813B4E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl sub_81D15CC - cmp r0, 0 - blt _0813B50C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B50C - movs r0, 0x1 - b _0813B50E - .pool -_0813B50C: - movs r0, 0 -_0813B50E: - pop {r1} - bx r1 - thumb_func_end sub_813B4E0 - - thumb_func_start sub_813B514 -sub_813B514: @ 813B514 - push {lr} - ldr r0, =0x0000403f - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0813B52C - movs r0, 0x1 - b _0813B52E - .pool -_0813B52C: - movs r0, 0 -_0813B52E: - pop {r1} - bx r1 - thumb_func_end sub_813B514 - - thumb_func_start sub_813B534 -sub_813B534: @ 813B534 - push {lr} - ldr r2, =gUnknown_0203AB70 - ldr r1, =gBattleTypeFlags - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - str r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0813B552 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_0813B552: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B534 - - thumb_func_start sub_813B568 -sub_813B568: @ 813B568 - push {lr} - ldr r0, =sub_813B57C - movs r1, 0x5 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B568 - - thumb_func_start sub_813B57C -sub_813B57C: @ 813B57C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bls _0813B596 - b _0813B7C6 -_0813B596: - lsls r0, 2 - ldr r1, =_0813B5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813B5A8: - .4byte _0813B5D0 - .4byte _0813B5E4 - .4byte _0813B614 - .4byte _0813B6B4 - .4byte _0813B6E4 - .4byte _0813B728 - .4byte _0813B764 - .4byte _0813B772 - .4byte _0813B784 - .4byte _0813B7A8 -_0813B5D0: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0813B5DE - b _0813B7C6 -_0813B5DE: - b _0813B790 - .pool -_0813B5E4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B5F2 - b _0813B7C6 -_0813B5F2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B5FE - b _0813B790 -_0813B5FE: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_0x8004 - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B614: - bl GetBlockReceivedStatus - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0813B622 - b _0813B7C6 -_0813B622: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B62E - b _0813B790 -_0813B62E: - ldr r5, =gSpecialVar_0x8005 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0x1 - bl ResetBlockReceivedFlag - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B668 - ldrh r1, [r5] - cmp r1, 0x1 - bne _0813B668 - ldr r0, =gScriptResult - strh r1, [r0] - b _0813B790 - .pool -_0813B668: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - bne _0813B68C - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B68C - ldr r1, =gScriptResult - movs r0, 0x2 - b _0813B6AC - .pool -_0813B68C: - ldrh r0, [r2] - cmp r0, 0x1 - bne _0813B6A8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B6A8 - ldr r1, =gScriptResult - movs r0, 0x3 - b _0813B6AC - .pool -_0813B6A8: - ldr r1, =gScriptResult - movs r0, 0 -_0813B6AC: - strh r0, [r1] - b _0813B790 - .pool -_0813B6B4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B6C2 - b _0813B7C6 -_0813B6C2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B790 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gScriptResult - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B6E4: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813B7C6 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B790 - ldr r1, =gScriptResult - ldr r0, =gBlockRecvBuffer - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0 - bl ResetBlockReceivedFlag -_0813B708: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0813B7C6 - .pool -_0813B728: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B74C - ldr r0, =gScriptResult - ldrh r0, [r0] - cmp r0, 0x2 - bne _0813B790 - ldr r0, =gUnknown_0824979B - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B74C: - ldr r0, =gScriptResult - ldrh r0, [r0] - cmp r0, 0x3 - bne _0813B790 - ldr r0, =gUnknown_0824979B - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B764: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813B7C6 - b _0813B790 -_0813B772: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 - bl sub_800ADF8 - b _0813B790 -_0813B784: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 -_0813B790: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0813B7C6 - .pool -_0813B7A8: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _0813B7B4 - bl sub_800AC34 -_0813B7B4: - ldr r0, =gBattleTypeFlags - ldr r1, =gUnknown_0203AB70 - ldr r1, [r1] - str r1, [r0] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B7C6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B57C - - thumb_func_start sub_813B7D8 -sub_813B7D8: @ 813B7D8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B7F8 - ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music - movs r0, 0 - movs r1, 0x1 - bl sub_81D6720 - b _0813B802 - .pool -_0813B7F8: - ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music - movs r0, 0x1 - movs r1, 0 - bl sub_81D6720 -_0813B802: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B7D8 - - thumb_func_start sub_813B80C -sub_813B80C: @ 813B80C - push {lr} - ldr r0, =sub_813B824 - movs r1, 0x8 - bl CreateTask - movs r0, 0x9D - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B80C - - thumb_func_start sub_813B824 -sub_813B824: @ 813B824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _0813B858 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x9D - bl PlaySE -_0813B858: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0813B86C - adds r0, r5, 0 - bl DestroyTask -_0813B86C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B824 - - thumb_func_start sub_813B880 -sub_813B880: @ 813B880 - push {lr} - ldr r0, =_fwalk - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B880 - - thumb_func_start _fwalk -_fwalk: @ 813B8B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0813B94E - movs r6, 0 -_0813B8EA: - movs r4, 0 - lsls r3, r6, 3 - mov r10, r3 - adds r7, r6, 0x1 - mov r8, r7 -_0813B8F4: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, r4 - adds r0, 0x6 - movs r3, 0x2 - ldrsh r1, [r1, r3] - adds r1, r6 - adds r1, 0x4 - ldr r7, =0x00000201 - adds r2, r4, r7 - add r2, r10 - movs r7, 0x6 - ldrsh r3, [r5, r7] - lsls r3, 5 - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813B8F4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0813B8EA - bl DrawWholeMapView - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0813B94E - mov r0, r9 - bl DestroyTask - bl EnableBothScriptContexts -_0813B94E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end _fwalk - - thumb_func_start sub_813B968 -sub_813B968: @ 813B968 - push {r4,r5,lr} - ldr r5, =gScriptResult - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r1, 0x7 - bl __udivsi3 - strh r0, [r5] - ldrh r4, [r5] - adds r0, r4, 0 - movs r1, 0x14 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - subs r4, r1 - strh r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B968 - - thumb_func_start sub_813B9A0 -sub_813B9A0: @ 813B9A0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x1C] - movs r0, 0xB0 - lsls r0, 4 - cmp r1, r0 - bne _0813B9B6 - movs r0, 0x3 - bl Overworld_SetHealLocationWarp -_0813B9B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B9A0 - - thumb_func_start sub_813B9C0 -sub_813B9C0: @ 813B9C0 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B3444 - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0813BA06 - adds r4, r1, 0 - adds r1, r2, 0 -_0813B9E6: - ldrh r0, [r2] - cmp r0, r3 - bne _0813B9FC - movs r0, 0x1 - b _0813BA08 - .pool -_0813B9FC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0813B9E6 -_0813BA06: - movs r0, 0 -_0813BA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B9C0 - - thumb_func_start ResetFanClub -ResetFanClub: @ 813BA10 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ResetFanClub - - thumb_func_start sub_813BA30 -sub_813BA30: @ 813BA30 - push {lr} - bl sub_813BF44 - lsls r0, 24 - cmp r0, 0 - beq _0813BA52 - bl sub_813BCE8 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] -_0813BA52: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA30 - - thumb_func_start sub_813BA60 -sub_813BA60: @ 813BA60 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813BAB6 - bl sub_813BF60 - bl sub_813BD84 - ldr r1, [r4] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =0x00000315 - bl FlagClear - ldr r0, =0x00000316 - bl FlagClear - ldr r0, =0x00000317 - bl FlagClear - movs r0, 0xC6 - lsls r0, 2 - bl FlagClear - ldr r0, =0x000002da - bl FlagClear - ldr r0, =0x00004095 - movs r1, 0x1 - bl VarSet -_0813BAB6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA60 - - thumb_func_start sub_813BADC -sub_813BADC: @ 813BADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BB58 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, =0x0000141e - adds r3, r0, r5 - ldrh r2, [r3] - movs r1, 0x7F - ands r1, r2 - ldr r0, =gUnknown_085B3470 - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0813BB54 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0813BB3C - bl sub_813BB74 - ldr r0, [r4] - adds r0, r5 - ldrh r2, [r0] - ldr r1, =0x0000ff80 - ands r1, r2 - strh r1, [r0] - b _0813BB58 - .pool -_0813BB3C: - ldr r2, [r4] - adds r2, r5 - ldrh r1, [r2] - ldr r0, =0x0000ff80 - ands r0, r1 - movs r1, 0x14 - orrs r0, r1 - strh r0, [r2] - b _0813BB58 - .pool -_0813BB54: - adds r0, r2, r0 - strh r0, [r3] -_0813BB58: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BADC - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4-r7,lr} - sub sp, 0x8 - movs r3, 0 - movs r5, 0 - ldr r7, =gSaveBlock1Ptr - ldr r2, =0x0000141e - movs r6, 0x1 -_0813BB82: - ldr r0, [r7] - adds r0, r2 - ldrh r1, [r0] - ldr r0, =gUnknown_085B3474 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0813BBC8 - adds r3, r5, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r1, 0 - beq _0813BBC8 - ldr r0, [r7] - adds r0, r2 - adds r1, r6, 0 - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0813BBEA - .pool -_0813BBC8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BB82 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldr r1, =gUnknown_085B3474 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0813BBEA: - adds r0, r3, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BC00 -sub_813BC00: @ 813BC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813BC2E - movs r0, 0 - b _0813BC8E -_0813BC1E: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - lsls r4, r6 - ldrh r1, [r0] - eors r4, r1 - strh r4, [r0] - b _0813BC8C -_0813BC2E: - movs r5, 0 - ldr r2, =gSaveBlock1Ptr - mov r8, r2 - ldr r0, =0x0000141e - mov r9, r0 - movs r4, 0x1 -_0813BC3A: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrh r1, [r0] - ldr r7, =gUnknown_085B347C - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0813BC5E - mov r10, r5 - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - bne _0813BC1E -_0813BC5E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BC3A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r4, r0, r2 - ldrh r1, [r4] - mov r2, r10 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0813BC8C - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0813BC8C: - mov r0, r10 -_0813BC8E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BC00 - - thumb_func_start sub_813BCA8 -sub_813BCA8: @ 813BCA8 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r4, [r0] - movs r5, 0x1 -_0813BCBA: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0813BCCE - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0813BCCE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0813BCBA - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BCA8 - - thumb_func_start sub_813BCE8 -sub_813BCE8: @ 813BCE8 - push {r4-r6,lr} - movs r5, 0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, =0x000003e6 - cmp r1, r0 - bhi _0813BD58 - adds r6, r2, 0 - b _0813BD32 - .pool -_0813BD04: - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r2, 0xA1 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - subs r1, r0 - cmp r1, 0xB - ble _0813BD58 - bl sub_813BC00 - ldr r0, [r4] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0xC - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0813BD32: - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0813BD54 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - b _0813BD58 - .pool -_0813BD54: - cmp r5, 0x8 - bne _0813BD04 -_0813BD58: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813BCE8 - - thumb_func_start sub_813BD60 -sub_813BD60: @ 813BD60 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BD60 - - thumb_func_start sub_813BD84 -sub_813BD84: @ 813BD84 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_813BD84 - - thumb_func_start sub_813BDB4 -sub_813BDB4: @ 813BDB4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0813BE14 - lsls r0, 2 - ldr r1, =_0813BDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BDD8: - .4byte _0813BE14 - .4byte _0813BE14 - .4byte _0813BDF8 - .4byte _0813BDFE - .4byte _0813BE04 - .4byte _0813BE0A - .4byte _0813BE10 - .4byte _0813BE14 -_0813BDF8: - movs r3, 0 - movs r2, 0x3 - b _0813BE14 -_0813BDFE: - movs r3, 0 - movs r2, 0x1 - b _0813BE14 -_0813BE04: - movs r3, 0x1 - movs r2, 0 - b _0813BE14 -_0813BE0A: - movs r3, 0 - movs r2, 0x4 - b _0813BE14 -_0813BE10: - movs r3, 0x1 - movs r2, 0x5 -_0813BE14: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003150 - adds r0, r1 - adds r1, r3, 0 - bl sub_813BE30 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BDB4 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r5, 4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813BEE8 - cmp r2, 0x5 - bhi _0813BED4 - lsls r0, r2, 2 - ldr r1, =_0813BE58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BE58: - .4byte _0813BED4 - .4byte _0813BE70 - .4byte _0813BE84 - .4byte _0813BE98 - .4byte _0813BEAC - .4byte _0813BEC0 -_0813BE70: - ldr r0, =gStringVar1 - ldr r1, =gText_Steven - bl StringCopy - b _0813BF04 - .pool -_0813BE84: - ldr r0, =gStringVar1 - ldr r1, =gText_Brawly - bl StringCopy - b _0813BF04 - .pool -_0813BE98: - ldr r0, =gStringVar1 - ldr r1, =gText_Winona - bl StringCopy - b _0813BF04 - .pool -_0813BEAC: - ldr r0, =gStringVar1 - ldr r1, =gText_Phoebe - bl StringCopy - b _0813BF04 - .pool -_0813BEC0: - ldr r0, =gStringVar1 - ldr r1, =gText_Glacia - bl StringCopy - b _0813BF04 - .pool -_0813BED4: - ldr r0, =gStringVar1 - ldr r1, =gText_Wallace - bl StringCopy - b _0813BF04 - .pool -_0813BEE8: - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - bl ConvertInternationalString -_0813BF04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BF10 -sub_813BF10: @ 813BF10 - push {lr} - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BF40 - bl sub_813BA30 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813BF3C - bl sub_813BB74 - b _0813BF40 - .pool -_0813BF3C: - bl sub_813BC00 -_0813BF40: - pop {r0} - bx r0 - thumb_func_end sub_813BF10 - - thumb_func_start sub_813BF44 -sub_813BF44: @ 813BF44 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BF44 - - thumb_func_start sub_813BF60 -sub_813BF60: @ 813BF60 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x0000141e - adds r1, r0 - ldrh r2, [r1] - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_813BF60 - - thumb_func_start sub_813BF7C -sub_813BF7C: @ 813BF7C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_813BADC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BF7C - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s new file mode 100644 index 000000000..432b8250e --- /dev/null +++ b/asm/rom_8034C54.s @@ -0,0 +1,1312 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8034C54 +sub_8034C54: @ 8034C54 + push {r4-r7,lr} + adds r4, r0, 0 + ldr r5, =gUnknown_02022E10 + ldr r0, [r5] + cmp r0, 0 + beq _08034C64 + bl sub_8034CC8 +_08034C64: + movs r0, 0x8 + bl Alloc + str r0, [r5] + cmp r0, 0 + bne _08034C78 + movs r0, 0 + b _08034CC0 + .pool +_08034C78: + lsls r0, r4, 3 + subs r0, r4 + lsls r0, 2 + bl Alloc + ldr r1, [r5] + str r0, [r1, 0x4] + cmp r0, 0 + bne _08034C94 + adds r0, r1, 0 + bl Free + movs r0, 0 + b _08034CC0 +_08034C94: + str r4, [r1] + movs r3, 0 + cmp r3, r4 + bcs _08034CBE + movs r7, 0 + movs r6, 0xFF + movs r2, 0 +_08034CA2: + ldr r0, [r5] + ldr r0, [r0, 0x4] + adds r0, r2, r0 + strb r7, [r0] + ldr r0, [r5] + ldr r1, [r0, 0x4] + adds r1, r2, r1 + ldrb r0, [r1, 0x1] + orrs r0, r6 + strb r0, [r1, 0x1] + adds r2, 0x1C + adds r3, 0x1 + cmp r3, r4 + bcc _08034CA2 +_08034CBE: + movs r0, 0x1 +_08034CC0: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8034C54 + + thumb_func_start sub_8034CC8 +sub_8034CC8: @ 8034CC8 + push {r4,r5,lr} + ldr r2, =gUnknown_02022E10 + ldr r1, [r2] + cmp r1, 0 + beq _08034D08 + ldr r0, [r1, 0x4] + cmp r0, 0 + beq _08034CFC + movs r4, 0 + ldr r0, [r1] + cmp r4, r0 + bcs _08034CF2 + adds r5, r2, 0 +_08034CE2: + adds r0, r4, 0 + bl sub_80353DC + adds r4, 0x1 + ldr r0, [r5] + ldr r0, [r0] + cmp r4, r0 + bcc _08034CE2 +_08034CF2: + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl Free +_08034CFC: + ldr r4, =gUnknown_02022E10 + ldr r0, [r4] + bl Free + movs r0, 0 + str r0, [r4] +_08034D08: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8034CC8 + + thumb_func_start sub_8034D14 +sub_8034D14: @ 8034D14 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + mov r8, r0 + mov r10, r1 + adds r5, r2, 0 + ldr r6, =gUnknown_02022E10 + ldr r0, [r6] + cmp r0, 0 + beq _08034DD4 + ldr r1, [r0, 0x4] + mov r0, r8 + lsls r2, r0, 3 + subs r0, r2, r0 + lsls r4, r0, 2 + adds r1, r4, r1 + ldrb r0, [r1] + mov r9, r2 + cmp r0, 0 + bne _08034DD4 + ldrb r0, [r5, 0x1] + bl sub_8035518 + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strb r0, [r1, 0x1] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r0, [r0, 0x1] + cmp r0, 0xFF + beq _08034DD4 + ldr r0, [r5, 0x8] + ldrh r0, [r0, 0x6] + bl GetSpriteTileStartByTag + ldr r2, [r6] + ldr r1, [r2, 0x4] + adds r1, r4, r1 + strh r0, [r1, 0xA] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldrh r1, [r0, 0xA] + ldr r7, =0xffff0000 + lsrs r0, r7, 16 + cmp r1, r0 + bne _08034DE0 + ldr r2, [r5, 0x8] + ldrh r0, [r2, 0x4] + adds r1, r2, 0 + cmp r0, 0 + beq _08034D94 + adds r0, r1, 0 + bl LoadSpriteSheet + b _08034DB4 + .pool +_08034D94: + ldr r0, [r2] + ldr r1, [r2, 0x4] + str r0, [sp] + str r1, [sp, 0x4] + ldr r0, [r2] + bl sub_8034974 + lsls r0, 16 + lsrs r0, 16 + ldr r1, [sp, 0x4] + ands r1, r7 + orrs r1, r0 + str r1, [sp, 0x4] + mov r0, sp + bl LoadCompressedObjectPic +_08034DB4: + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strh r0, [r1, 0xA] + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + mov r2, r9 + mov r3, r8 + subs r0, r2, r3 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0xA] + ldr r0, =0x0000ffff + cmp r1, r0 + bne _08034DE0 +_08034DD4: + movs r0, 0 + b _08034EE8 + .pool +_08034DE0: + ldr r0, [r5, 0xC] + ldrh r0, [r0, 0x4] + bl IndexOfSpritePaletteTag + ldr r6, =gUnknown_02022E10 + ldr r1, [r6] + ldr r1, [r1, 0x4] + mov r4, r9 + mov r3, r8 + subs r2, r4, r3 + lsls r4, r2, 2 + adds r1, r4, r1 + strb r0, [r1, 0x4] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r0, [r0, 0x4] + cmp r0, 0xFF + bne _08034E14 + ldr r0, [r5, 0xC] + bl LoadSpritePalette + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strb r0, [r1, 0x4] +_08034E14: + ldr r0, [r6] + ldr r1, [r0, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsls r0, 30 + lsrs r0, 30 + strb r0, [r1, 0x2] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r1, [r5, 0x1] + strb r1, [r0, 0x3] + ldr r2, [r6] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldrh r1, [r5, 0x4] + strh r1, [r0, 0xC] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldrh r1, [r5, 0x6] + strh r1, [r0, 0xE] + ldr r1, [r2, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsls r0, 28 + lsrs r0, 30 + strb r0, [r1, 0x6] + ldr r0, [r6] + ldr r1, [r0, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsls r0, 26 + lsrs r0, 30 + strb r0, [r1, 0x5] + ldr r0, [r6] + ldr r1, [r0, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsrs r0, 6 + strb r0, [r1, 0x7] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r1, [r5, 0x2] + strb r1, [r0, 0x8] + ldrb r1, [r5] + lsls r0, r1, 28 + lsrs r0, 30 + lsls r1, 26 + lsrs r1, 30 + bl sub_80355F8 + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strb r0, [r1, 0x9] + ldr r2, [r6] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldr r1, [r5, 0x8] + ldrh r1, [r1, 0x6] + strh r1, [r0, 0x10] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldr r1, [r5, 0xC] + ldrh r1, [r1, 0x4] + strh r1, [r0, 0x12] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + str r1, [r0, 0x14] + movs r3, 0x1 + ldrb r0, [r5, 0x1] + cmp r3, r0 + bcs _08034ECA +_08034EB2: + ldr r0, [r6] + ldr r2, [r0, 0x4] + adds r2, r4, r2 + ldr r1, [r2, 0x14] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 1 + str r0, [r2, 0x14] + adds r3, 0x1 + ldrb r2, [r5, 0x1] + cmp r3, r2 + bcc _08034EB2 +_08034ECA: + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + mov r3, r9 + mov r4, r8 + subs r1, r3, r4 + lsls r1, 2 + ldr r0, [r0, 0x4] + adds r0, r1 + bl sub_8034EFC + mov r0, r8 + mov r1, r10 + bl sub_8035044 + movs r0, 0x1 +_08034EE8: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_8034D14 + + thumb_func_start sub_8034EFC +sub_8034EFC: @ 8034EFC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r4, r0, 0 + ldrb r5, [r4, 0x1] + movs r0, 0xC + ldrsh r7, [r4, r0] + ldrb r0, [r4, 0x3] + adds r0, 0x1 + mov r8, r0 + mov r1, sp + movs r0, 0 + strh r0, [r1] + lsls r1, r5, 3 + ldr r2, =gUnknown_030022F8 + mov r9, r2 + add r1, r9 + mov r0, r8 + lsls r2, r0, 2 + movs r0, 0x80 + lsls r0, 17 + orrs r2, r0 + mov r0, sp + bl CpuSet + movs r6, 0 + ldrb r5, [r4, 0x1] + cmp r6, r8 + bcs _08034FCE + movs r1, 0x3F + mov r10, r1 + movs r2, 0xD + negs r2, r2 + mov r9, r2 +_08034F46: + lsls r0, r5, 3 + ldr r1, =gMain + adds r3, r0, r1 + ldrh r1, [r4, 0xE] + adds r0, r3, 0 + adds r0, 0x38 + strb r1, [r0] + ldr r2, =0x000001ff + adds r0, r2, 0 + adds r1, r7, 0 + ands r1, r0 + ldrh r2, [r3, 0x3A] + ldr r0, =0xfffffe00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3A] + ldrb r1, [r4, 0x6] + movs r0, 0x39 + adds r0, r3 + mov r12, r0 + lsls r1, 6 + ldrb r2, [r0] + mov r0, r10 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrb r1, [r4, 0x5] + movs r2, 0x3B + adds r2, r3 + mov r12, r2 + lsls r1, 6 + ldrb r2, [r2] + mov r0, r10 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r4, 0xA] + ldr r1, =0x000003ff + ands r1, r0 + ldrh r2, [r3, 0x3C] + ldr r0, =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3C] + adds r3, 0x3D + movs r0, 0x3 + ldrb r1, [r4, 0x7] + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + mov r0, r9 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldrb r2, [r4, 0x4] + lsls r2, 4 + movs r1, 0xF + ands r0, r1 + orrs r0, r2 + strb r0, [r3] + ldrb r0, [r4, 0x8] + adds r7, r0 + adds r6, 0x1 + adds r5, 0x1 + cmp r6, r8 + bcc _08034F46 +_08034FCE: + subs r5, 0x1 + ldr r0, =gMain + lsls r3, r5, 3 + adds r3, r0 + movs r2, 0xC + ldrsh r1, [r4, r2] + ldrb r0, [r4, 0x8] + subs r1, r0 + ldr r2, =0x000001ff + adds r0, r2, 0 + ands r1, r0 + ldrh r2, [r3, 0x3A] + ldr r0, =0xfffffe00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3A] + adds r2, r3, 0 + adds r2, 0x39 + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] + ldrb r0, [r4, 0x9] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 1 + ldrh r4, [r4, 0xA] + adds r1, r4 + ldr r2, =0x000003ff + adds r0, r2, 0 + ands r1, r0 + ldrh r2, [r3, 0x3C] + ldr r0, =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3C] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8034EFC + + thumb_func_start sub_8035044 +sub_8035044: @ 8035044 + push {r4-r6,lr} + adds r3, r0, 0 + adds r4, r1, 0 + ldr r0, =gUnknown_02022E10 + ldr r1, [r0] + adds r6, r0, 0 + cmp r1, 0 + beq _080350A8 + ldr r2, [r1, 0x4] + lsls r1, r3, 3 + subs r0, r1, r3 + lsls r0, 2 + adds r2, r0, r2 + ldrb r0, [r2] + adds r5, r1, 0 + cmp r0, 0 + beq _080350A8 + str r4, [r2, 0x18] + cmp r4, 0 + bge _08035078 + movs r2, 0x1 + negs r4, r4 + b _0803507A + .pool +_08035078: + movs r2, 0 +_0803507A: + ldr r0, [r6] + ldr r1, [r0, 0x4] + subs r0, r5, r3 + lsls r0, 2 + adds r0, r1 + ldrb r3, [r0, 0x2] + cmp r3, 0x1 + beq _0803509A + cmp r3, 0x1 + ble _08035092 + cmp r3, 0x2 + beq _080350A2 +_08035092: + adds r1, r4, 0 + bl sub_80350B0 + b _080350A8 +_0803509A: + adds r1, r4, 0 + bl sub_8035164 + b _080350A8 +_080350A2: + adds r1, r4, 0 + bl sub_80352C0 +_080350A8: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8035044 + + thumb_func_start sub_80350B0 +sub_80350B0: @ 80350B0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r8, r0 + mov r9, r1 + str r2, [sp] + ldr r5, [r0, 0x14] + ldrb r7, [r0, 0x1] + ldr r0, =gMain + mov r10, r0 + cmp r5, 0 + beq _0803511A + lsls r0, r7, 3 + adds r0, 0x3C + mov r1, r10 + adds r6, r0, r1 +_080350D6: + mov r0, r9 + adds r1, r5, 0 + bl __udivsi3 + adds r4, r0, 0 + adds r0, r4, 0 + muls r0, r5 + mov r2, r9 + subs r2, r0 + mov r9, r2 + adds r0, r5, 0 + movs r1, 0xA + bl __udivsi3 + adds r5, r0, 0 + mov r1, r8 + ldrb r0, [r1, 0x9] + adds r1, r4, 0 + muls r1, r0 + mov r2, r8 + ldrh r2, [r2, 0xA] + adds r1, r2 + ldr r2, =0x000003ff + adds r0, r2, 0 + ands r1, r0 + ldrh r0, [r6] + ldr r2, =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r6] + adds r6, 0x8 + adds r7, 0x1 + cmp r5, 0 + bne _080350D6 +_0803511A: + ldr r0, [sp] + cmp r0, 0 + beq _08035140 + lsls r0, r7, 3 + add r0, r10 + adds r0, 0x39 + ldrb r2, [r0] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + b _08035154 + .pool +_08035140: + lsls r2, r7, 3 + add r2, r10 + adds r2, 0x39 + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] +_08035154: + 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_80350B0 + + thumb_func_start sub_8035164 +sub_8035164: @ 8035164 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r6, r0, 0 + mov r8, r1 + str r2, [sp] + ldr r5, [r6, 0x14] + ldr r3, =gUnknown_03000DD4 + ldrb r0, [r6, 0x1] + str r0, [r3] + ldr r2, =gUnknown_03000DD8 + movs r0, 0 + str r0, [r2] + ldr r1, =gUnknown_03000DDC + subs r0, 0x1 + str r0, [r1] + adds r7, r3, 0 + mov r10, r1 + ldr r0, =gMain + mov r9, r0 + cmp r5, 0 + beq _0803524C +_08035196: + mov r0, r8 + adds r1, r5, 0 + bl __udivsi3 + adds r4, r0, 0 + adds r0, r4, 0 + muls r0, r5 + mov r1, r8 + subs r1, r0 + mov r8, r1 + adds r0, r5, 0 + movs r1, 0xA + bl __udivsi3 + adds r5, r0, 0 + cmp r4, 0 + bne _080351C8 + mov r2, r10 + ldr r1, [r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080351C8 + cmp r5, 0 + bne _08035224 +_080351C8: + ldr r2, [r7] + lsls r2, 3 + add r2, r9 + ldrb r0, [r6, 0x9] + adds r3, r4, 0 + muls r3, r0 + ldrh r4, [r6, 0xA] + adds r3, r4 + ldr r1, =0x000003ff + adds r0, r1, 0 + ands r3, r0 + ldrh r0, [r2, 0x3C] + ldr r4, =0xfffffc00 + adds r1, r4, 0 + ands r0, r1 + orrs r0, r3 + strh r0, [r2, 0x3C] + adds r2, 0x39 + ldrb r0, [r2] + movs r1, 0x4 + negs r1, r1 + ands r0, r1 + strb r0, [r2] + mov r2, r10 + ldr r1, [r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0803523A + ldr r4, =gUnknown_03000DD8 + ldr r0, [r4] + str r0, [r2] + b _0803523A + .pool +_08035224: + ldr r0, [r7] + lsls r0, 3 + add r0, r9 + adds r0, 0x39 + ldrb r1, [r0] + movs r2, 0x4 + negs r2, r2 + ands r1, r2 + movs r2, 0x2 + orrs r1, r2 + strb r1, [r0] +_0803523A: + ldr r0, [r7] + adds r0, 0x1 + str r0, [r7] + ldr r4, =gUnknown_03000DD8 + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + cmp r5, 0 + bne _08035196 +_0803524C: + ldr r0, [sp] + cmp r0, 0 + beq _08035298 + ldr r1, [r7] + lsls r1, 3 + add r1, r9 + adds r1, 0x39 + ldrb r2, [r1] + movs r0, 0x4 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + ldr r3, [r7] + lsls r3, 3 + add r3, r9 + movs r1, 0xC + ldrsh r2, [r6, r1] + mov r4, r10 + ldr r0, [r4] + subs r0, 0x1 + ldrb r1, [r6, 0x8] + muls r0, r1 + adds r2, r0 + ldr r1, =0x000001ff + adds r0, r1, 0 + ands r2, r0 + ldrh r1, [r3, 0x3A] + ldr r0, =0xfffffe00 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0x3A] + b _080352AE + .pool +_08035298: + ldr r0, [r7] + lsls r0, 3 + add r0, r9 + adds r0, 0x39 + ldrb r2, [r0] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + movs r2, 0x2 + orrs r1, r2 + strb r1, [r0] +_080352AE: + 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_8035164 + + thumb_func_start sub_80352C0 +sub_80352C0: @ 80352C0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + mov r8, r0 + mov r10, r1 + str r2, [sp] + ldr r5, [r0, 0x14] + ldrb r3, [r0, 0x1] + movs r0, 0 + str r0, [sp, 0x4] + mov r9, r0 + cmp r5, 0 + beq _0803535A +_080352E0: + lsls r0, r3, 3 + adds r1, r0, 0 + adds r1, 0x39 + ldr r2, =gMain + adds r7, r1, r2 + adds r0, 0x3C + adds r6, r0, r2 +_080352EE: + mov r0, r10 + adds r1, r5, 0 + str r3, [sp, 0x8] + bl __udivsi3 + adds r4, r0, 0 + adds r0, r4, 0 + muls r0, r5 + mov r1, r10 + subs r1, r0 + mov r10, r1 + adds r0, r5, 0 + movs r1, 0xA + bl __udivsi3 + adds r5, r0, 0 + ldr r3, [sp, 0x8] + cmp r4, 0 + bne _0803531E + ldr r2, [sp, 0x4] + cmp r2, 0 + bne _0803531E + cmp r5, 0 + bne _080352E0 +_0803531E: + movs r0, 0x1 + str r0, [sp, 0x4] + mov r1, r8 + ldrb r0, [r1, 0x9] + adds r2, r4, 0 + muls r2, r0 + ldrh r4, [r1, 0xA] + adds r2, r4 + ldr r1, =0x000003ff + adds r0, r1, 0 + ands r2, r0 + ldrh r0, [r6] + ldr r4, =0xfffffc00 + adds r1, r4, 0 + ands r0, r1 + orrs r0, r2 + strh r0, [r6] + ldrb r0, [r7] + movs r2, 0x4 + negs r2, r2 + adds r1, r2, 0 + ands r0, r1 + strb r0, [r7] + adds r7, 0x8 + adds r6, 0x8 + adds r3, 0x1 + movs r4, 0x1 + add r9, r4 + cmp r5, 0 + bne _080352EE +_0803535A: + mov r0, r8 + ldrb r0, [r0, 0x3] + cmp r9, r0 + bge _0803538A + ldr r1, =gMain + movs r5, 0x4 + negs r5, r5 + movs r4, 0x2 + lsls r0, r3, 3 + adds r0, 0x39 + adds r2, r0, r1 +_08035370: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + orrs r0, r4 + strb r0, [r2] + adds r2, 0x8 + adds r3, 0x1 + movs r1, 0x1 + add r9, r1 + mov r0, r8 + ldrb r0, [r0, 0x3] + cmp r9, r0 + blt _08035370 +_0803538A: + ldr r1, [sp] + cmp r1, 0 + beq _080353B0 + lsls r0, r3, 3 + ldr r2, =gMain + adds r0, r2 + adds r0, 0x39 + ldrb r2, [r0] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + b _080353C6 + .pool +_080353B0: + lsls r2, r3, 3 + ldr r4, =gMain + adds r2, r4 + adds r2, 0x39 + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] +_080353C6: + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80352C0 + + thumb_func_start sub_80353DC +sub_80353DC: @ 80353DC + push {r4-r7,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + cmp r0, 0 + beq _0803546E + ldr r2, [r0, 0x4] + lsls r1, r4, 3 + subs r0, r1, r4 + lsls r0, 2 + adds r2, r0, r2 + ldrb r0, [r2] + adds r5, r1, 0 + cmp r0, 0 + beq _0803546E + ldrb r3, [r2, 0x3] + adds r0, r3, 0x1 + ldrb r2, [r2, 0x1] + cmp r0, 0 + beq _08035426 + ldr r1, =gMain + movs r7, 0x4 + negs r7, r7 + movs r6, 0x2 + adds r3, r0, 0 + lsls r0, r2, 3 + adds r0, 0x39 + adds r2, r0, r1 +_08035414: + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + orrs r0, r6 + strb r0, [r2] + subs r3, 0x1 + adds r2, 0x8 + cmp r3, 0 + bne _08035414 +_08035426: + adds r0, r4, 0 + bl sub_8035570 + cmp r0, 0 + bne _08035442 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + subs r0, r5, r4 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x10] + bl FreeSpriteTilesByTag +_08035442: + adds r0, r4, 0 + bl sub_80355B4 + cmp r0, 0 + bne _0803545E + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + subs r0, r5, r4 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x12] + bl FreeSpritePaletteByTag +_0803545E: + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + subs r0, r5, r4 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strb r1, [r0] +_0803546E: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80353DC + + thumb_func_start sub_803547C +sub_803547C: @ 803547C + push {r4-r7,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldr r0, =gUnknown_02022E10 + ldr r1, [r0] + adds r7, r0, 0 + cmp r1, 0 + beq _0803550C + ldr r2, [r1, 0x4] + lsls r1, r4, 3 + subs r0, r1, r4 + lsls r0, 2 + adds r2, r0, r2 + ldrb r0, [r2] + adds r6, r1, 0 + cmp r0, 0 + beq _0803550C + ldrb r3, [r2, 0x3] + adds r1, r3, 0x1 + ldrb r0, [r2, 0x1] + cmp r5, 0 + beq _080354D8 + cmp r1, 0 + beq _0803550C + ldr r1, =gMain + movs r5, 0x4 + negs r5, r5 + movs r4, 0x2 + adds r3, 0x1 + lsls r0, 3 + adds r0, 0x39 + adds r2, r0, r1 +_080354BC: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + orrs r0, r4 + strb r0, [r2] + subs r3, 0x1 + adds r2, 0x8 + cmp r3, 0 + bne _080354BC + b _0803550C + .pool +_080354D8: + cmp r1, 0 + beq _080354FA + ldr r1, =gMain + movs r5, 0x4 + negs r5, r5 + adds r3, 0x1 + lsls r0, 3 + adds r0, 0x39 + adds r2, r0, r1 +_080354EA: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + strb r0, [r2] + subs r3, 0x1 + adds r2, 0x8 + cmp r3, 0 + bne _080354EA +_080354FA: + ldr r0, [r7] + ldr r1, [r0, 0x4] + subs r0, r6, r4 + lsls r0, 2 + adds r0, r1 + ldr r1, [r0, 0x18] + adds r0, r4, 0 + bl sub_8035044 +_0803550C: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_803547C + + thumb_func_start sub_8035518 +sub_8035518: @ 8035518 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r5, 0x40 + movs r3, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r2, [r0] + cmp r3, r2 + bcs _0803555A + ldr r1, [r0, 0x4] +_0803552E: + ldrb r0, [r1] + cmp r0, 0 + bne _08035548 + ldrb r0, [r1, 0x1] + cmp r0, 0xFF + beq _08035552 + ldrb r0, [r1, 0x3] + cmp r0, r4 + bhi _08035552 + ldrb r0, [r1, 0x1] + b _0803556A + .pool +_08035548: + adds r0, r5, 0x1 + ldrb r5, [r1, 0x3] + adds r0, r5 + lsls r0, 16 + lsrs r5, r0, 16 +_08035552: + adds r1, 0x1C + adds r3, 0x1 + cmp r3, r2 + bcc _0803552E +_0803555A: + adds r0, r5, r4 + adds r0, 0x1 + cmp r0, 0x80 + bgt _08035568 + lsls r0, r5, 24 + lsrs r0, 24 + b _0803556A +_08035568: + movs r0, 0xFF +_0803556A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8035518 + + thumb_func_start sub_8035570 +sub_8035570: @ 8035570 + push {r4-r6,lr} + adds r3, r0, 0 + movs r2, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r4, [r0] + cmp r2, r4 + bcs _080355AC + ldr r1, [r0, 0x4] + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r5, r0, r1 +_0803558A: + ldrb r0, [r1] + cmp r0, 0 + beq _080355A4 + cmp r2, r3 + beq _080355A4 + ldrh r0, [r1, 0x10] + ldrh r6, [r5, 0x10] + cmp r0, r6 + bne _080355A4 + movs r0, 0x1 + b _080355AE + .pool +_080355A4: + adds r1, 0x1C + adds r2, 0x1 + cmp r2, r4 + bcc _0803558A +_080355AC: + movs r0, 0 +_080355AE: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8035570 + + thumb_func_start sub_80355B4 +sub_80355B4: @ 80355B4 + push {r4-r6,lr} + adds r3, r0, 0 + movs r2, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r4, [r0] + cmp r2, r4 + bcs _080355F0 + ldr r1, [r0, 0x4] + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r5, r0, r1 +_080355CE: + ldrb r0, [r1] + cmp r0, 0 + beq _080355E8 + cmp r2, r3 + beq _080355E8 + ldrh r0, [r1, 0x12] + ldrh r6, [r5, 0x12] + cmp r0, r6 + bne _080355E8 + movs r0, 0x1 + b _080355F2 + .pool +_080355E8: + adds r1, 0x1C + adds r2, 0x1 + cmp r2, r4 + bcc _080355CE +_080355F0: + movs r0, 0 +_080355F2: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80355B4 + + thumb_func_start sub_80355F8 +sub_80355F8: @ 80355F8 + ldr r2, =gUnknown_082FF1C8 + lsls r0, 2 + adds r1, r0 + adds r1, r2 + ldrb r0, [r1] + bx lr + .pool + thumb_func_end sub_80355F8 + + thumb_func_start sub_8035608 +sub_8035608: @ 8035608 + push {lr} + bl ResetSpriteData + ldr r0, =gUnknown_0831AC88 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gSprites + 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] + ldr r0, =sub_8035648 + bl SetMainCallback2 + pop {r0} + bx r0 + .pool + thumb_func_end sub_8035608 + + thumb_func_start sub_8035648 +sub_8035648: @ 8035648 + push {lr} + bl AnimateSprites + bl BuildOamBuffer + pop {r0} + bx r0 + thumb_func_end sub_8035648 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s index 5b7671bf8..da5e73034 100644 --- a/asm/rotating_gate.s +++ b/asm/rotating_gate.s @@ -410,7 +410,7 @@ sub_80FBAE4: @ 80FBAE4 adds r0, r4, 0x4 lsls r0, 24 lsrs r4, r0, 24 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 @@ -433,7 +433,7 @@ _080FBB2A: adds r0, 0x8 lsls r0, 24 lsrs r4, r0, 24 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 diff --git a/asm/roulette.s b/asm/roulette.s index 009f30717..e03bbea91 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -423,10 +423,10 @@ _081405F4: _08140618: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull - bl sub_8121DA0 - bl sub_8121E10 + bl ResetVramOamAndBgCntRegs + bl ResetAllBgsCoordinates b _081407F8 _08140630: bl sub_8140388 @@ -452,14 +452,14 @@ _08140662: lsls r2, 1 movs r1, 0 bl LoadPalette - ldr r1, =gUnknown_08DBC2E8 + ldr r1, =gRouletteMenuTiles movs r4, 0 str r4, [sp] movs r0, 0x1 movs r2, 0 movs r3, 0 bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DBCA14 + ldr r1, =gRouletteWheelTiles str r4, [sp] movs r0, 0x2 movs r2, 0 @@ -508,7 +508,7 @@ _081406E0: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5B89 movs r1, 0x1 @@ -740,7 +740,7 @@ sub_8140914: @ 8140914 ldr r5, =gUnknown_0203AB8C ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] ldr r2, =gUnknown_082A5C13 movs r1, 0x1 @@ -2631,7 +2631,7 @@ sub_814189C: @ 814189C ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5BD7 b _08141902 @@ -2643,7 +2643,7 @@ _081418EC: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5BCB _08141902: @@ -2667,7 +2667,7 @@ _08141928: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5BE0 movs r1, 0x1 @@ -2805,7 +2805,7 @@ sub_8141A18: @ 8141A18 ldr r5, =gUnknown_0203AB8C ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] movs r1, 0x1 str r1, [sp] @@ -3001,7 +3001,7 @@ _08141BB0: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C21 movs r1, 0x1 @@ -3028,7 +3028,7 @@ _08141C58: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C61 movs r1, 0x1 @@ -3060,7 +3060,7 @@ _08141CBC: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C04 movs r1, 0x1 @@ -3147,7 +3147,7 @@ _08141D44: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C61 movs r1, 0x1 @@ -3258,8 +3258,8 @@ sub_8141E7C: @ 8141E7C ldr r0, =gSpriteCoordOffsetY strh r4, [r0] strh r4, [r1] - bl sub_8121DA0 - bl sub_8121E10 + bl ResetVramOamAndBgCntRegs + bl ResetAllBgsCoordinates movs r0, 0x50 movs r1, 0 bl SetGpuReg @@ -3619,7 +3619,7 @@ _08142174: cmp r3, 0x3 bls _08142144 movs r6, 0 - ldr r0, =gUnknown_085B62E8 + ldr r0, =gUnknown_085B62E4+0x4 add r0, r12 ldr r7, [r0] ldr r4, =gUnknown_0203AB88 @@ -4667,7 +4667,7 @@ sub_81429F0: @ 81429F0 bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame str r5, [sp] movs r0, 0xFF str r0, [sp, 0x4] @@ -4744,7 +4744,7 @@ sub_8142A88: @ 8142A88 beq _08142B28 movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldr r2, =gUnknown_082A5B6B str r7, [sp] movs r0, 0xFF @@ -4768,7 +4768,7 @@ _08142B28: bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame movs r0, 0x1 str r0, [sp] movs r0, 0xFF @@ -4798,7 +4798,7 @@ _08142B78: bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame str r7, [sp] movs r0, 0xFF str r0, [sp, 0x4] @@ -4985,7 +4985,7 @@ _08142D24: lsls r1, r5, 1 adds r1, r5 lsls r1, 3 - ldr r0, =gUnknown_085B75B0 + ldr r0, =gSpriteTemplate_85B75B0 adds r0, r1, r0 adds r1, 0x94 adds r2, r4, 0 @@ -5035,7 +5035,7 @@ _08142D86: lsls r1, r6, 1 adds r1, r6 lsls r1, 3 - ldr r0, =gUnknown_085B7508 + ldr r0, =gSpriteTemplate_85B7508 adds r0, r1, r0 adds r1, 0x94 lsls r1, 16 @@ -5070,7 +5070,7 @@ _08142DCC: lsls r2, r6, 1 adds r2, r6 lsls r2, 3 - ldr r0, =gUnknown_085B7568 + ldr r0, =gSpriteTemplate_85B7568 adds r0, r2, r0 adds r2, 0x5C lsls r2, 16 @@ -5278,7 +5278,7 @@ sub_8142F7C: @ 8142F7C movs r0, 0x4 mov r8, r0 _08142F8C: - ldr r0, =gUnknown_085B7928 + ldr r0, =gSpriteTemplate_85B7928 movs r1, 0x74 movs r2, 0x14 movs r3, 0xA @@ -5600,7 +5600,7 @@ _08143216: lsls r0, r1, 1 adds r0, r1 lsls r0, 3 - ldr r1, =gUnknown_085B7610 + ldr r1, =gSpriteTemplate_85B7610 adds r0, r1 movs r1, 0x28 mov r2, sp @@ -5749,7 +5749,7 @@ _08143322: lsrs r5, r0, 24 cmp r5, 0x4 bls _08143322 - ldr r0, =gUnknown_085B77E4 + ldr r0, =gSpriteTemplate_85B77E4 movs r1, 0xD0 movs r2, 0x10 movs r3, 0x4 @@ -6459,7 +6459,7 @@ sub_814391C: @ 814391C str r0, [sp, 0x4] mov r0, sp bl LoadSpriteSheet - ldr r0, =gUnknown_085B7950 + ldr r0, =gSpriteTemplate_85B7950 movs r1, 0x74 movs r2, 0x50 movs r3, 0x51 @@ -6530,7 +6530,7 @@ _081439D0: subs r3, r4 lsls r3, 24 lsrs r3, 24 - ldr r0, =gUnknown_085B7928 + ldr r0, =gSpriteTemplate_85B7928 movs r1, 0x74 movs r2, 0x50 bl CreateSprite @@ -6841,14 +6841,14 @@ _08143BEA: lsls r0, 24 cmp r0, 0 beq _08143C74 - ldr r0, _08143C84 @ =gMPlay_SE1 + ldr r0, _08143C84 @ =gMPlayInfo_SE1 ldr r4, _08143C88 @ =0x0000FFFF ldrh r2, [r7, 0x24] lsls r2, 24 asrs r2, 24 adds r1, r4, 0 bl m4aMPlayPanpotControl - ldr r0, _08143C8C @ =gMPlay_SE2 + ldr r0, _08143C8C @ =gMPlayInfo_SE2 ldrh r2, [r7, 0x24] lsls r2, 24 asrs r2, 24 @@ -6864,11 +6864,11 @@ _08143C74: _08143C80: .4byte 0x00000000 _08143C84: - .4byte gMPlay_SE1 + .4byte gMPlayInfo_SE1 _08143C88: .4byte 0x0000FFFF _08143C8C: - .4byte gMPlay_SE2 + .4byte gMPlayInfo_SE2 thumb_func_end sub_8143B84 thumb_func_start sub_8143C90 @@ -8128,7 +8128,7 @@ sub_81446DC: @ 81446DC lsrs r0, 16 mov r9, r0 ldr r5, =gUnknown_0203AB88 - ldr r0, =gUnknown_085B79F8 + ldr r0, =gSpriteTemplate_85B79F8 movs r2, 0xC negs r2, r2 movs r1, 0x24 @@ -8137,7 +8137,7 @@ sub_81446DC: @ 81446DC ldr r1, [r5] adds r1, 0x73 strb r0, [r1] - ldr r4, =gUnknown_085B7ABC + ldr r4, =gSpriteTemplate_85B7ABC mov r3, r8 movs r0, 0x2E ldrsh r2, [r3, r0] @@ -8353,7 +8353,7 @@ sub_81448B8: @ 81448B8 lsls r0, 16 lsrs r0, 16 mov r9, r0 - ldr r0, =gUnknown_085B7A10 + ldr r0, =gSpriteTemplate_85B7A10 movs r1, 0x2E ldrsh r2, [r7, r1] lsls r2, 2 @@ -8709,12 +8709,12 @@ _08144BAC: mov r5, r10 cmp r5, r8 bcs _08144C18 - ldr r1, =gUnknown_085B6160 + ldr r1, =gUnknown_085B6154+0xC mov r10, r1 _08144BBC: ldr r3, [r4] lsls r0, r6, 3 - ldr r1, =gUnknown_085B62E8 + ldr r1, =gUnknown_085B62E4+0x4 adds r0, r1 ldr r1, [r3, 0x8] ldr r2, [r0] @@ -9385,14 +9385,14 @@ sub_81450D8: @ 81450D8 adds r4, r0 asrs r4, 1 negs r4, r4 - ldr r0, =gMPlay_SE1 + ldr r0, =gMPlayInfo_SE1 ldr r5, =0x0000ffff lsls r4, 24 asrs r4, 24 adds r1, r5, 0 adds r2, r4, 0 bl m4aMPlayPanpotControl - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 adds r1, r5, 0 adds r2, r4, 0 bl m4aMPlayPanpotControl diff --git a/asm/script_menu.s b/asm/script_menu.s index 55ce5736a..7317317a3 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -24,7 +24,7 @@ ScriptMenu_Multichoice: @ 80E1E08 lsrs r0, 24 cmp r0, 0x1 beq _080E1E4C - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0xFF strh r1, [r0] movs r0, 0 @@ -70,7 +70,7 @@ ScriptMenu_MultichoiceWithDefault: @ 80E1E58 lsrs r0, 24 cmp r0, 0x1 beq _080E1EA8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] str r4, [sp] @@ -358,13 +358,13 @@ _080E20B8: bne _080E20FC movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _080E20EC .pool _080E20E8: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080E20EC: ldrb r0, [r5, 0xC] @@ -389,7 +389,7 @@ ScriptMenu_YesNo: @ 80E2108 lsrs r0, 24 cmp r0, 0x1 beq _080E2138 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl sub_8197930 @@ -410,7 +410,7 @@ _080E213A: thumb_func_start sub_80E2140 sub_80E2140: @ 80E2140 push {lr} - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0xFF beq _080E2154 @@ -444,7 +444,7 @@ task_yes_no_maybe: @ 80E215C b _080E21C4 .pool _080E2180: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r0, 0x1 @@ -465,12 +465,12 @@ _080E219C: _080E21A4: movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _080E21B8 .pool _080E21B4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _080E21B8: strh r0, [r1] @@ -517,7 +517,7 @@ ScriptMenu_MultichoiceGrid: @ 80E21D0 b _080E22E8 .pool _080E2210: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0xFF strh r1, [r0] movs r2, 0 @@ -655,13 +655,13 @@ sub_80E2308: @ 80E2308 bne _080E2360 movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _080E2350 .pool _080E234C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080E2350: ldrb r0, [r5, 0xC] @@ -676,9 +676,9 @@ _080E2360: .pool thumb_func_end sub_80E2308 - thumb_func_start sp109_CreatePCMenu -@ bool sp109_CreatePCMenu() -sp109_CreatePCMenu: @ 80E236C + thumb_func_start ScrSpecial_CreatePCMenu +@ bool ScrSpecial_CreatePCMenu() +ScrSpecial_CreatePCMenu: @ 80E236C push {lr} ldr r0, =sub_80E2058 bl FuncIsActiveTask @@ -686,7 +686,7 @@ sp109_CreatePCMenu: @ 80E236C lsrs r0, 24 cmp r0, 0x1 beq _080E2394 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl CreatePCMenu @@ -698,7 +698,7 @@ _080E2394: _080E2396: pop {r1} bx r1 - thumb_func_end sp109_CreatePCMenu + thumb_func_end ScrSpecial_CreatePCMenu thumb_func_start CreatePCMenu CreatePCMenu: @ 80E239C @@ -858,8 +858,8 @@ _080E24C6: .pool thumb_func_end CreatePCMenu - thumb_func_start sub_80E2514 -sub_80E2514: @ 80E2514 + thumb_func_start ScriptMenu_DisplayPCStartupPrompt +ScriptMenu_DisplayPCStartupPrompt: @ 80E2514 push {lr} sub sp, 0x10 movs r0, 0 @@ -877,12 +877,12 @@ sub_80E2514: @ 80E2514 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized add sp, 0x10 pop {r0} bx r0 .pool - thumb_func_end sub_80E2514 + thumb_func_end ScriptMenu_DisplayPCStartupPrompt thumb_func_start sub_80E2548 sub_80E2548: @ 80E2548 @@ -893,7 +893,7 @@ sub_80E2548: @ 80E2548 lsrs r0, 24 cmp r0, 0x1 beq _080E2570 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl sub_80E2578 @@ -1266,7 +1266,7 @@ _080E2860: thumb_func_start sub_80E2878 sub_80E2878: @ 80E2878 push {lr} - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldrh r0, [r2] cmp r0, 0x7F beq _080E288C @@ -1606,7 +1606,7 @@ _080E2B12: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _080E2B70 .pool _080E2B40: @@ -1630,7 +1630,7 @@ _080E2B40: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized _080E2B70: add sp, 0x10 pop {r4} @@ -1648,7 +1648,7 @@ sp106_CreateStartMenu: @ 80E2B7C lsrs r0, 24 cmp r0, 0x1 beq _080E2BA4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl CreateStartMenu diff --git a/asm/script_movement.s b/asm/script_movement.s index 5f06fd179..8c6a6257c 100755..100644 --- a/asm/script_movement.s +++ b/asm/script_movement.s @@ -553,7 +553,7 @@ _080D36DC: adds r1, r6, 0 bl sub_80D355C adds r0, r4, 0 - bl sub_8097404 + bl FreezeMapObject b _080D370E .pool _080D36F8: diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index 98510dd9e..4f0fb850b 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -83,7 +83,7 @@ sub_80F8850: @ 80F8850 thumb_func_start sub_80F8864 sub_80F8864: @ 80F8864 push {lr} - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080F88A4 @@ -157,7 +157,7 @@ sub_80F88E8: @ 80F88E8 ldrb r0, [r0] cmp r0, 0 bne _080F8930 - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r0, 0x3 bne _080F8930 @@ -601,7 +601,7 @@ sub_80F8C7C: @ 80F8C7C ldrb r0, [r0] cmp r0, 0 bne _080F8D18 - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r0, 0x3 bne _080F8D18 @@ -952,7 +952,7 @@ sub_80F8FA0: @ 80F8FA0 ands r0, r1 cmp r0, 0 bne _080F8FD8 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 @@ -960,7 +960,7 @@ sub_80F8FA0: @ 80F8FA0 b _080F8FDE .pool _080F8FD8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 strh r0, [r1] _080F8FDE: @@ -987,11 +987,11 @@ sub_80F8FE8: @ 80F8FE8 adds r0, r1 str r0, [r2] lsrs r0, 16 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result b _080F902A .pool _080F9020: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl Random lsls r0, 16 lsrs r0, 16 @@ -1174,8 +1174,8 @@ _080F917A: bx r1 thumb_func_end sub_80F9160 - thumb_func_start sp000_heal_pokemon -sp000_heal_pokemon: @ 80F9180 + thumb_func_start HealPlayerParty +HealPlayerParty: @ 80F9180 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1267,7 +1267,7 @@ _080F922C: pop {r0} bx r0 .pool - thumb_func_end sp000_heal_pokemon + thumb_func_end HealPlayerParty thumb_func_start ScriptGiveMon @ void ScriptGiveMon(s16 species_num, u8 level, int held_item) @@ -1343,7 +1343,7 @@ ScriptGiveEgg: @ 80F92C8 lsrs r1, 16 mov r0, sp movs r2, 0x1 - bl sub_8070954 + bl CreateEgg add r2, sp, 0x64 movs r0, 0x1 strb r0, [r2] @@ -1359,8 +1359,8 @@ ScriptGiveEgg: @ 80F92C8 bx r1 thumb_func_end ScriptGiveEgg - thumb_func_start sub_80F92F8 -sub_80F92F8: @ 80F92F8 + thumb_func_start HasEnoughMonsForDoubleBattle +HasEnoughMonsForDoubleBattle: @ 80F92F8 push {lr} bl GetMonsStateToDoubles lsls r0, 24 @@ -1376,13 +1376,13 @@ _080F9310: cmp r1, 0x2 bne _080F9318 _080F9314: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080F9318: pop {r0} bx r0 .pool - thumb_func_end sub_80F92F8 + thumb_func_end HasEnoughMonsForDoubleBattle thumb_func_start sub_80F9320 sub_80F9320: @ 80F9320 @@ -1550,12 +1550,12 @@ sub_80F9460: @ 80F9460 ldrb r1, [r0] cmp r1, 0 bne _080F9478 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _080F947E .pool _080F9478: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _080F947E: @@ -1590,12 +1590,12 @@ sub_80F94B8: @ 80F94B8 ldrb r1, [r0] cmp r1, 0 bne _080F94D0 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _080F94D6 .pool _080F94D0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _080F94D6: diff --git a/asm/shop.s b/asm/shop.s index 94756624c..97dbd07c8 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -188,7 +188,7 @@ HandleShopMenuBuy: @ 80DFBD0 str r0, [r1] movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r4} pop {r0} bx r0 @@ -216,7 +216,7 @@ HandleShopMenuSell: @ 80DFC0C str r0, [r1] movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r4} pop {r0} bx r0 @@ -409,7 +409,7 @@ _080DFDAC: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate movs r1, 0 movs r2, 0 bl ListMenuInit @@ -448,7 +448,7 @@ _080DFE20: ldr r2, =0x01000100 add r0, sp, 0x8 bl CpuFastSet - bl remove_some_task + bl ScanlineEffect_Stop bl reset_temp_tile_data_buffers bl FreeAllSpritePalettes bl ResetPaletteFade @@ -601,7 +601,7 @@ _080DFF78: movs r0, 0x2 negs r0, r0 str r0, [r1, 0x4] - ldr r3, =gUnknown_03006310 + ldr r3, =gMultiuseListMenuTemplate adds r1, r3, 0 ldr r0, =gUnknown_08589A48 ldm r0!, {r4-r6} @@ -627,7 +627,7 @@ _080DFFDC: _080DFFDE: ldr r0, =gUnknown_02039F70 ldr r0, [r0] - ldr r1, =gUnknown_03006310 + ldr r1, =gMultiuseListMenuTemplate ldrh r1, [r1, 0xE] ldr r2, =0x00002004 adds r0, r2 @@ -839,7 +839,7 @@ _080E0176: adds r0, r6, 0 movs r1, 0x7 adds r3, r7, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _080E01AC: add sp, 0x14 pop {r4-r7} @@ -969,7 +969,7 @@ _080E02AE: ldr r0, =0x0000083e adds r1, r3, r0 adds r0, r1, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 @@ -1201,7 +1201,7 @@ BuyMenuPrint: @ 80E04A4 str r6, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r4-r6} pop {r0} @@ -1219,7 +1219,7 @@ BuyMenuDisplayMessage: @ 80E04E8 adds r6, r2, 0 lsls r4, 24 lsrs r4, 24 - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -1976,7 +1976,7 @@ Task_BuyMenu: @ 80E0AC8 b _080E0C8E _080E0AEA: ldrb r0, [r4, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r5, r0, 0 ldrb r0, [r4, 0xE] ldr r7, =gUnknown_02039F70 @@ -1985,7 +1985,7 @@ _080E0AEA: adds r1, r2, r3 subs r3, 0x2 adds r2, r3 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r5, r0 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 6390ae992..88f73fe2c 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -975,7 +975,7 @@ sub_812ACF4: @ 812ACF4 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_YouDontHaveThreeCoins movs r0, 0x1 str r0, [sp] @@ -1543,7 +1543,7 @@ sub_812B158: @ 812B158 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_QuitTheGame movs r0, 0x1 str r0, [sp] @@ -1581,7 +1581,7 @@ sub_812B158: @ 812B158 thumb_func_start sub_812B1B0 sub_812B1B0: @ 812B1B0 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1633,7 +1633,7 @@ sub_812B214: @ 812B214 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_YouveGot9999Coins movs r0, 0x1 str r0, [sp] @@ -1686,7 +1686,7 @@ sub_812B280: @ 812B280 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_YouveRunOutOfCoins movs r0, 0x1 str r0, [sp] @@ -8934,7 +8934,7 @@ sub_812EB48: @ 812EB48 ldrb r3, [r1] adds r1, r3, 0 adds r2, r3, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r0, [r4, 0x38] adds r0, 0x1 movs r1, 0x1 @@ -8979,7 +8979,7 @@ sub_812EBCC: @ 812EBCC movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents movs r4, 0 _0812EBEA: ldr r0, =gUnknown_0203AB34 @@ -10588,7 +10588,7 @@ sub_812F7E4: @ 812F7E4 bl Alloc adds r1, r0, 0 str r1, [r4] - ldr r0, =gUnknown_08DD0050 + ldr r0, =gSlotMachineReelTime_Gfx bl LZDecompressWram ldr r4, =gUnknown_0203AAD8 movs r0, 0xD8 @@ -10715,14 +10715,14 @@ sub_812F908: @ 812F908 bl Alloc adds r1, r0, 0 str r1, [r4] - ldr r0, =gUnknown_08DCDB30 + ldr r0, =gSlotMachineMenu_Gfx bl LZDecompressWram ldr r1, [r4] movs r0, 0x2 adds r2, r5, 0 movs r3, 0 bl LoadBgTiles - ldr r0, =gUnknown_08DCDA90 + ldr r0, =gSlotMachineMenu_Pal movs r1, 0 movs r2, 0xA0 bl LoadPalette @@ -10748,7 +10748,7 @@ sub_812F958: @ 812F958 thumb_func_start sub_812F968 sub_812F968: @ 812F968 push {lr} - ldr r1, =gUnknown_08DCE770 + ldr r1, =gSlotMachineMenu_Tilemap movs r2, 0xA0 lsls r2, 3 movs r0, 0x2 diff --git a/asm/smokescreen.s b/asm/smokescreen.s index 464e25c40..464e25c40 100755..100644 --- a/asm/smokescreen.s +++ b/asm/smokescreen.s diff --git a/asm/start_menu.s b/asm/start_menu.s index 4f8544eea..5b6652a6f 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -148,7 +148,7 @@ _0809F8E4: lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldr r1, =gUnknown_02037619 movs r0, 0 strb r0, [r1, 0x1] @@ -170,7 +170,7 @@ _0809F926: b _0809F940 .pool _0809F930: - ldr r4, =gUnknown_0203761A + ldr r4, =gUnknown_02037619+1 adds r0, r4, 0 movs r1, 0x2 bl PrintStartMenuActions @@ -356,7 +356,7 @@ sub_809FA9C: @ 809FA9C bl is_c1_link_related_active cmp r0, 0 bne _0809FAB2 - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 _0809FAB2: @@ -449,7 +449,7 @@ _0809FB34: beq _0809FBA0 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen b _0809FBA0 .pool _0809FB98: @@ -653,7 +653,7 @@ _0809FD38: bl play_some_sound bl RemoveExtraStartMenuWindows bl overworld_free_bg_tilemaps - ldr r0, =CB2_OptionsMenu + ldr r0, =CB2_InitOptionMenu bl SetMainCallback2 ldr r1, =gMain ldr r0, =sub_8086194 @@ -868,7 +868,7 @@ _0809FF00: bl sub_8197DF8 bl sub_80984F4 bl ScriptContext2_Disable - ldr r0, =gUnknown_08252C88 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88 bl ScriptContext1_SetupScript movs r0, 0x1 b _0809FF22 @@ -974,13 +974,13 @@ task50_save_game: @ 809FFD0 _0809FFEC: cmp r1, 0x3 bgt _080A0000 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _080A0000 .pool _0809FFFC: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080A0000: adds r0, r4, 0 @@ -1089,7 +1089,7 @@ sub_80A00A0: @ 80A00A0 lsls r0, 24 cmp r0, 0 beq _080A00D4 - ldr r0, =gUnknown_08252CA7 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CA7 ldr r1, =sub_80A00EC bl sub_809FF98 b _080A00DC @@ -1121,7 +1121,7 @@ sub_80A00EC: @ 80A00EC thumb_func_start sub_80A0108 sub_80A0108: @ 80A0108 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1226,7 +1226,7 @@ sub_80A01D0: @ 80A01D0 thumb_func_start sub_80A01EC sub_80A01EC: @ 80A01EC push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1415,7 +1415,7 @@ sub_80A035C: @ 80A035C movs r1, 0 bl sub_819746C bl remove_start_menu_window_maybe - ldr r0, =gUnknown_08252CFB + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CFB ldr r1, =sub_80A0388 bl sub_809FF98 movs r0, 0 @@ -1441,7 +1441,7 @@ sub_80A0388: @ 80A0388 thumb_func_start sub_80A03A4 sub_80A03A4: @ 80A03A4 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1510,7 +1510,7 @@ _080A0418: bl SetGpuReg movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop movs r2, 0xA0 lsls r2, 19 mov r1, sp @@ -1561,7 +1561,7 @@ _080A0490: bl ResetSpriteData bl ResetTasks bl ResetPaletteFade - bl dp12_8087EA4 + bl ScanlineEffect_Clear b _080A04FC _080A04A2: movs r0, 0 @@ -1683,7 +1683,7 @@ _080A05AC: movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer - ldr r2, =gUnknown_082C8959 + ldr r2, =gText_SavingDontTurnOffPower movs r4, 0 str r4, [sp] movs r0, 0x2 @@ -1695,7 +1695,7 @@ _080A05AC: movs r0, 0 movs r1, 0x1 movs r3, 0xFF - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x8 movs r2, 0xE @@ -1832,7 +1832,7 @@ _080A06EC: strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] diff --git a/asm/starter_choose.s b/asm/starter_choose.s deleted file mode 100644 index da42959ea..000000000 --- a/asm/starter_choose.s +++ /dev/null @@ -1,985 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8133EDC -sub_8133EDC: @ 8133EDC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _08133EE8 - movs r1, 0 -_08133EE8: - ldr r0, =gUnknown_085B1DF8 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_8133EDC - - thumb_func_start sub_8133EF8 -sub_8133EF8: @ 8133EF8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8133EF8 - - thumb_func_start set_256color_bg_bg0 -set_256color_bg_bg0: @ 8133F0C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - add r1, sp, 0x4 - movs r0, 0 - strh r0, [r1] - ldr r2, =0x040000d4 - str r1, [r2] - movs r1, 0xC0 - lsls r1, 19 - str r1, [r2, 0x4] - ldr r0, =0x8100c000 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - mov r9, r0 - str r0, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r2] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, =0x85000100 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - add r0, sp, 0x4 - mov r3, r9 - strh r3, [r0] - str r0, [r2] - movs r0, 0xA0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, =0x81000200 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, =gBirchHelpGfx - bl LZ77UnCompVram - ldr r0, =gBirchBagTilemap - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r0, =gBirchGrassTilemap - ldr r1, =0x06003800 - bl LZ77UnCompVram - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B1E00 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085B1DCC - bl InitWindows - bl DeactivateAllTextPrinters - movs r1, 0xAA - lsls r1, 2 - movs r0, 0 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - bl dp13_810BB8C - bl sub_8098C64 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gBirchBagGrassPal - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r0, =gUnknown_085B1ED8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085B1EE8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085B1EF8 - bl LoadSpritePalettes - movs r0, 0x1 - negs r0, r0 - mov r1, r9 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_8133EF8 - bl SetVBlankCallback - ldr r0, =sub_81341E0 - bl SetMainCallback2 - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x1F - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xFE - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x7 - bl SetGpuReg - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r0, =sub_81341FC - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r3, 0x1 - mov r10, r3 - mov r1, r10 - strh r1, [r0, 0x8] - ldr r0, =gUnknown_085B1F10 - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gSprites - mov r8, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - ldr r6, =gUnknown_085B1F28 - ldr r5, =gUnknown_085B1DEC - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - mov r0, r9 - strh r0, [r1, 0x30] - ldrb r1, [r5, 0x2] - ldrb r2, [r5, 0x3] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - mov r3, r10 - strh r3, [r1, 0x30] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x5] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - movs r0, 0x2 - strh r0, [r1, 0x30] - ldr r1, =gUnknown_030011F8 - movs r0, 0xFF - strh r0, [r1] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end set_256color_bg_bg0 - - thumb_func_start sub_81341E0 -sub_81341E0: @ 81341E0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81341E0 - - thumb_func_start sub_81341FC -sub_81341FC: @ 81341FC - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x8] - bl sub_81344C8 - movs r2, 0xAA - lsls r2, 2 - movs r0, 0 - movs r1, 0 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r2, =gText_BirchInTrouble - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =sub_813425C - str r0, [r4] - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81341FC - - thumb_func_start sub_813425C -sub_813425C: @ 813425C - 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 r6, r0, r2 - ldrh r7, [r6, 0x8] - ldrb r4, [r6, 0x8] - ldr r1, =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _081342F8 - bl sub_8134604 - ldr r0, =gUnknown_085B1F40 - ldr r1, =gUnknown_085B1DEC - lsls r2, r4, 1 - adds r3, r2, r1 - ldrb r5, [r3] - adds r1, 0x1 - adds r2, r1 - ldrb r4, [r2] - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xC] - ldrh r0, [r6, 0x8] - bl sub_8133EDC - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8134690 - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r4, 0 - adds r2, 0x10 - adds r2, r1, r2 - ldr r3, =gUnknown_085B1ED0 - str r3, [r2] - adds r4, 0x1C - adds r1, r4 - ldr r2, =sub_8134774 - str r2, [r1] - strh r0, [r6, 0xA] - ldr r0, =sub_8134340 - str r0, [r6] - b _08134334 - .pool -_081342F8: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _08134314 - cmp r4, 0 - beq _08134314 - subs r0, r7, 0x1 - strh r0, [r6, 0x8] - ldr r0, =sub_8134640 - str r0, [r6] - b _08134334 - .pool -_08134314: - ldrh r1, [r1, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08134334 - cmp r4, 0x1 - bhi _08134334 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - ldr r1, =sub_8134640 - str r1, [r0] -_08134334: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813425C - - thumb_func_start sub_8134340 -sub_8134340: @ 8134340 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gSprites - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0813437E - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - bne _0813437E - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x40 - bne _0813437E - ldr r0, =sub_8134390 - str r0, [r2] -_0813437E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134340 - - thumb_func_start sub_8134390 -sub_8134390: @ 8134390 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r0, [r4, 0x8] - bl sub_8133EDC - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl PlayCry1 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_ConfirmStarterChoice - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_085B1DDC - movs r1, 0xAA - lsls r1, 2 - movs r2, 0xD - movs r3, 0 - bl CreateYesNoMenu - ldr r0, =sub_8134400 - str r0, [r4] - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134390 - - thumb_func_start sub_8134400 -sub_8134400: @ 8134400 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8198C58 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08134426 - cmp r1, 0 - bgt _08134420 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08134450 - b _0813449A -_08134420: - cmp r1, 0x1 - beq _08134450 - b _0813449A -_08134426: - ldr r2, =gScriptResult - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strh r0, [r2] - bl dp13_810BB8C - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - b _0813449A - .pool -_08134450: - movs r0, 0x5 - bl PlaySE - ldr r0, =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - ldrb r4, [r5, 0xA] - ldr r6, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl sub_818D820 - ldrb r0, [r5, 0xC] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - ldr r0, =sub_81344AC - str r0, [r5] -_0813449A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134400 - - thumb_func_start sub_81344AC -sub_81344AC: @ 81344AC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_81341FC - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81344AC - - thumb_func_start sub_81344C8 -sub_81344C8: @ 81344C8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x34 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - bl sub_8133EDC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - add r1, sp, 0xC - bl sub_81DB468 - movs r0, 0xB - adds r1, r4, 0 - muls r1, r0 - mov r9, r1 - ldr r0, =gSpeciesNames - add r9, r0 - ldr r0, =gUnknown_085B1DE4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x2C] - str r1, [sp, 0x30] - ldr r3, =gUnknown_085B1DF2 - lsls r5, 1 - adds r2, r5, r3 - mov r10, r2 - ldrb r0, [r2] - lsls r0, 8 - ldr r1, =0xffff00ff - ldr r2, [sp, 0x2C] - ands r2, r1 - orrs r2, r0 - str r2, [sp, 0x2C] - adds r3, 0x1 - adds r5, r3 - ldrb r1, [r5] - lsls r1, 16 - ldr r0, =0xff00ffff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x2C] - add r0, sp, 0x2C - bl AddWindow - ldr r4, =gUnknown_030011F8 - strh r0, [r4] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x7 - add r1, sp, 0xC - movs r2, 0x68 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - ldrb r0, [r4] - lsls r2, 24 - lsrs r2, 24 - ldr r1, =gUnknown_085B1E0C - mov r8, r1 - str r1, [sp] - movs r6, 0 - str r6, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0x1 - bl box_print - movs r0, 0x1 - mov r1, r9 - movs r2, 0x68 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - ldrb r0, [r4] - lsls r2, 24 - lsrs r2, 24 - mov r1, r8 - str r1, [sp] - str r6, [sp, 0x4] - mov r1, r9 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x11 - bl box_print - ldrb r0, [r4] - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - mov r2, r10 - ldrb r1, [r2] - lsls r0, r1, 27 - movs r2, 0xFC - lsls r2, 24 - adds r0, r2 - adds r1, 0xD - lsls r1, 3 - adds r1, 0x4 - lsls r1, 24 - ldrb r4, [r5] - lsls r5, r4, 27 - lsrs r5, 24 - adds r4, 0x4 - lsls r4, 27 - lsrs r4, 24 - lsrs r1, 8 - orrs r1, r0 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - lsls r5, 8 - orrs r5, r4 - movs r0, 0x44 - adds r1, r5, 0 - bl SetGpuReg - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81344C8 - - thumb_func_start sub_8134604 -sub_8134604: @ 8134604 - push {r4,lr} - ldr r4, =gUnknown_030011F8 - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strh r0, [r4] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134604 - - thumb_func_start sub_8134640 -sub_8134640: @ 8134640 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8134604 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8134668 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134640 - - thumb_func_start sub_8134668 -sub_8134668: @ 8134668 - 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 - ldrb r0, [r4, 0x8] - bl sub_81344C8 - ldr r0, =sub_813425C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134668 - - thumb_func_start sub_8134690 -sub_8134690: @ 8134690 - push {lr} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - ldr r1, =0x0000ffff - str r1, [sp, 0xC] - movs r1, 0x8 - movs r2, 0 - movs r3, 0x1 - bl sub_818D3E4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x5] - add sp, 0x10 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8134690 - - thumb_func_start sub_81346DC -sub_81346DC: @ 81346DC - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gUnknown_085B1E28 - ldr r3, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0x8 - ldrsh r0, [r0, r1] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x20] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0x8 - ldrsh r0, [r0, r1] - lsls r0, 1 - adds r2, 0x1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x22] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x4 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81346DC - - thumb_func_start sub_813473C -sub_813473C: @ 813473C - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - bne _08134768 - adds r0, r3, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _08134770 - .pool -_08134768: - adds r0, r3, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent -_08134770: - pop {r0} - bx r0 - thumb_func_end sub_813473C - - thumb_func_start sub_8134774 -sub_8134774: @ 8134774 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - ble _08134786 - subs r0, r2, 0x4 - strh r0, [r1, 0x20] -_08134786: - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _08134794 - adds r0, r2, 0x4 - strh r0, [r1, 0x20] -_08134794: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x40 - ble _081347A2 - subs r0, r2, 0x2 - strh r0, [r1, 0x22] -_081347A2: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x3F - bgt _081347B0 - adds r0, r2, 0x2 - strh r0, [r1, 0x22] -_081347B0: - pop {r0} - bx r0 - thumb_func_end sub_8134774 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/title_screen.s b/asm/title_screen.s deleted file mode 100644 index bc9401fb6..000000000 --- a/asm/title_screen.s +++ /dev/null @@ -1,1321 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80AA40C -sub_80AA40C: @ 80AA40C - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080AA43C - ldrb r0, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - strb r1, [r3, 0x1] - movs r0, 0x42 - strh r0, [r3, 0x22] - b _080AA46A - .pool -_080AA43C: - ldrh r1, [r3, 0x22] - movs r2, 0x22 - ldrsh r0, [r3, r2] - cmp r0, 0x42 - beq _080AA44A - adds r0, r1, 0x1 - strh r0, [r3, 0x22] -_080AA44A: - ldrh r1, [r3, 0x2E] - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080AA458 - subs r0, r1, 0x1 - strh r0, [r3, 0x2E] -_080AA458: - ldr r0, =gUnknown_0853FF70 - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r1, 1 - adds r1, r0 - ldrh r1, [r1] - movs r0, 0x52 - bl SetGpuReg -_080AA46A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AA40C - - thumb_func_start sub_80AA474 -sub_80AA474: @ 80AA474 - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080AA4A0 - ldrb r0, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - strb r1, [r3, 0x1] - movs r0, 0x42 - b _080AA4AC - .pool -_080AA4A0: - ldrh r1, [r3, 0x22] - movs r2, 0x22 - ldrsh r0, [r3, r2] - cmp r0, 0x42 - beq _080AA4AE - adds r0, r1, 0x1 -_080AA4AC: - strh r0, [r3, 0x22] -_080AA4AE: - pop {r0} - bx r0 - thumb_func_end sub_80AA474 - - thumb_func_start sub_80AA4B4 -sub_80AA4B4: @ 80AA4B4 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _080AA4DC - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080AA4DC - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _080AA4E8 -_080AA4DC: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080AA4E8: - pop {r0} - bx r0 - thumb_func_end sub_80AA4B4 - - thumb_func_start sub_80AA4EC -sub_80AA4EC: @ 80AA4EC - push {r4-r7,lr} - lsls r0, 16 - ldr r2, =0xffc00000 - adds r0, r2 - lsrs r0, 16 - movs r6, 0 - lsls r7, r1, 16 -_080AA4FA: - lsls r5, r0, 16 - asrs r5, 16 - ldr r0, =gUnknown_085400D8 - adds r1, r5, 0 - asrs r2, r7, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl StartSpriteAnim - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, 0x20 - lsls r5, 16 - lsrs r0, r5, 16 - cmp r6, 0x4 - bls _080AA4FA - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AA4EC - - thumb_func_start sub_80AA548 -sub_80AA548: @ 80AA548 - push {r4-r6,lr} - lsls r0, 16 - ldr r2, =0xffc00000 - adds r0, r2 - lsrs r0, 16 - movs r5, 0 - lsls r6, r1, 16 -_080AA556: - lsls r4, r0, 16 - asrs r4, 16 - ldr r0, =gUnknown_085400D8 - adds r1, r4, 0 - asrs r2, r6, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - adds r1, r5, 0x5 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x20 - lsls r4, 16 - lsrs r0, r4, 16 - cmp r5, 0x4 - bls _080AA556 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AA548 - - thumb_func_start title_screen_logo_shine_obj_callback_type1 -@ void title_screen_logo_shine_obj_callback_type1(struct obj *obj) -title_screen_logo_shine_obj_callback_type1: @ 80AA5A4 - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x20] - movs r0, 0x20 - ldrsh r1, [r3, r0] - ldr r0, =0x0000010f - cmp r1, r0 - bgt _080AA63C - movs r4, 0x2E - ldrsh r0, [r3, r4] - adds r4, r2, 0 - cmp r0, 0 - beq _080AA630 - cmp r1, 0x77 - bgt _080AA5E0 - ldrh r1, [r3, 0x30] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0x1E - bgt _080AA5F8 - adds r1, 0x1 - strh r1, [r3, 0x30] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x1E - bgt _080AA5F8 - adds r0, r1, 0x1 - b _080AA5F6 - .pool -_080AA5E0: - ldrh r1, [r3, 0x30] - movs r4, 0x30 - ldrsh r0, [r3, r4] - cmp r0, 0 - beq _080AA5F8 - subs r0, r1, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - cmp r0, 0 - beq _080AA5F8 - subs r0, r1, 0x2 -_080AA5F6: - strh r0, [r3, 0x30] -_080AA5F8: - ldrh r1, [r3, 0x30] - movs r0, 0x1F - ands r0, r1 - lsls r2, r0, 10 - lsls r1, r0, 5 - adds r2, r1 - orrs r2, r0 - movs r1, 0x20 - ldrsh r0, [r3, r1] - ldrh r4, [r3, 0x20] - cmp r0, 0x84 - beq _080AA61C - cmp r0, 0x88 - beq _080AA61C - cmp r0, 0x8C - beq _080AA61C - cmp r0, 0x90 - bne _080AA62C -_080AA61C: - ldr r1, =gPlttBufferFaded - ldr r0, =0x000033f8 - strh r0, [r1] - b _080AA630 - .pool -_080AA62C: - ldr r0, =gPlttBufferFaded - strh r2, [r0] -_080AA630: - adds r0, r4, 0x4 - strh r0, [r3, 0x20] - b _080AA648 - .pool -_080AA63C: - ldr r1, =gPlttBufferFaded - movs r0, 0 - strh r0, [r1] - adds r0, r3, 0 - bl DestroySprite -_080AA648: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end title_screen_logo_shine_obj_callback_type1 - - thumb_func_start title_screen_logo_shine_obj_callback_type2 -@ void title_screen_logo_shine_obj_callback_type2(struct obj *obj) -title_screen_logo_shine_obj_callback_type2: @ 80AA654 - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x20] - movs r0, 0x20 - ldrsh r1, [r2, r0] - ldr r0, =0x0000010f - cmp r1, r0 - bgt _080AA670 - adds r0, r3, 0 - adds r0, 0x8 - strh r0, [r2, 0x20] - b _080AA676 - .pool -_080AA670: - adds r0, r2, 0 - bl DestroySprite -_080AA676: - pop {r0} - bx r0 - thumb_func_end title_screen_logo_shine_obj_callback_type2 - - thumb_func_start title_screen_add_logo_shine_obj -@ void title_screen_add_logo_shine_obj(int a1) -title_screen_add_logo_shine_obj: @ 80AA67C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - beq _080AA6D0 - cmp r5, 0x1 - bgt _080AA698 - cmp r5, 0 - beq _080AA69C - b _080AA766 -_080AA698: - cmp r5, 0x2 - bne _080AA766 -_080AA69C: - ldr r0, =gUnknown_08540124 - movs r1, 0 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - strh r5, [r0, 0x2E] - b _080AA766 - .pool -_080AA6D0: - ldr r0, =gUnknown_08540124 - mov r9, r0 - movs r1, 0 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r6, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x1] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - movs r2, 0x8 - mov r8, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x1] - strh r5, [r1, 0x2E] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - mov r0, r9 - movs r1, 0 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r0, r1, r5 - ldr r2, =title_screen_logo_shine_obj_callback_type2 - mov r10, r2 - str r2, [r0] - adds r1, r6 - ldrb r2, [r1, 0x1] - adds r0, r4, 0 - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x1] - movs r1, 0x50 - negs r1, r1 - mov r0, r9 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r5 - mov r1, r10 - str r1, [r5] - adds r0, r6 - ldrb r1, [r0, 0x1] - ands r4, r1 - mov r2, r8 - orrs r4, r2 - strb r4, [r0, 0x1] -_080AA766: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end title_screen_add_logo_shine_obj - - thumb_func_start title_screen_vblank_callback -@ void title_screen_vblank_callback() -title_screen_vblank_callback: @ 80AA780 - push {lr} - bl sub_80BA0A8 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end title_screen_vblank_callback - - thumb_func_start c2_title_screen_1 -@ void c2_title_screen_1() -c2_title_screen_1: @ 80AA7A4 - push {r4,lr} - sub sp, 0x14 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _080AA7E0 - lsls r0, 2 - ldr r1, =_080AA7C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AA7C8: - .4byte _080AA7E0 - .4byte _080AA8C4 - .4byte _080AA998 - .4byte _080AA9E0 - .4byte _080AAA14 - .4byte _080AAAF0 -_080AA7E0: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0xA0 - lsls r1, 19 - ldr r2, =0x00007fff - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - add r1, sp, 0xC - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - add r0, sp, 0xC - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x10] - add r0, sp, 0x10 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - strh r2, [r0] - str r0, [r1] - ldr r0, =0x05000002 - str r0, [r1, 0x4] - ldr r0, =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _080AAB1E - .pool -_080AA8C4: - ldr r0, =gTitleScreenPokemonLogoGfx - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_08DE0644 - ldr r1, =0x06004800 - bl LZ77UnCompVram - ldr r0, =gTitleScreenBgPalettes - movs r2, 0xF0 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - ldr r0, =gTitleScreenRayquazaGfx - ldr r1, =0x06008000 - bl LZ77UnCompVram - ldr r0, =gTitleScreenRayquazaTilemap - ldr r1, =0x0600d000 - bl LZ77UnCompVram - ldr r0, =gTitleScreenCloudsGfx - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gUnknown_08DDE458 - ldr r1, =0x0600d800 - bl LZ77UnCompVram - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x9 - strb r0, [r1] - ldr r0, =gUnknown_08540048 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085400F0 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0854013C - bl LoadCompressedObjectPic - ldr r0, =gTitleScreenEmeraldVersionPal - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_08540100 - bl LoadSpritePalette - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0] - b _080AAB1E - .pool -_080AA998: - ldr r0, =task_title_screen_1 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =0x0000fff0 - strh r0, [r1, 0xC] - subs r0, 0x10 - strh r0, [r1, 0xE] - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - b _080AAB1E - .pool -_080AA9E0: - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =title_screen_vblank_callback - bl SetVBlankCallback - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x4 - strb r1, [r0] - b _080AAB1E - .pool -_080AAA14: - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x78 - movs r1, 0x50 - movs r3, 0 - bl sub_816F2A8 - movs r1, 0xE3 - lsls r1, 8 - movs r0, 0x28 - bl SetGpuReg - ldr r4, =0x0000ffff - movs r0, 0x2A - adds r1, r4, 0 - bl SetGpuReg - movs r1, 0xE0 - lsls r1, 8 - movs r0, 0x2C - bl SetGpuReg - movs r0, 0x2E - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f1f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00003f1f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x50 - movs r1, 0x84 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0xC - bl SetGpuReg - ldr r1, =0x00001a0b - movs r0, 0x8 - bl SetGpuReg - ldr r1, =0x00001b0e - movs r0, 0xA - bl SetGpuReg - ldr r1, =0x00004981 - movs r0, 0xC - bl SetGpuReg - movs r0, 0x1 - bl EnableInterrupts - ldr r1, =0x0000b441 - movs r0, 0 - bl SetGpuReg - ldr r0, =0x0000019d - bl m4aSongNumStart - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _080AAB1E - .pool -_080AAAF0: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080AAB1E - movs r0, 0 - bl title_screen_add_logo_shine_obj - str r4, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0xA0 - movs r2, 0x4 - movs r3, 0x4 - bl sub_80BA384 - ldr r0, =c2_title_screen_2 - bl SetMainCallback2 -_080AAB1E: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c2_title_screen_1 - - thumb_func_start c2_title_screen_2 -@ void c2_title_screen_2() -c2_title_screen_2: @ 80AAB2C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end c2_title_screen_2 - - thumb_func_start task_title_screen_1 -@ void task_title_screen_1(int task_id) -task_title_screen_1: @ 80AAB44 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF - ands r0, r1 - ldr r6, =gTasks - cmp r0, 0 - bne _080AAB6A - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - adds r1, r6 - movs r2, 0xA - ldrsh r1, [r1, r2] - adds r4, r0, 0 - cmp r1, 0 - beq _080AAB7C -_080AAB6A: - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r6 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0xA] - strh r2, [r0, 0x8] - adds r4, r3, 0 -_080AAB7C: - adds r0, r4, r5 - lsls r0, 3 - adds r6, r0, r6 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080AABC0 - ldrh r0, [r6, 0x8] - cmp r0, 0xB0 - bne _080AABA0 - movs r0, 0x1 - bl title_screen_add_logo_shine_obj - b _080AABAA - .pool -_080AABA0: - cmp r0, 0x40 - bne _080AABAA - movs r0, 0x2 - bl title_screen_add_logo_shine_obj -_080AABAA: - ldr r0, =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - subs r0, 0x1 - strh r0, [r1, 0x8] - b _080AAC32 - .pool -_080AABC0: - ldr r1, =0x00001441 - movs r0, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00003f50 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r0, =gUnknown_08540018 - movs r1, 0x62 - movs r2, 0x2 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x40 - strh r0, [r1, 0x2E] - strh r5, [r1, 0x30] - ldr r0, =gUnknown_08540030 - movs r1, 0xA2 - movs r2, 0x2 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - strh r5, [r1, 0x30] - movs r0, 0x90 - strh r0, [r6, 0x8] - ldr r0, =task_title_screen_2 - str r0, [r6] -_080AAC32: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_title_screen_1 - - thumb_func_start task_title_screen_2 -@ void task_title_screen_2(int task_id) -task_title_screen_2: @ 80AAC50 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF - ands r0, r1 - ldr r2, =gTasks - cmp r0, 0 - bne _080AAC76 - lsls r0, r4, 2 - adds r1, r0, r4 - lsls r1, 3 - adds r1, r2 - movs r3, 0xA - ldrsh r1, [r1, r3] - adds r6, r0, 0 - cmp r1, 0 - beq _080AAC88 -_080AAC76: - lsls r3, r4, 2 - adds r0, r3, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0xA] - strh r2, [r0, 0x8] - adds r6, r3, 0 -_080AAC88: - ldr r1, =gTasks - adds r0, r6, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - movs r1, 0x8 - ldrsh r7, [r5, r1] - cmp r7, 0 - beq _080AACA8 - subs r0, 0x1 - strh r0, [r5, 0x8] - b _080AACE2 - .pool -_080AACA8: - movs r0, 0x1 - strh r0, [r5, 0xA] - ldr r1, =0x00002142 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000f06 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001741 - movs r0, 0 - bl SetGpuReg - movs r0, 0x80 - movs r1, 0x6C - bl sub_80AA4EC - movs r0, 0x80 - movs r1, 0x94 - bl sub_80AA548 - strh r7, [r5, 0x10] - ldr r0, =task_title_screen_3 - str r0, [r5] -_080AACE2: - ldr r2, =gTasks - adds r0, r6, r4 - lsls r0, 3 - adds r3, r0, r2 - ldrh r1, [r3, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080AAD02 - ldrh r1, [r3, 0xC] - movs r5, 0xC - ldrsh r0, [r3, r5] - cmp r0, 0 - beq _080AAD02 - adds r0, r1, 0x1 - strh r0, [r3, 0xC] -_080AAD02: - adds r0, r6, r4 - lsls r0, 3 - adds r3, r0, r2 - ldrh r1, [r3, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AAD20 - ldrh r1, [r3, 0xE] - movs r5, 0xE - ldrsh r0, [r3, r5] - cmp r0, 0 - beq _080AAD20 - adds r0, r1, 0x1 - strh r0, [r3, 0xE] -_080AAD20: - adds r4, r6, r4 - lsls r4, 3 - adds r4, r2 - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r5, r1, 8 - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x2C - bl SetGpuReg - lsrs r5, 16 - movs r0, 0x2E - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0xF - strh r0, [r4, 0x12] - movs r0, 0x6 - strh r0, [r4, 0x14] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_title_screen_2 - - thumb_func_start task_title_screen_3 -@ void task_title_screen_3(int task_id) -task_title_screen_3: @ 80AAD64 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AAD84 - movs r0, 0x8 - ands r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080AADB0 -_080AAD84: - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =Cb2_GoToMainMenu - bl SetMainCallback2 - b _080AAE98 - .pool -_080AADB0: - ldrh r1, [r2, 0x2C] - movs r0, 0x46 - ands r0, r1 - cmp r0, 0x46 - bne _080AADC8 - ldr r0, =c2_clear_save_data_screen_1 - bl SetMainCallback2 - b _080AAE98 - .pool -_080AADC8: - movs r0, 0x26 - ands r0, r1 - cmp r0, 0x26 - bne _080AADFC - bl CanResetRTC - cmp r0, 0x1 - bne _080AADFC - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_reset_rtc_screen_1 - bl SetMainCallback2 - b _080AAE98 - .pool -_080AADFC: - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0x6 - bne _080AAE30 - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_berry_program_update_screen_1 - bl SetMainCallback2 - b _080AAE98 - .pool -_080AAE30: - movs r0, 0x2C - movs r1, 0 - bl SetGpuReg - movs r0, 0x2E - movs r1, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AAE72 - ldrh r0, [r3, 0x10] - adds r0, 0x1 - strh r0, [r3, 0x10] - ldr r2, =gBattle_BG1_Y - movs r1, 0x10 - ldrsh r0, [r3, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r2] - ldr r1, =gBattle_BG1_X - movs r0, 0 - strh r0, [r1] -_080AAE72: - ldrb r0, [r3, 0x8] - bl title_screen_update_rayquaza_ring_palette - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _080AAE98 - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_show_copyright_and_intro_again_1 - bl SetMainCallback2 -_080AAE98: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_title_screen_3 - - thumb_func_start Cb2_GoToMainMenu -Cb2_GoToMainMenu: @ 80AAEB8 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAECA - ldr r0, =CB2_InitMainMenu - bl SetMainCallback2 -_080AAECA: - pop {r0} - bx r0 - .pool - thumb_func_end Cb2_GoToMainMenu - - thumb_func_start c2_show_copyright_and_intro_again_1 -c2_show_copyright_and_intro_again_1: @ 80AAED4 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAEE6 - ldr r0, =c2_show_copyright_and_intro_again_2 - bl SetMainCallback2 -_080AAEE6: - pop {r0} - bx r0 - .pool - thumb_func_end c2_show_copyright_and_intro_again_1 - - thumb_func_start c2_clear_save_data_screen_1 -c2_clear_save_data_screen_1: @ 80AAEF0 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAF02 - ldr r0, =CB2_InitClearSaveDataScreen - bl SetMainCallback2 -_080AAF02: - pop {r0} - bx r0 - .pool - thumb_func_end c2_clear_save_data_screen_1 - - thumb_func_start c2_reset_rtc_screen_1 -c2_reset_rtc_screen_1: @ 80AAF0C - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAF1E - ldr r0, =sub_809EF88 - bl SetMainCallback2 -_080AAF1E: - pop {r0} - bx r0 - .pool - thumb_func_end c2_reset_rtc_screen_1 - - thumb_func_start c2_berry_program_update_screen_1 -c2_berry_program_update_screen_1: @ 80AAF28 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAF3E - bl m4aMPlayAllStop - ldr r0, =InitBerryFixProgram - bl SetMainCallback2 -_080AAF3E: - pop {r0} - bx r0 - .pool - thumb_func_end c2_berry_program_update_screen_1 - - thumb_func_start title_screen_update_rayquaza_ring_palette -@ void title_screen_update_rayquaza_ring_palette(u8 a1) -title_screen_update_rayquaza_ring_palette: @ 80AAF48 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080AAF9C - adds r0, r1, 0 - movs r1, 0x80 - bl Cos - lsls r0, 16 - asrs r0, 16 - adds r2, r0, 0 - adds r2, 0x80 - lsls r0, r2, 5 - subs r0, r2 - cmp r0, 0 - bge _080AAF72 - adds r0, 0xFF -_080AAF72: - asrs r0, 8 - movs r3, 0x1F - subs r1, r3, r0 - movs r0, 0x16 - muls r0, r2 - cmp r0, 0 - bge _080AAF82 - adds r0, 0xFF -_080AAF82: - asrs r0, 8 - subs r0, r3, r0 - lsls r0, 5 - orrs r1, r0 - movs r0, 0xC0 - lsls r0, 6 - orrs r1, r0 - mov r0, sp - strh r1, [r0] - movs r1, 0xEF - movs r2, 0x2 - bl LoadPalette -_080AAF9C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end title_screen_update_rayquaza_ring_palette - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index ebb624d90..28cfaeb72 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -1,5 +1,6 @@ .include "asm/macros.inc" - .include "constants/constants.inc" + .include "constants/gba_constants.inc" + .include "constants/misc_constants.inc" .syntax unified @@ -401,7 +402,7 @@ _080774B2: ldrb r2, [r0] cmp r2, 0 bne _0807754C - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r5, =0x00001122 adds r0, r5, 0 strh r0, [r1] @@ -414,12 +415,12 @@ _080774B2: cmp r0, 0 beq _08077528 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011BA4 b _08077B46 .pool _08077528: - bl sub_8009734 + bl OpenLink ldr r0, =gMain movs r7, 0x87 lsls r7, 3 @@ -464,7 +465,7 @@ _0807757A: b _08077B22 .pool _0807758C: - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 @@ -473,7 +474,7 @@ _0807758C: bcs _080775A0 b _08077B46 _080775A0: - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _080775D8 @@ -644,7 +645,7 @@ _080776E2: str r1, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x28 @@ -703,7 +704,7 @@ _08077756: str r0, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x2E @@ -824,7 +825,7 @@ _080778CA: adds r4, 0x10 _080778DE: add r1, sp, 0x10 - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -861,7 +862,7 @@ _080778DE: adds r4, 0x88 _0807792C: add r1, sp, 0x10 - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -887,7 +888,7 @@ _0807792C: b _08077B22 .pool _08077970: - ldr r4, =gUnknown_0832DCAC + ldr r4, =gSpriteTemplate_832DCAC add r1, sp, 0x10 adds r0, r4, 0 ldm r0!, {r2,r3,r7} @@ -925,7 +926,7 @@ _08077970: lsls r5, 13 _080779BC: add r1, sp, 0x10 - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -946,7 +947,7 @@ _080779BC: adds r6, 0x1 cmp r6, 0x5 ble _080779BC - ldr r0, =gUnknown_0832DC94 + ldr r0, =gSpriteTemplate_832DC94 ldr r2, =gUnknown_0832DE24 ldrb r1, [r2] lsls r1, 19 @@ -1262,7 +1263,7 @@ _08077CA8: str r1, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x28 @@ -1321,7 +1322,7 @@ _08077D1E: str r0, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x2E @@ -1448,7 +1449,7 @@ _08077EA0: adds r4, 0x10 _08077EB4: add r1, sp, 0xC - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -1485,7 +1486,7 @@ _08077EB4: adds r4, 0x88 _08077F02: add r1, sp, 0xC - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -1511,7 +1512,7 @@ _08077F02: b _080780D8 .pool _08077F48: - ldr r4, =gUnknown_0832DCAC + ldr r4, =gSpriteTemplate_832DCAC add r1, sp, 0xC adds r0, r4, 0 ldm r0!, {r2,r3,r7} @@ -1549,7 +1550,7 @@ _08077F48: lsls r5, 13 _08077F94: add r1, sp, 0xC - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -1588,7 +1589,7 @@ _08077FE4: adds r0, 0x6 _08077FEA: strb r0, [r2] - ldr r0, =gUnknown_0832DC94 + ldr r0, =gSpriteTemplate_832DC94 ldr r3, =gUnknown_0832DE24 ldr r1, [r4] adds r1, 0x35 @@ -1929,7 +1930,7 @@ _080782D4: movs r2, 0 movs r3, 0 bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gUnknown_0832CABC + ldr r1, =gTradeStripesBG2Tilemap movs r2, 0x80 lsls r2, 4 movs r0, 0x2 @@ -1938,7 +1939,7 @@ _080782D4: b _0807837E .pool _08078324: - ldr r1, =gUnknown_0832D2BC + ldr r1, =gTradeStripesBG3Tilemap movs r2, 0x80 lsls r2, 4 movs r0, 0x3 @@ -2142,7 +2143,7 @@ _08078484: .4byte _080786F0 .4byte _08078720 _080784DC: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gPlayerParty movs r2, 0xC8 bl sub_8078438 @@ -2208,7 +2209,7 @@ _08078552: b _080787A2 .pool _0807857C: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gPlayerParty + 200 movs r2, 0xC8 bl sub_8078438 @@ -2247,7 +2248,7 @@ _080785B6: b _080787A2 .pool _080785E0: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gPlayerParty + 400 movs r2, 0xC8 bl sub_8078438 @@ -2286,7 +2287,7 @@ _0807861A: b _080787A2 .pool _08078644: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gSaveBlock1Ptr ldr r1, [r1] ldr r2, =0x00002be0 @@ -2328,7 +2329,7 @@ _0807868A: b _080787A2 .pool _080786B4: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gSaveBlock1Ptr ldr r1, [r1] ldr r2, =0x000031a8 @@ -2392,13 +2393,13 @@ _08078726: mov r2, sp bl GetMonData mov r0, sp - ldr r1, =gUnknown_0832DF94 + ldr r1, =gJPText_Shedinja bl StringCompareWithoutExtCtrlCodes cmp r0, 0 bne _08078766 adds r0, r4, 0 movs r1, 0x2 - ldr r2, =gSpeciesNames + SPECIES_SHEDINJA * POKEMON_NAME_LENGTH + ldr r2, =gSpeciesNames + 303 * POKEMON_NAME_LENGTH @ SPECIES_SHEDINJA bl SetMonData _08078766: adds r4, 0x64 @@ -2442,7 +2443,7 @@ _080787AC: thumb_func_start sub_80787B8 sub_80787B8: @ 80787B8 push {lr} - ldr r0, =gUnknown_0832DAE5 + ldr r0, =gText_IsThisTradeOkay ldr r1, =gUnknown_0203229C ldr r1, [r1] adds r1, 0x72 @@ -3694,7 +3695,7 @@ _0807920E: thumb_func_start sub_8079218 sub_8079218: @ 8079218 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3796,7 +3797,7 @@ _080792D8: thumb_func_start sub_80792E4 sub_80792E4: @ 80792E4 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4436,7 +4437,7 @@ _08079772: lsls r0, 2 add r0, r8 bl sub_80A6DEC - ldr r1, =gUnknown_0832C8BE + ldr r1, =gTradePartyBoxTilemap ldr r0, [sp, 0x64] subs r2, r0, r7 lsls r2, 24 @@ -4489,7 +4490,7 @@ _080798AC: b _08079A24 .pool _080798BC: - ldr r1, =gUnknown_0832C6C0 + ldr r1, =gTradeMovesBoxTilemap ldr r0, [sp, 0x60] lsls r2, r0, 4 subs r2, r0 @@ -4607,7 +4608,7 @@ _080798BC: movs r1, 0x1 movs r2, 0 movs r3, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0 bl PutWindowTilemap adds r0, r5, 0 @@ -4767,7 +4768,7 @@ _08079AFE: lsrs r4, r0, 16 cmp r4, 0x3 bls _08079ADE - ldr r1, =gUnknown_0832DABC + ldr r1, =gText_EmptyString7 adds r0, r6, 0 bl StringCopy movs r4, 0 @@ -4787,7 +4788,7 @@ _08079B20: bl StringAppend _08079B3C: adds r0, r6, 0 - ldr r1, =gUnknown_0832DAD2 + ldr r1, =gText_NewLine3 bl StringAppend adds r0, r4, 0x1 lsls r0, 16 @@ -4797,10 +4798,10 @@ _08079B3C: b _08079B6C .pool _08079B5C: - ldr r1, =gUnknown_0832DABC + ldr r1, =gText_EmptyString7 adds r0, r6, 0 bl StringCopy - ldr r1, =gUnknown_0832DADF + ldr r1, =gText_FourQuestionMarks adds r0, r6, 0 bl StringAppend _08079B6C: @@ -5112,7 +5113,7 @@ _08079DDE: _08079DF0: add r0, sp, 0xC movs r1, 0 - bl sub_8070ECC + bl NameHasGenderSymbol lsls r0, 24 movs r2, 0x83 cmp r0, 0 @@ -5122,7 +5123,7 @@ _08079DF0: _08079E04: add r0, sp, 0xC movs r1, 0xFE - bl sub_8070ECC + bl NameHasGenderSymbol lsls r0, 24 movs r2, 0x83 cmp r0, 0 @@ -5324,7 +5325,7 @@ sub_8079F88: @ 8079F88 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, =gUnknown_0832C8BE + ldr r1, =gTradePartyBoxTilemap lsls r2, r4, 4 subs r2, r4 lsls r2, 24 @@ -5696,7 +5697,7 @@ _0807A2B8: mov r0, sp b _0807A2D6 _0807A2BC: - ldr r0, =gUnknown_0832DCE4 + ldr r0, =gSpritePalette_TradeScreenText bl LoadSpritePalette b _0807A2DA .pool @@ -7024,7 +7025,7 @@ _0807AC92: lsls r0, 1 cmp r1, r0 bls _0807ACC4 - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 ldr r1, [r4] @@ -7258,11 +7259,11 @@ _0807AEAC: ldrb r0, [r0] cmp r0, 0 bne _0807AEC0 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001144 adds r0, r2, 0 strh r0, [r1] - bl sub_80097E8 + bl CloseLink _0807AEC0: ldr r4, =gUnknown_020322A0 movs r5, 0x80 @@ -7330,7 +7331,7 @@ _0807AF58: adds r0, 0xFA movs r1, 0x1 strb r1, [r0] - bl sub_8009734 + bl OpenLink ldr r1, =gMain movs r2, 0x87 lsls r2, 3 @@ -7367,13 +7368,13 @@ _0807AFAC: b _0807B0E4 .pool _0807AFBC: - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 bne _0807AFC8 b _0807B0DC _0807AFC8: - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 @@ -7600,7 +7601,7 @@ sub_807B170: @ 807B170 movs r0, 0x3 bl SetBgTilemapBuffer bl DeactivateAllTextPrinters - ldr r0, =gUnknown_08C00000 + ldr r0, =gBattleTextboxTiles mov r10, r0 movs r0, 0 mov r9, r0 @@ -7609,7 +7610,7 @@ sub_807B170: @ 807B170 movs r2, 0 movs r3, 0 bl copy_decompressed_tile_data_to_vram_autofree - ldr r0, =gUnknown_08C00524 + ldr r0, =gBattleTextboxTilemap mov r8, r0 ldr r4, =0x0201c000 adds r1, r4, 0 @@ -7619,7 +7620,7 @@ sub_807B170: @ 807B170 adds r2, r5, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r6, =gUnknown_08C004E0 + ldr r6, =gBattleTextboxPalette adds r0, r6, 0 movs r1, 0 movs r2, 0x20 @@ -7948,7 +7949,7 @@ sub_807B4D0: @ 807B4D0 adds r1, r2 ldr r0, [r0] adds r0, r1 - bl sub_80D439C + bl ClearMailStruct _0807B52A: ldr r4, =gUnknown_020322A0 ldr r0, [r4] @@ -7985,7 +7986,7 @@ _0807B566: ldr r0, =gUnknown_020321C0 adds r1, r0 adds r0, r7, 0 - bl sub_80D460C + bl GiveMailToMon2 _0807B57C: mov r0, r9 bl sub_807B464 @@ -8103,11 +8104,11 @@ _0807B668: ldr r1, =0x00005206 movs r0, 0xC bl SetGpuReg - ldr r0, =gUnknown_08DD7300 + ldr r0, =gTradeGba2_Pal movs r1, 0x10 movs r2, 0x60 bl LoadPalette - ldr r3, =gUnknown_08DD7360 + ldr r3, =gTradeGba_Gfx ldr r4, =0x06004000 movs r5, 0xA1 lsls r5, 5 @@ -8166,7 +8167,7 @@ _0807B726: ldr r1, =0x80000800 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - ldr r3, =gUnknown_08DD7360 + ldr r3, =gTradeGba_Gfx movs r4, 0xC0 lsls r4, 19 movs r5, 0xA1 @@ -8444,11 +8445,11 @@ _0807B9FC: ldr r1, =0x00005206 movs r0, 0xC bl SetGpuReg - ldr r0, =gUnknown_08DD7300 + ldr r0, =gTradeGba2_Pal movs r1, 0x10 movs r2, 0x60 bl LoadPalette - ldr r3, =gUnknown_08DD7360 + ldr r3, =gTradeGba_Gfx ldr r4, =0x06004000 movs r5, 0xA1 lsls r5, 5 @@ -8569,7 +8570,7 @@ _0807BB68: lsls r4, r0, 4 subs r4, r0 lsls r4, 2 - ldr r0, =gUnknown_08338ED0 + ldr r0, =gIngameTrades adds r4, r0 ldr r0, =gStringVar1 adds r1, r4, 0 @@ -9096,7 +9097,7 @@ _0807C1DC: beq _0807C1FC bl _0807CFB4 _0807C1FC: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r1, 0x78 movs r2, 0x20 movs r3, 0 @@ -9226,7 +9227,7 @@ _0807C318: bl _0807CFB4 _0807C328: bl sub_807AB28 - ldr r0, =gUnknown_08338E74 + ldr r0, =gSpriteTemplate_8338E74 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -9294,7 +9295,7 @@ _0807C3B0: beq _0807C3C4 bl _0807CFB4 _0807C3C4: - ldr r0, =gUnknown_08338DFC + ldr r0, =gSpriteTemplate_8338DFC movs r1, 0x80 movs r2, 0x41 movs r3, 0 @@ -9314,7 +9315,7 @@ _0807C3E0: ldr r1, [r4] adds r1, 0x90 strb r0, [r1] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x80 movs r2, 0x50 movs r3, 0 @@ -9453,7 +9454,7 @@ _0807C528: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r5, =gUnknown_08338DC8 + ldr r5, =gSpriteTemplate_8338DC8 adds r0, r5, 0 movs r1, 0x6F movs r2, 0xAA @@ -9602,7 +9603,7 @@ _0807C66C: adds r1, r4, 0 adds r1, 0x10 adds r0, r1 - ldr r1, =gUnknown_08338ECC + ldr r1, =gSpriteAffineAnimTable_8338ECC str r1, [r0] ldrb r1, [r2] lsls r0, r1, 4 @@ -9913,7 +9914,7 @@ _0807C8FA: ldr r1, [r7] adds r1, 0x90 strb r0, [r1] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x80 adds r2, r4, 0 movs r3, 0 @@ -10089,7 +10090,7 @@ _0807CA86: bne _0807CA92 b _0807CFB4 _0807CA92: - ldr r0, =gUnknown_08338DFC + ldr r0, =gSpriteTemplate_8338DFC movs r1, 0x80 movs r2, 0x41 movs r3, 0 @@ -10111,7 +10112,7 @@ _0807CA92: b _0807CFB4 .pool _0807CAC8: - ldr r0, =gUnknown_08338E74 + ldr r0, =gSpriteTemplate_8338E74 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -10253,7 +10254,7 @@ _0807CBEC: b _0807CF48 .pool _0807CBF4: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r2, 0x8 negs r2, r2 movs r1, 0x78 @@ -10445,7 +10446,7 @@ _0807CD1C: str r2, [sp, 0x10] movs r2, 0x78 movs r3, 0x54 - bl sub_8076438 + bl CreatePokeballSpriteToReleaseMon ldr r0, [r7] adds r0, 0xD3 ldrb r1, [r0] @@ -11158,7 +11159,7 @@ _0807D5B8: beq _0807D5D8 bl _0807E400 _0807D5D8: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r1, 0x78 movs r2, 0x20 movs r3, 0 @@ -11288,7 +11289,7 @@ _0807D6F4: _0807D704: movs r0, 0x3 bl sub_807B62C - ldr r0, =gUnknown_08338E8C + ldr r0, =gSpriteTemplate_8338E8C movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -11384,7 +11385,7 @@ _0807D7C4: adds r0, r1 ldr r1, =sub_807AA4C str r1, [r0] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -11522,7 +11523,7 @@ _0807D924: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r5, =gUnknown_08338DC8 + ldr r5, =gSpriteTemplate_8338DC8 adds r0, r5, 0 movs r1, 0x6F movs r2, 0xAA @@ -11676,7 +11677,7 @@ _0807DA74: adds r1, r4, 0 adds r1, 0x10 adds r0, r1 - ldr r1, =gUnknown_08338ECC + ldr r1, =gSpriteAffineAnimTable_8338ECC str r1, [r0] ldrb r1, [r2] lsls r0, r1, 4 @@ -12006,7 +12007,7 @@ _0807DD02: adds r0, r1 ldr r1, =sub_807AA4C str r1, [r0] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x78 adds r2, r4, 0 movs r3, 0 @@ -12216,7 +12217,7 @@ _0807DF12: strh r6, [r5] b _0807E398 _0807DF16: - ldr r0, =gUnknown_08338E74 + ldr r0, =gSpriteTemplate_8338E74 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -12358,7 +12359,7 @@ _0807E038: b _0807E394 .pool _0807E040: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r2, 0x8 negs r2, r2 movs r1, 0x78 @@ -12550,7 +12551,7 @@ _0807E168: str r2, [sp, 0x10] movs r2, 0x78 movs r3, 0x54 - bl sub_8076438 + bl CreatePokeballSpriteToReleaseMon ldr r0, [r7] adds r0, 0xD3 ldrb r1, [r0] @@ -13182,7 +13183,7 @@ sub_807E73C: @ 807E73C lsls r4, r0, 4 subs r4, r0 lsls r4, 2 - ldr r0, =gUnknown_08338ED0 + ldr r0, =gIngameTrades adds r4, r0 ldr r0, =gStringVar1 ldrh r1, [r4, 0x38] @@ -13212,7 +13213,7 @@ sub_807E784: @ 807E784 lsls r4, r0, 4 subs r4, r0 lsls r4, 2 - ldr r0, =gUnknown_08338ED0 + ldr r0, =gIngameTrades adds r4, r0 ldr r0, =gSpecialVar_0x8005 ldrh r1, [r0] @@ -13251,7 +13252,7 @@ sub_807E7E8: @ 807E7E8 lsls r2, r1, 4 subs r2, r1 lsls r2, 2 - ldr r1, =gUnknown_08338ED0 + ldr r1, =gIngameTrades adds r5, r2, r1 movs r1, 0x64 muls r0, r1 @@ -13367,7 +13368,7 @@ sub_807E7E8: @ 807E7E8 ldrh r0, [r5, 0x28] cmp r0, 0 beq _0807E960 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _0807E954 @@ -13440,7 +13441,7 @@ _0807E98E: bl StringCopy adds r0, r4, 0 movs r1, 0 - bl sub_81DB4DC + bl PadNameString ldr r1, [r6, 0x18] lsrs r0, r1, 24 strb r0, [r5, 0x1A] @@ -13814,7 +13815,7 @@ _0807ED98: movs r0, 0x32 strb r0, [r1] ldr r4, =gStringVar4 - ldr r1, =gUnknown_082C8959 + ldr r1, =gText_SavingDontTurnOffPower _0807EDA6: adds r0, r4, 0 bl StringExpandPlaceholders @@ -14294,7 +14295,7 @@ sub_807F1A8: @ 807F1A8 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0 movs r1, 0x3 bl CopyWindowToVram @@ -14668,7 +14669,7 @@ _0807F50A: movs r1, 0x3 strb r1, [r0] ldr r4, =gStringVar4 - ldr r1, =gUnknown_082C8959 + ldr r1, =gText_SavingDontTurnOffPower adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0 diff --git a/asm/trader.s b/asm/trader.s index 8e0b17905..a43f59402 100644 --- a/asm/trader.s +++ b/asm/trader.s @@ -335,7 +335,7 @@ _08133CCA: sub_8133CD8: @ 8133CD8 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r2, =0x00002e59 adds r0, r2 ldrb r0, [r0] @@ -348,7 +348,7 @@ sub_8133CD8: @ 8133CD8 sub_8133CF4: @ 8133CF4 push {r4,r5,lr} movs r4, 0 - ldr r5, =gScriptResult + ldr r5, =gSpecialVar_Result _08133CFA: adds r0, r4, 0 bl CountDecorationCategoryN @@ -365,7 +365,7 @@ _08133D10: lsrs r4, r0, 24 cmp r4, 0x7 bls _08133CFA - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _08133D20: @@ -378,7 +378,7 @@ _08133D20: thumb_func_start sub_8133D2C sub_8133D2C: @ 8133D2C push {r4-r6,lr} - ldr r6, =gScriptResult + ldr r6, =gSpecialVar_Result movs r0, 0 strh r0, [r6] ldr r4, =gDecorations diff --git a/asm/trainer_card.s b/asm/trainer_card.s index bee1f4f7f..4ccd04e98 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -18,7 +18,7 @@ sub_80C2690: @ 80C2690 cmp r0, 0 beq _080C26C0 ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -40,7 +40,7 @@ sub_80C26D4: @ 80C26D4 ldrh r3, [r4] movs r0, 0 strh r0, [r4] - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers ldr r0, =0x04000006 ldrh r2, [r0] movs r0, 0xFF @@ -409,7 +409,7 @@ _080C2A2C: bl sub_800AC34 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_WaitingTrainerFinishReading movs r0, 0x1 str r0, [sp] @@ -601,12 +601,12 @@ _080C2C04: ldrb r0, [r0] cmp r0, 0 beq _080C2C28 - ldr r0, =gUnknown_08DD1AB8 + ldr r0, =gEmeraldTrainerCard_Gfx ldr r2, =0x000019a8 b _080C2C4A .pool _080C2C28: - ldr r0, =gUnknown_08DD246C + ldr r0, =gFireRedTrainerCard_Gfx ldr r2, =0x000019a8 b _080C2C4A .pool @@ -1556,7 +1556,7 @@ sub_80C3404: @ 80C3404 sub_80C3414: @ 80C3414 push {lr} bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop ldr r0, =sub_80C2760 movs r1, 0 bl CreateTask @@ -3082,7 +3082,7 @@ _080C4214: movs r1, 0x60 movs r2, 0 movs r3, 0 - bl sub_80A2BAC + bl TintPalette_CustomTone b _080C424A _080C422A: adds r0, r4, r5 @@ -3094,7 +3094,7 @@ _080C422A: lsls r1, 1 str r1, [sp] movs r1, 0x60 - bl sub_80A2BAC + bl TintPalette_CustomTone b _080C424A _080C4242: adds r0, r4, r5 @@ -3317,7 +3317,7 @@ _080C4418: ldrb r0, [r0] cmp r0, 0 beq _080C447C - ldr r1, =gUnknown_0856FAE4 + ldr r1, =gEmeraldTrainerCardStarPals ldr r3, =0x00000535 adds r0, r2, r3 ldrb r0, [r0] @@ -3344,7 +3344,7 @@ _080C4418: b _080C44B2 .pool _080C447C: - ldr r1, =gUnknown_0856FAF8 + ldr r1, =gFireRedTrainerCardStarPals ldr r3, =0x00000535 adds r0, r2, r3 ldrb r0, [r0] @@ -3976,10 +3976,10 @@ sub_80C4998: @ 80C4998 bl HideBg movs r0, 0x3 bl HideBg - bl remove_some_task - bl dp12_8087EA4 + bl ScanlineEffect_Stop + bl ScanlineEffect_Clear movs r1, 0 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers movs r2, 0 movs r3, 0xF0 lsls r3, 3 @@ -4066,7 +4066,7 @@ _080C4A0E: movs r2, 0 cmp r2, r7 bcs _080C4A78 - ldr r3, =gUnknown_02038C28 + ldr r3, =gScanlineEffectRegBuffers _080C4A60: lsls r0, r2, 16 asrs r0, 16 @@ -4091,7 +4091,7 @@ _080C4A78: lsrs r7, r4, 16 cmp r1, r0 bge _080C4AB0 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 adds r4, r3, 0 _080C4A92: @@ -4116,7 +4116,7 @@ _080C4AB0: asrs r0, r1, 16 cmp r0, 0x9F bgt _080C4ACE - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers _080C4ABC: asrs r0, r1, 16 lsls r1, r0, 1 @@ -4392,7 +4392,7 @@ _080C4CB6: movs r2, 0 cmp r2, r7 bcs _080C4D20 - ldr r3, =gUnknown_02038C28 + ldr r3, =gScanlineEffectRegBuffers _080C4D08: lsls r0, r2, 16 asrs r0, 16 @@ -4417,7 +4417,7 @@ _080C4D20: lsrs r7, r4, 16 cmp r1, r0 bge _080C4D56 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 adds r4, r3, 0 _080C4D3A: @@ -4441,7 +4441,7 @@ _080C4D56: asrs r0, r1, 16 cmp r0, 0x9F bgt _080C4D74 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers _080C4D62: asrs r0, r1, 16 lsls r1, r0, 1 @@ -5000,7 +5000,7 @@ _080C5240: adds r0, r2 ldrh r0, [r0] strh r0, [r1, 0x6] - bl sub_8185290 + bl CanCopyRecordedBattleSaveData ldr r3, [r5] movs r1, 0x1 ands r0, r1 @@ -5310,7 +5310,7 @@ _080C54AC: _080C54D8: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull movs r0, 0x2 bl DisableInterrupts @@ -5594,7 +5594,7 @@ _080C577C: bl HideBg movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull b _080C57E4 _080C57A6: @@ -5766,7 +5766,7 @@ sub_80C58D4: @ 80C58D4 beq _080C5914 cmp r0, 0x2 beq _080C591C - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic b _080C5924 .pool _080C5914: @@ -5825,7 +5825,7 @@ _080C5970: strh r0, [r1, 0x6] bl sub_80C52E4 ldr r0, =sub_80C58D4 - bl sub_8185E24 + bl PlayRecordedBattle b _080C599A .pool _080C5994: @@ -7189,7 +7189,7 @@ _080C64F0: _080C6510: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull b _080C6694 _080C6520: @@ -7400,7 +7400,7 @@ _080C66FC: _080C6722: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull b _080C67A4 _080C6732: @@ -8258,7 +8258,7 @@ _080C6E08: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r0, [sp, 0x4C] mov r10, r4 cmp r0, 0x6 @@ -8410,7 +8410,7 @@ sub_80C6EAC: @ 80C6EAC movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 lsrs r5, 1 adds r0, r7, 0 ldr r1, [sp, 0x24] diff --git a/asm/trainer_rematch.s b/asm/trainer_rematch.s index b814934a3..1c874f28f 100755..100644 --- a/asm/trainer_rematch.s +++ b/asm/trainer_rematch.s @@ -178,14 +178,14 @@ sub_81DA6CC: @ 81DA6CC push {r4-r6,lr} adds r5, r0, 0 movs r4, 0 - ldr r6, =gUnknown_085500A4 + ldr r6, =gRematchTable _081DA6D4: lsls r0, r4, 1 lsls r1, r5, 4 adds r0, r1 adds r0, r6 ldrh r0, [r0] - bl HasTrainerAlreadyBeenFought + bl HasTrainerBeenFought lsls r0, 24 cmp r0, 0 bne _081DA6F0 diff --git a/asm/trainer_see.s b/asm/trainer_see.s deleted file mode 100644 index 59dd9f74b..000000000 --- a/asm/trainer_see.s +++ /dev/null @@ -1,1645 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CheckForTrainersWantingBattle -@ bool8 CheckForTrainersWantingBattle() -CheckForTrainersWantingBattle: @ 80B3BE8 - push {r4-r7,lr} - ldr r0, =gUnknown_030060A8 - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_02038BFC - strb r1, [r0] - movs r4, 0 - ldr r6, =gMapObjects -_080B3BF8: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080B3C38 - ldrb r0, [r1, 0x7] - cmp r0, 0x1 - beq _080B3C12 - cmp r0, 0x3 - bne _080B3C38 -_080B3C12: - adds r0, r4, 0 - bl CheckIfTrainerWantsBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080B3C42 - cmp r0, 0 - beq _080B3C38 - ldr r0, =gUnknown_030060A8 - ldrb r1, [r0] - adds r5, r0, 0 - cmp r1, 0x1 - bhi _080B3C88 - bl GetMonsStateToDoubles_2 - lsls r0, 24 - cmp r0, 0 - bne _080B3C42 -_080B3C38: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080B3BF8 -_080B3C42: - ldr r0, =gUnknown_030060A8 - ldrb r4, [r0] - adds r5, r0, 0 - cmp r4, 0x1 - bne _080B3C88 - bl ResetTrainerOpponentIds - ldr r2, =gUnknown_03006090 - ldrb r0, [r5] - subs r0, 0x1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x4 - adds r1, r2 - ldr r1, [r1] - bl SingleTrainerWantsBattle - ldr r0, =gUnknown_030060AC - strb r4, [r0] - movs r0, 0x1 - b _080B3CF4 - .pool -_080B3C88: - ldrb r0, [r5] - cmp r0, 0x2 - bne _080B3CEC - bl ResetTrainerOpponentIds - movs r4, 0 - ldrb r5, [r5] - cmp r4, r5 - bcs _080B3CC6 - ldr r6, =gUnknown_03006090 - adds r7, r6, 0x4 - ldr r5, =gUnknown_02038BFC -_080B3CA0: - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r0, r1, r6 - ldrb r0, [r0] - adds r1, r7 - ldr r1, [r1] - bl TwoTrainersWantBattle - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r4, r0 - bcc _080B3CA0 -_080B3CC6: - bl TwoTrainersWantBattleExecuteScript - ldr r1, =gUnknown_02038BFC - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_030060AC - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - b _080B3CF4 - .pool -_080B3CEC: - ldr r1, =gUnknown_030060AC - movs r0, 0 - strb r0, [r1] - movs r0, 0 -_080B3CF4: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckForTrainersWantingBattle - - thumb_func_start CheckIfTrainerWantsBattle -@ u8 CheckIfTrainerWantsBattle(u8 trainerFieldObjectId) -CheckIfTrainerWantsBattle: @ 80B3D00 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - mov r9, r0 - bl InTrainerHill - cmp r0, 0x1 - bne _080B3D1E - bl sub_81D62AC - b _080B3D24 -_080B3D1E: - adds r0, r5, 0 - bl GetFieldObjectScriptPointerByFieldObjectId -_080B3D24: - adds r7, r0, 0 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B3D3E - adds r0, r5, 0 - bl GetBattlePyramidTrainerFlag -_080B3D36: - lsls r0, 24 -_080B3D38: - cmp r0, 0 - beq _080B3D56 - b _080B3DE0 -_080B3D3E: - bl InTrainerHill - cmp r0, 0x1 - bne _080B3D4E - adds r0, r5, 0 - bl GetTrainerHillTrainerFlag - b _080B3D36 -_080B3D4E: - adds r0, r7, 0 - bl GetTrainerFlagFromScriptPointer - b _080B3D38 -_080B3D56: - lsls r4, r5, 3 - adds r0, r4, r5 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl CheckIfTrainerCanApproachPlayer - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r4 - cmp r6, 0 - beq _080B3DE0 - ldrb r0, [r7, 0x1] - cmp r0, 0x4 - beq _080B3D7C - cmp r0, 0x7 - beq _080B3D7C - cmp r0, 0x6 - bne _080B3D8A -_080B3D7C: - bl GetMonsStateToDoubles_2 - lsls r0, 24 - cmp r0, 0 - bne _080B3DE0 - movs r1, 0x2 - mov r9, r1 -_080B3D8A: - ldr r2, =gUnknown_03006090 - ldr r4, =gUnknown_030060A8 - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strb r5, [r0] - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0x4 - adds r0, r1 - str r7, [r0] - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strb r6, [r0, 0x1] - mov r1, r8 - adds r0, r1, r5 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - subs r1, r6, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl TrainerApproachPlayer - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - mov r0, r9 - b _080B3DE2 - .pool -_080B3DE0: - movs r0, 0 -_080B3DE2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckIfTrainerWantsBattle - - thumb_func_start CheckIfTrainerCanApproachPlayer -@ u8 CheckIfTrainerCanApproachPlayer(struct npc_state *trainerFieldObject) -CheckIfTrainerCanApproachPlayer: @ 80B3DF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldrb r0, [r7, 0x7] - mov r8, r4 - cmp r0, 0x1 - bne _080B3E50 - ldr r1, =gIsTrainerInRange - ldrb r0, [r7, 0x18] - lsls r0, 28 - lsrs r0, 26 - subs r0, 0x4 - adds r0, r1 - ldrb r1, [r7, 0x1D] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r5, 0 - ldrsh r3, [r4, r5] - ldr r4, [r0] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r2, [r7, 0x18] - lsls r2, 28 - lsrs r2, 28 - adds r0, r7, 0 - adds r1, r6, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - lsrs r0, 24 - b _080B3E90 - .pool -_080B3E4C: - adds r0, r6, 0 - b _080B3E90 -_080B3E50: - movs r5, 0 -_080B3E52: - ldr r0, =gIsTrainerInRange - lsls r4, r5, 2 - adds r4, r0 - ldrb r1, [r7, 0x1D] - mov r0, sp - movs r6, 0 - ldrsh r2, [r0, r6] - mov r0, r8 - movs r6, 0 - ldrsh r3, [r0, r6] - ldr r4, [r4] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - cmp r0, 0 - bne _080B3E4C - adds r5, r4, 0 - cmp r5, 0x3 - bls _080B3E52 - movs r0, 0 -_080B3E90: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckIfTrainerCanApproachPlayer - - thumb_func_start IsTrainerInRangeSouth -@ u8 IsTrainerInRangeSouth(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeSouth: @ 80B3EA0 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _080B3EDA - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - ble _080B3EDA - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r2, r1 - bgt _080B3EDA - subs r0, r5, r3 - lsls r0, 24 - lsrs r0, 24 - b _080B3EDC -_080B3EDA: - movs r0, 0 -_080B3EDC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeSouth - - thumb_func_start IsTrainerInRangeNorth -@ u8 IsTrainerInRangeNorth(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeNorth: @ 80B3EE4 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _080B3F1E - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - bge _080B3F1E - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r2, r1 - blt _080B3F1E - subs r0, r3, r5 - lsls r0, 24 - lsrs r0, 24 - b _080B3F20 -_080B3F1E: - movs r0, 0 -_080B3F20: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeNorth - - thumb_func_start IsTrainerInRangeWest -@ u8 IsTrainerInRangeWest(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeWest: @ 80B3F28 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _080B3F62 - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _080B3F62 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r3, r1 - blt _080B3F62 - subs r0, r2, r5 - lsls r0, 24 - lsrs r0, 24 - b _080B3F64 -_080B3F62: - movs r0, 0 -_080B3F64: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeWest - - thumb_func_start IsTrainerInRangeEast -@ u8 IsTrainerInRangeEast(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeEast: @ 80B3F6C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _080B3FA6 - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - ble _080B3FA6 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r3, r1 - bgt _080B3FA6 - subs r0, r5, r2 - lsls r0, 24 - lsrs r0, 24 - b _080B3FA8 -_080B3FA6: - movs r0, 0 -_080B3FA8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeEast - - thumb_func_start CheckPathBetweenTrainerAndPlayer -@ u8 CheckPathBetweenTrainerAndPlayer(struct npc_state *fieldObject, u8 a2, u8 direction) -CheckPathBetweenTrainerAndPlayer: @ 80B3FB0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - cmp r1, 0 - beq _080B4056 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r7, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - movs r5, 0 - mov r8, r4 - mov r4, r9 - subs r4, 0x1 - cmp r5, r4 - bge _080B4028 -_080B3FEE: - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl sub_8092C8C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080B4014 - movs r0, 0x2 - negs r0, r0 - ands r1, r0 - cmp r1, 0 - bne _080B4056 -_080B4014: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r7, 0 - mov r1, sp - mov r2, r8 - bl MoveCoords - cmp r5, r4 - blt _080B3FEE -_080B4028: - ldrb r4, [r6, 0x19] - lsls r5, r4, 28 - lsrs r5, 28 - lsrs r4, 4 - movs r0, 0 - strb r0, [r6, 0x19] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl npc_block_way - lsls r0, 24 - lsrs r1, r0, 24 - lsls r4, 4 - orrs r5, r4 - strb r5, [r6, 0x19] - cmp r1, 0x4 - beq _080B405A -_080B4056: - movs r0, 0 - b _080B405C -_080B405A: - mov r0, r9 -_080B405C: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPathBetweenTrainerAndPlayer - - thumb_func_start TrainerApproachPlayer -@ void TrainerApproachPlayer(struct npc_state *trainerFieldObject, u8 distance) -TrainerApproachPlayer: @ 80B406C - push {r4,r5,lr} - lsls r5, r1, 24 - lsrs r5, 24 - ldr r0, =c3_8081EDC - movs r1, 0x50 - bl CreateTask - ldr r4, =gUnknown_03006090 - ldr r3, =gUnknown_030060A8 - ldrb r2, [r3] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strb r0, [r1, 0x8] - ldrb r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x8] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - strh r5, [r1, 0xE] - ldrb r2, [r3] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0] - strh r0, [r1, 0x16] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end TrainerApproachPlayer - - thumb_func_start sub_80B40C8 -sub_80B40C8: @ 80B40C8 - push {r4,r5,lr} - adds r2, r0, 0 - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B40E4 - ldr r0, =gUnknown_03006090 - ldrb r5, [r0, 0x8] - b _080B40E8 - .pool -_080B40E4: - ldr r0, =gUnknown_03006090 - ldrb r5, [r0, 0x14] -_080B40E8: - ldr r4, =c3_8081EDC - adds r0, r5, 0 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - adds r0, r5, 0 - bl _call_via_r4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B40C8 - - thumb_func_start c3_8081EDC -c3_8081EDC: @ 80B4118 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r0, [r5] - lsls r0, 31 - cmp r0, 0 - bne _080B4150 - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _080B416C - .pool -_080B4150: - ldr r7, =gTrainerSeeFuncList -_080B4152: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r7 - ldr r3, [r0] - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080B4152 -_080B416C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_8081EDC - - thumb_func_start sub_80B4178 -sub_80B4178: @ 80B4178 - movs r0, 0 - bx lr - thumb_func_end sub_80B4178 - - thumb_func_start sub_80B417C -sub_80B417C: @ 80B417C - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r1, =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r4, 0 - bl FieldObjectGetLocalIdAndMap - movs r0, 0 - bl FieldEffectStart - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B417C - - thumb_func_start sub_80B41C0 -sub_80B41C0: @ 80B41C0 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - movs r0, 0 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - beq _080B41D6 - movs r0, 0 - b _080B41F8 -_080B41D6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r0, [r5, 0x6] - subs r0, 0x39 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080B41EC - movs r0, 0x6 - strh r0, [r4, 0x8] -_080B41EC: - ldrb r0, [r5, 0x6] - cmp r0, 0x3F - bne _080B41F6 - movs r0, 0x8 - strh r0, [r4, 0x8] -_080B41F6: - movs r0, 0x1 -_080B41F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B41C0 - - thumb_func_start sub_80B4200 -sub_80B4200: @ 80B4200 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B421E - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4252 -_080B421E: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080B4244 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetGoSpeed0AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - b _080B4252 -_080B4244: - adds r0, r4, 0 - movs r1, 0x3E - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B4252: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B4200 - - thumb_func_start sub_80B425C -sub_80B425C: @ 80B425C - push {r4-r6,lr} - adds r6, r1, 0 - adds r5, r2, 0 - adds r0, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B427A - adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4308 -_080B427A: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl npc_set_running_behaviour_etc - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_808F23C - adds r0, r5, 0 - bl sub_808F208 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B42D2 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4308 -_080B42D2: - bl sub_808BCE8 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080B4308: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B425C - - thumb_func_start sub_80B4318 -sub_80B4318: @ 80B4318 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B4344 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B434A -_080B4344: - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc -_080B434A: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4318 - - thumb_func_start sub_80B435C -sub_80B435C: @ 80B435C - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B437A - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4388 -_080B437A: - adds r0, r4, 0 - movs r1, 0x59 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B4388: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B435C - - thumb_func_start sub_80B4390 -sub_80B4390: @ 80B4390 - push {r4,lr} - adds r4, r1, 0 - adds r0, r2, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B43A4 - movs r0, 0x3 - strh r0, [r4, 0x8] -_080B43A4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B4390 - - thumb_func_start sub_80B43AC -sub_80B43AC: @ 80B43AC - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B43CA - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B43D8 -_080B43CA: - adds r0, r4, 0 - movs r1, 0x3E - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B43D8: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B43AC - - thumb_func_start sub_80B43E0 -sub_80B43E0: @ 80B43E0 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - cmp r0, 0 - beq _080B4426 - ldr r2, =gFieldEffectArguments - movs r1, 0x10 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x12 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - ldr r3, =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r5, 0x10] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B4426: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B43E0 - - thumb_func_start sub_80B4438 -sub_80B4438: @ 80B4438 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r2, =gSprites - movs r1, 0x10 - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x2B - ldrb r0, [r1] - cmp r0, 0x2 - bne _080B44A0 - ldrb r1, [r4, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x3] - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80934BC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B44A0: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4438 - - thumb_func_start sub_80B44AC -sub_80B44AC: @ 80B44AC - push {r4,lr} - adds r4, r1, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B44C0 - movs r0, 0x3 - strh r0, [r4, 0x8] -_080B44C0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B44AC - - thumb_func_start sub_80B44C8 -sub_80B44C8: @ 80B44C8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0xA - mov r1, sp - bl LoadWordFromTwoHalfwords - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B44FA - ldr r0, [sp] - bl FieldObjectClearAnim - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_080B44FA: - ldr r1, =gTrainerSeeFuncList2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r2, [sp] - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl _call_via_r3 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _080B4564 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B4564 - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl npc_set_running_behaviour_etc - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_808F23C - adds r0, r5, 0 - bl DestroyTask - b _080B456E - .pool -_080B4564: - ldr r2, [sp] - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_080B456E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B44C8 - - thumb_func_start sub_80B4578 -sub_80B4578: @ 80B4578 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_80B44C8 - movs r1, 0 - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - adds r0, 0x2 - adds r1, r4, 0 - bl StoreWordInTwoHalfwords - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B4578 - - thumb_func_start sub_80B45AC -sub_80B45AC: @ 80B45AC - push {lr} - ldr r0, =sub_80B45BC - bl sub_80B40C8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B45AC - - thumb_func_start sub_80B45BC -sub_80B45BC: @ 80B45BC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80B45BC - - thumb_func_start sub_80B45D0 -sub_80B45D0: @ 80B45D0 - push {lr} - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B4610 - ldr r1, =gUnknown_02038BFC - ldrb r0, [r1] - cmp r0, 0 - bne _080B460C - adds r0, 0x1 - strb r0, [r1] - ldr r1, =gScriptResult - movs r0, 0x1 - strh r0, [r1] - bl UnfreezeMapObjects - ldr r0, =gUnknown_03006090 - ldrb r0, [r0, 0xC] - bl sub_80974D0 - b _080B4616 - .pool -_080B460C: - movs r0, 0 - strb r0, [r1] -_080B4610: - ldr r1, =gScriptResult - movs r0, 0 - strh r0, [r1] -_080B4616: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B45D0 - - thumb_func_start oei_exclamation_mark -oei_exclamation_mark: @ 80B4620 - push {lr} - ldr r0, =gSpriteTemplate_85507B4 - movs r1, 0 - movs r2, 0 - movs r3, 0x53 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080B4648 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - movs r2, 0 - bl sub_80B46D8 -_080B4648: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end oei_exclamation_mark - - thumb_func_start sub_80B4658 -sub_80B4658: @ 80B4658 - push {lr} - ldr r0, =gSpriteTemplate_85507B4 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080B4680 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x21 - movs r2, 0x1 - bl sub_80B46D8 -_080B4680: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4658 - - thumb_func_start sub_80B4690 -sub_80B4690: @ 80B4690 - push {r4,lr} - ldr r0, =gSpriteTemplate_85507CC - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080B46C6 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2E - movs r2, 0 - bl sub_80B46D8 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x5] -_080B46C6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4690 - - thumb_func_start sub_80B46D8 -@ void sub_80B46D8(struct obj *object, s16 a2, u8 a3) -sub_80B46D8: @ 80B46D8 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldrb r4, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - ands r3, r4 - movs r4, 0x4 - orrs r3, r4 - strb r3, [r0, 0x5] - movs r3, 0x3E - adds r3, r0 - mov r12, r3 - ldrb r3, [r3] - movs r4, 0x2 - orrs r3, r4 - mov r4, r12 - strb r3, [r4] - ldr r4, =gFieldEffectArguments - ldr r3, [r4] - strh r3, [r0, 0x2E] - ldr r3, [r4, 0x4] - strh r3, [r0, 0x30] - ldr r3, [r4, 0x8] - strh r3, [r0, 0x32] - ldr r3, =0x0000fffb - strh r3, [r0, 0x34] - strh r1, [r0, 0x3C] - adds r1, r2, 0 - bl StartSpriteAnim - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B46D8 - - thumb_func_start objc_exclamation_mark_probably -objc_exclamation_mark_probably: @ 80B4724 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080B4756 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B4764 -_080B4756: - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop - b _080B47B2 -_080B4764: - ldr r2, =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - ldrh r3, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r2, r3, r0 - strh r2, [r4, 0x36] - ldrh r0, [r1, 0x20] - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0x10 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r1, 0x26] - adds r0, r2 - strh r0, [r4, 0x26] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080B47B0 - adds r0, r3, 0x1 - strh r0, [r4, 0x34] - b _080B47B2 - .pool -_080B47B0: - strh r2, [r4, 0x34] -_080B47B2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end objc_exclamation_mark_probably - - thumb_func_start sub_80B47BC -sub_80B47BC: @ 80B47BC - push {lr} - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - beq _080B47D4 - ldr r0, =gUnknown_03006090 - ldrb r0, [r0, 0xC] - b _080B47D8 - .pool -_080B47D4: - ldr r0, =gUnknown_03006090 - ldrb r0, [r0] -_080B47D8: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B47BC - - thumb_func_start sub_80B47E0 -sub_80B47E0: @ 80B47E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080B47EE - movs r0, 0 - b _080B4800 -_080B47EE: - cmp r0, 0 - beq _080B47FC - ldr r0, =gUnknown_03006090 - ldrb r0, [r0, 0xC] - b _080B4800 - .pool -_080B47FC: - ldr r0, =gUnknown_03006090 - ldrb r0, [r0] -_080B4800: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B47E0 - - thumb_func_start sub_80B4808 -sub_80B4808: @ 80B4808 - push {lr} - ldr r0, =gUnknown_030060AC - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B4870 - ldr r2, =gUnknown_03006090 - ldr r0, =gUnknown_03006080 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionAnimId - ldr r3, =gUnknown_03006084 - strb r0, [r3] - movs r0, 0xFE - strb r0, [r3, 0x1] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0xFF - bl ScriptMovement_StartObjectMovementScript - b _080B489E - .pool -_080B4870: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionAnimId - ldr r3, =gUnknown_03006084 - strb r0, [r3] - movs r0, 0xFE - strb r0, [r3, 0x1] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0xFF - bl ScriptMovement_StartObjectMovementScript -_080B489E: - movs r0, 0xFF - bl sub_809BE48 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B4808 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_81BAD84.s b/asm/unk_81BAD84.s deleted file mode 100644 index 2a95feed4..000000000 --- a/asm/unk_81BAD84.s +++ /dev/null @@ -1,57 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81BAD84 -sub_81BAD84: @ 81BAD84 - push {r4-r6,lr} - movs r6, 0x80 - lsls r6, 19 - movs r2, 0 - strh r2, [r6] - ldr r1, =0x04000010 - strh r2, [r1] - adds r1, 0x2 - strh r2, [r1] - adds r1, 0x3E - strh r2, [r1] - ldr r5, =gUnknown_08617128 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, =0x0600f800 - bl LZ77UnCompVram - adds r5, 0x8 - adds r4, r5 - ldr r0, [r4] - movs r1, 0xA0 - lsls r1, 19 - movs r4, 0x80 - lsls r4, 1 - adds r2, r4, 0 - bl CpuSet - ldr r1, =0x04000008 - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - strh r4, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BAD84 - - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_sprite_file.s b/asm/unk_sprite_file.s deleted file mode 100755 index 5a25b8e08..000000000 --- a/asm/unk_sprite_file.s +++ /dev/null @@ -1,607 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81DA700 -sub_81DA700: @ 81DA700 - push {lr} - sub sp, 0x8 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_0862AD54 - ldr r1, [sp, 0x4] - bl LZ77UnCompVram - ldr r0, =gUnknown_0862AF30 - ldr r1, [sp] - bl LZ77UnCompVram - ldr r0, =gUnknown_0862B53C - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_0862B724 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862B72C - bl LoadSpritePalette - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA700 - - thumb_func_start sub_81DA74C -sub_81DA74C: @ 81DA74C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r0, [sp, 0x24] - ldr r1, [sp, 0x28] - ldr r4, [sp, 0x2C] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r4, 24 - lsrs r7, r4, 24 - ldr r0, =gUnknown_0862B758 - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r7, 0x1 - beq _081DA7D0 - cmp r7, 0x1 - bgt _081DA7A8 - cmp r7, 0 - beq _081DA7B8 - b _081DA7AC - .pool -_081DA7A8: - cmp r7, 0x2 - beq _081DA7E4 -_081DA7AC: - ldr r6, =gSprites - lsls r3, r5, 4 - b _081DA7F8 - .pool -_081DA7B8: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x78 - strh r1, [r0, 0x2E] - movs r1, 0x2D - b _081DA7F4 - .pool -_081DA7D0: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x59 - b _081DA7F0 - .pool -_081DA7E4: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x97 -_081DA7F0: - strh r1, [r0, 0x2E] - movs r1, 0x61 -_081DA7F4: - strh r1, [r0, 0x30] - adds r6, r2, 0 -_081DA7F8: - adds r4, r3, r5 - lsls r4, 2 - adds r0, r4, r6 - mov r2, r8 - lsls r1, r2, 24 - asrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x32] - mov r3, r9 - lsls r1, r3, 24 - asrs r1, 24 - strh r1, [r0, 0x34] - mov r1, sp - ldrh r1, [r1] - strh r1, [r0, 0x3A] - mov r3, r10 - strh r3, [r0, 0x3C] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - adds r1, r7, 0 - bl StartSpriteAnim - adds r0, r6, 0 - adds r0, 0x1C - adds r4, r0 - ldr r0, =sub_81DA848 - str r0, [r4] - adds r0, r5, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DA74C - - thumb_func_start sub_81DA848 -sub_81DA848: @ 81DA848 - push {r4,r5,lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x2E - movs r0, 0x20 - ldrsh r1, [r3, r0] - movs r4, 0x2E - ldrsh r0, [r3, r4] - cmp r1, r0 - bne _081DA874 - movs r5, 0x22 - ldrsh r1, [r3, r5] - movs r4, 0x2 - ldrsh r0, [r2, r4] - cmp r1, r0 - bne _081DA874 - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] - b _081DA8B4 - .pool -_081DA874: - ldrh r4, [r2, 0x8] - movs r5, 0x8 - ldrsh r1, [r2, r5] - movs r5, 0xC - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _081DA890 - ldrh r0, [r2, 0x4] - ldrh r1, [r3, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r3, 0x20] - strh r1, [r2, 0x8] - b _081DA894 -_081DA890: - adds r0, r4, 0x1 - strh r0, [r2, 0x8] -_081DA894: - ldrh r4, [r2, 0xA] - movs r5, 0xA - ldrsh r1, [r2, r5] - movs r5, 0xE - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _081DA8B0 - ldrh r0, [r2, 0x6] - ldrh r1, [r3, 0x22] - adds r0, r1 - movs r1, 0 - strh r0, [r3, 0x22] - strh r1, [r2, 0xA] - b _081DA8B4 -_081DA8B0: - adds r0, r4, 0x1 - strh r0, [r2, 0xA] -_081DA8B4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81DA848 - - thumb_func_start sub_81DA8BC -sub_81DA8BC: @ 81DA8BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r6, r0, 0 - mov r8, r1 - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r5, [sp, 0x38] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r4, 16 - lsrs r7, r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0862B758 - lsls r6, 16 - asrs r6, 16 - mov r1, r8 - lsls r1, 16 - asrs r1, 16 - mov r8, r1 - adds r1, r6, 0 - mov r2, r8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0x1 - beq _081DA94C - cmp r5, 0x1 - bgt _081DA924 - cmp r5, 0 - beq _081DA934 - b _081DA928 - .pool -_081DA924: - cmp r5, 0x2 - beq _081DA960 -_081DA928: - ldr r2, =gSprites - lsls r3, r6, 4 - b _081DA972 - .pool -_081DA934: - ldr r2, =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0x78 - strh r1, [r0, 0x2E] - movs r1, 0x2D - b _081DA970 - .pool -_081DA94C: - ldr r2, =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0x59 - b _081DA96C - .pool -_081DA960: - ldr r2, =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0x97 -_081DA96C: - strh r1, [r0, 0x2E] - movs r1, 0x61 -_081DA970: - strh r1, [r0, 0x30] -_081DA972: - adds r4, r3, r6 - lsls r4, 2 - adds r0, r4, r2 - mov r3, sp - ldrh r3, [r3] - strh r3, [r0, 0x32] - mov r1, sp - ldrh r1, [r1, 0x4] - strh r1, [r0, 0x34] - mov r3, r10 - strh r3, [r0, 0x36] - mov r1, r9 - strh r1, [r0, 0x38] - strh r7, [r0, 0x3A] - adds r1, r5, 0 - str r2, [sp, 0x8] - bl StartSpriteAnim - ldr r2, [sp, 0x8] - adds r0, r2, 0 - adds r0, 0x1C - adds r4, r0 - ldr r0, =sub_81DA9BC - str r0, [r4] - adds r0, r6, 0 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DA8BC - - thumb_func_start sub_81DA9BC -sub_81DA9BC: @ 81DA9BC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - muls r0, r1 - asrs r0, 12 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r4, r3] - muls r0, r1 - asrs r0, 12 - strh r0, [r4, 0x26] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xB4 - lsls r1, 1 - bl __modsi3 - strh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - movs r3, 0x36 - ldrsh r1, [r4, r3] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _081DAA12 - ldrh r0, [r4, 0x3A] - adds r0, r2, r0 - strh r0, [r4, 0x36] - b _081DAA16 -_081DAA12: - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081DAA16: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA9BC - - thumb_func_start sub_81DAA20 -sub_81DAA20: @ 81DAA20 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =0x00002e90 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - movs r0, 0x10 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - movs r0, 0x12 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAA20 - - thumb_func_start sub_81DAA74 -sub_81DAA74: @ 81DAA74 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r2, =gSprites - movs r0, 0x10 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r2, 0 - adds r5, 0x1C - adds r0, r5 - ldr r4, [r0] - ldr r0, =SpriteCallbackDummy - cmp r4, r0 - bne _081DAAC4 - movs r0, 0x12 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r2, [r0] - cmp r2, r4 - bne _081DAAC4 - movs r1, 0x14 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r0, [r1] - cmp r0, r2 - bne _081DAAC4 - movs r0, 0x1 - b _081DAAC6 - .pool -_081DAAC4: - movs r0, 0 -_081DAAC6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81DAA74 - - thumb_func_start sub_81DAACC -sub_81DAACC: @ 81DAACC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081DAB20 - bl sub_81DA700 - ldr r1, =0x00003f41 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0xA0 - lsls r1, 3 - movs r0, 0 - movs r2, 0x2 - bl ChangeBgY - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _081DAB46 - .pool -_081DAB20: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - bl ClearGpuRegBits - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 -_081DAB46: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DAACC - - thumb_func_start sub_81DAB4C -sub_81DAB4C: @ 81DAB4C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081DAB64 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - bl SetGpuRegBits -_081DAB64: - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _081DAB98 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0x1F - bne _081DAB92 - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081DABB0 -_081DAB92: - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - b _081DABB0 -_081DAB98: - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - ldrh r1, [r4, 0xC] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_081DABB0: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DAB4C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_text_util.s b/asm/unk_text_util.s deleted file mode 100755 index f8dabb5b7..000000000 --- a/asm/unk_text_util.s +++ /dev/null @@ -1,99 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81AFBF0 -sub_81AFBF0: @ 81AFBF0 - push {lr} - ldr r1, =gUnknown_0203CE9C - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x1C -_081AFBFA: - str r2, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _081AFBFA - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AFBF0 - - thumb_func_start sub_81AFC0C -sub_81AFC0C: @ 81AFC0C - push {lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bhi _081AFC20 - ldr r1, =gUnknown_0203CE9C - lsls r0, 2 - adds r0, r1 - str r2, [r0] -_081AFC20: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AFC0C - - thumb_func_start sub_81AFC28 -sub_81AFC28: @ 81AFC28 - push {r4,r5,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - beq _081AFC68 - ldr r5, =gUnknown_0203CE9C -_081AFC38: - cmp r1, 0xF7 - beq _081AFC48 - strb r1, [r2] - adds r4, 0x1 - adds r2, 0x1 - b _081AFC60 - .pool -_081AFC48: - adds r4, 0x1 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - cmp r1, 0 - beq _081AFC5E - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 -_081AFC5E: - adds r4, 0x1 -_081AFC60: - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - bne _081AFC38 -_081AFC68: - movs r0, 0xFF - strb r0, [r2] - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81AFC28 - - thumb_func_start sub_81AFC74 -sub_81AFC74: @ 81AFC74 - lsls r0, 24 - ldr r1, =gUnknown_0203CE9C - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .pool - thumb_func_end sub_81AFC74 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_transition.s b/asm/unk_transition.s deleted file mode 100755 index 385a8771e..000000000 --- a/asm/unk_transition.s +++ /dev/null @@ -1,725 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81DABBC -sub_81DABBC: @ 81DABBC - push {r4,lr} - adds r4, r0, 0 - bl sub_81DAA74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081DABD2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DABD2: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DABBC - - thumb_func_start sub_81DABDC -sub_81DABDC: @ 81DABDC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B770 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DABEE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DABEE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DABDC - - thumb_func_start sub_81DAC14 -sub_81DAC14: @ 81DAC14 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - movs r1, 0x33 - negs r1, r1 - movs r0, 0 - str r0, [sp] - movs r5, 0x2 - str r5, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x78 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x10] - movs r0, 0x7 - negs r0, r0 - str r5, [sp] - movs r4, 0x2 - negs r4, r4 - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x12] - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0xF7 - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x14] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81DAC14 - - thumb_func_start sub_81DAC80 -sub_81DAC80: @ 81DAC80 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DACA4 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DABDC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DACA4: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAC80 - - thumb_func_start sub_81DACB4 -sub_81DACB4: @ 81DACB4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B784 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DACC6: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DACC6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DACB4 - - thumb_func_start sub_81DACEC -sub_81DACEC: @ 81DACEC - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - movs r0, 0 - str r0, [sp] - movs r4, 0x4 - negs r4, r4 - str r4, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x78 - movs r1, 0xC5 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - str r4, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0xF1 - movs r1, 0x3B - movs r2, 0 - movs r3, 0x1 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x4 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x3B - movs r2, 0 - movs r3, 0x1 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81DACEC - - thumb_func_start sub_81DAD58 -sub_81DAD58: @ 81DAD58 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DAD7C - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DACB4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DAD7C: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAD58 - - thumb_func_start sub_81DAD8C -sub_81DAD8C: @ 81DAD8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B798 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DAD9E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DAD9E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAD8C - - thumb_func_start sub_81DADC4 -sub_81DADC4: @ 81DADC4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - mov r8, r0 - movs r6, 0x80 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r5, 0x4 - negs r5, r5 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x2D - movs r2, 0xC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x10] - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x59 - movs r1, 0x61 - movs r2, 0xFC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x12] - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x97 - movs r1, 0x61 - movs r2, 0x84 - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x14] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81DADC4 - - thumb_func_start sub_81DAE44 -sub_81DAE44: @ 81DAE44 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DAE68 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DAD8C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DAE68: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAE44 - - thumb_func_start sub_81DAE78 -sub_81DAE78: @ 81DAE78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7AC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DAE8A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DAE8A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAE78 - - thumb_func_start sub_81DAEB0 -sub_81DAEB0: @ 81DAEB0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - mov r8, r0 - movs r2, 0x8E - lsls r2, 1 - movs r6, 0x83 - str r6, [sp] - movs r5, 0x23 - str r5, [sp, 0x4] - movs r4, 0x3 - negs r4, r4 - str r4, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x10] - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r2, 0x2C - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x12] - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x79 - movs r1, 0x50 - movs r2, 0xA4 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x14] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81DAEB0 - - thumb_func_start sub_81DAF34 -sub_81DAF34: @ 81DAF34 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DAF58 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DAE78 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DAF58: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAF34 - - thumb_func_start sub_81DAF68 -sub_81DAF68: @ 81DAF68 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7C0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DAF7A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DAF7A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAF68 - - thumb_func_start sub_81DAFA0 -sub_81DAFA0: @ 81DAFA0 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0xA - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _081DAFCC - movs r1, 0x33 - negs r1, r1 - str r2, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - str r2, [sp, 0x8] - movs r0, 0x78 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB01A -_081DAFCC: - cmp r2, 0x10 - bne _081DAFF2 - movs r0, 0x7 - negs r0, r0 - movs r1, 0x4 - str r1, [sp] - subs r1, 0x8 - str r1, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB01A -_081DAFF2: - cmp r2, 0x20 - bne _081DB01A - movs r0, 0x4 - negs r0, r0 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x2 - str r0, [sp, 0x8] - movs r0, 0xF7 - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB01A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DAFA0 - - thumb_func_start sub_81DB02C -sub_81DB02C: @ 81DB02C - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB050 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DAF68 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB050: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB02C - - thumb_func_start sub_81DB060 -sub_81DB060: @ 81DB060 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7D4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DB072: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DB072 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DB060 - - thumb_func_start sub_81DB098 -sub_81DB098: @ 81DB098 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081DB0C4 - str r1, [sp] - movs r0, 0x8 - negs r0, r0 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x78 - movs r1, 0xC5 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB112 -_081DB0C4: - cmp r1, 0x10 - bne _081DB0E8 - movs r0, 0x8 - negs r0, r0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xF1 - movs r1, 0x4E - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB112 -_081DB0E8: - cmp r1, 0x20 - bne _081DB112 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x8 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r1, 0x2 - str r1, [sp, 0x8] - movs r1, 0x4E - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB112: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DB098 - - thumb_func_start sub_81DB124 -sub_81DB124: @ 81DB124 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB148 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DB060 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB148: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB124 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_transition_2.s b/asm/unk_transition_2.s deleted file mode 100755 index a2ec93e5d..000000000 --- a/asm/unk_transition_2.s +++ /dev/null @@ -1,268 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81DB158 -sub_81DB158: @ 81DB158 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7E8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DB16A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DB16A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DB158 - - thumb_func_start sub_81DB190 -sub_81DB190: @ 81DB190 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081DB1BE - movs r0, 0x80 - str r0, [sp] - str r1, [sp, 0x4] - subs r0, 0x84 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x2D - movs r2, 0xC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB212 -_081DB1BE: - cmp r1, 0x10 - bne _081DB1E6 - movs r0, 0x80 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - subs r0, 0x4 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x59 - movs r1, 0x61 - movs r2, 0xFC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB212 -_081DB1E6: - cmp r1, 0x20 - bne _081DB212 - movs r0, 0x80 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - subs r0, 0x4 - str r0, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x97 - movs r1, 0x61 - movs r2, 0x84 - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB212: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DB190 - - thumb_func_start sub_81DB224 -sub_81DB224: @ 81DB224 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB248 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DB158 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB248: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB224 - - thumb_func_start sub_81DB258 -sub_81DB258: @ 81DB258 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7FC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DB26A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DB26A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DB258 - - thumb_func_start sub_81DB290 -sub_81DB290: @ 81DB290 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081DB2C2 - movs r2, 0x8E - lsls r2, 1 - movs r0, 0x83 - str r0, [sp] - movs r0, 0x23 - str r0, [sp, 0x4] - subs r0, 0x26 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB316 -_081DB2C2: - cmp r1, 0x10 - bne _081DB2EA - movs r0, 0x83 - str r0, [sp] - movs r0, 0x23 - str r0, [sp, 0x4] - subs r0, 0x26 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r2, 0x2C - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB316 -_081DB2EA: - cmp r1, 0x20 - bne _081DB316 - movs r0, 0x83 - str r0, [sp] - movs r0, 0x23 - str r0, [sp, 0x4] - subs r0, 0x26 - str r0, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x79 - movs r1, 0x50 - movs r2, 0xA4 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB316: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DB290 - - thumb_func_start sub_81DB328 -sub_81DB328: @ 81DB328 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB34C - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DB258 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB34C: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB328 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unknown_task.s b/asm/unknown_task.s deleted file mode 100644 index f6b96287e..000000000 --- a/asm/unknown_task.s +++ /dev/null @@ -1,593 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start remove_some_task -remove_some_task: @ 80B9FB8 - push {r4,lr} - ldr r4, =gUnknown_02039B28 - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x18] - cmp r0, 0xFF - beq _080B9FE2 - bl DestroyTask - movs r0, 0xFF - strb r0, [r4, 0x18] -_080B9FE2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end remove_some_task - - thumb_func_start dp12_8087EA4 -dp12_8087EA4: @ 80B9FF8 - push {r4,lr} - sub sp, 0x4 - mov r0, sp - movs r4, 0 - strh r4, [r0] - ldr r1, =gUnknown_02038C28 - ldr r2, =0x01000780 - bl CpuSet - ldr r0, =gUnknown_02039B28 - movs r1, 0 - str r1, [r0] - str r1, [r0, 0x4] - str r1, [r0, 0x8] - str r1, [r0, 0xC] - strb r4, [r0, 0x14] - strb r4, [r0, 0x15] - strb r4, [r0, 0x16] - strb r4, [r0, 0x17] - movs r1, 0xFF - strb r1, [r0, 0x18] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end dp12_8087EA4 - - thumb_func_start sub_80BA038 -sub_80BA038: @ 80BA038 - push {lr} - sub sp, 0xC - str r0, [sp] - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, =0xa2600001 - cmp r1, r0 - bne _080BA06C - ldr r0, =gUnknown_02039B28 - ldr r1, =gUnknown_02038C2A - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, =sub_80BA134 - b _080BA07C - .pool -_080BA06C: - ldr r0, =gUnknown_02039B28 - ldr r1, =gUnknown_02038C2C - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, =sub_80BA154 -_080BA07C: - str r1, [r0, 0x10] - adds r1, r0, 0 - ldr r0, [sp, 0x4] - str r0, [r1, 0xC] - ldr r0, [sp] - str r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x8] - strb r0, [r1, 0x15] - mov r0, sp - ldrb r0, [r0, 0x9] - strb r0, [r1, 0x16] - strb r0, [r1, 0x17] - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA038 - - thumb_func_start sub_80BA0A8 -sub_80BA0A8: @ 80BA0A8 - push {r4,lr} - ldr r4, =gUnknown_02039B28 - ldrb r0, [r4, 0x15] - cmp r0, 0 - beq _080BA122 - cmp r0, 0x3 - bne _080BA0EC - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r1, =gUnknown_02039B44 - movs r0, 0x1 - strb r0, [r1] - b _080BA122 - .pool -_080BA0EC: - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x14] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - ldr r0, [r4, 0x8] - str r0, [r1, 0x4] - ldr r0, [r4, 0xC] - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, [r4, 0x10] - bl _call_via_r0 - ldrb r0, [r4, 0x14] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4, 0x14] -_080BA122: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA0A8 - - thumb_func_start sub_80BA134 -sub_80BA134: @ 80BA134 - ldr r0, =gUnknown_02039B28 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gUnknown_02038C28 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_80BA134 - - thumb_func_start sub_80BA154 -sub_80BA154: @ 80BA154 - ldr r0, =gUnknown_02039B28 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gUnknown_02038C28 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - bx lr - .pool - thumb_func_end sub_80BA154 - - thumb_func_start task00_for_dp12 -task00_for_dp12: @ 80BA174 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r6, 0 - ldr r0, =gUnknown_02039B44 - ldrb r0, [r0] - cmp r0, 0 - beq _080BA1A4 - mov r0, r12 - bl DestroyTask - ldr r1, =gUnknown_02039B28 - movs r0, 0xFF - strb r0, [r1, 0x18] - b _080BA324 - .pool -_080BA1A4: - ldr r1, =gTasks - mov r0, r12 - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r3, r0, r1 - movs r4, 0x16 - ldrsh r0, [r3, r4] - mov r10, r1 - mov r9, r2 - cmp r0, 0 - beq _080BA250 - movs r1, 0x14 - ldrsh r0, [r3, r1] - cmp r0, 0xE - bhi _080BA250 - lsls r0, 2 - ldr r1, =_080BA1D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BA1D8: - .4byte _080BA214 - .4byte _080BA250 - .4byte _080BA21C - .4byte _080BA250 - .4byte _080BA224 - .4byte _080BA250 - .4byte _080BA22C - .4byte _080BA250 - .4byte _080BA234 - .4byte _080BA250 - .4byte _080BA23C - .4byte _080BA250 - .4byte _080BA244 - .4byte _080BA250 - .4byte _080BA24C -_080BA214: - ldr r0, =gBattle_BG0_X - b _080BA24E - .pool -_080BA21C: - ldr r0, =gBattle_BG0_Y - b _080BA24E - .pool -_080BA224: - ldr r0, =gBattle_BG1_X - b _080BA24E - .pool -_080BA22C: - ldr r0, =gBattle_BG1_Y - b _080BA24E - .pool -_080BA234: - ldr r0, =gBattle_BG2_X - b _080BA24E - .pool -_080BA23C: - ldr r0, =gBattle_BG2_Y - b _080BA24E - .pool -_080BA244: - ldr r0, =gBattle_BG3_X - b _080BA24E - .pool -_080BA24C: - ldr r0, =gBattle_BG3_Y -_080BA24E: - ldrh r6, [r0] -_080BA250: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r2, r10 - adds r1, r0, r2 - ldrh r2, [r1, 0x10] - movs r3, 0x10 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BA2BC - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - movs r4, 0xE - ldrsh r0, [r1, r4] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080BA324 - ldr r5, =gUnknown_02038C28 - ldr r0, =gUnknown_02039B28 - mov r8, r0 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 -_080BA28A: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _080BA28A - b _080BA324 - .pool -_080BA2BC: - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x10] - movs r2, 0xE - ldrsh r0, [r1, r2] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080BA304 - ldr r5, =gUnknown_02038C28 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 - ldr r0, =gUnknown_02039B28 - mov r8, r0 -_080BA2E2: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _080BA2E2 -_080BA304: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r3, r10 - adds r2, r0, r3 - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xC - ldrsh r1, [r2, r4] - cmp r0, r1 - bne _080BA324 - movs r0, 0 - strh r0, [r2, 0xE] -_080BA324: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task00_for_dp12 - - thumb_func_start sub_80BA33C -sub_80BA33C: @ 80BA33C - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r1, 0 - movs r2, 0 - ldr r0, =gSineTable - mov r12, r0 -_080BA350: - lsls r0, r1, 1 - adds r3, r0, r6 - lsls r0, r2, 1 - add r0, r12 - movs r7, 0 - ldrsh r0, [r0, r7] - muls r0, r4 - cmp r0, 0 - bge _080BA364 - adds r0, 0xFF -_080BA364: - asrs r0, 8 - strh r0, [r3] - adds r0, r2, r5 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xFF - bls _080BA350 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA33C - - thumb_func_start sub_80BA384 -sub_80BA384: @ 80BA384 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r5, r0, 0 - str r1, [sp, 0x10] - ldr r0, [sp, 0x40] - mov r8, r0 - ldr r1, [sp, 0x44] - mov r9, r1 - ldr r0, [sp, 0x48] - mov r10, r0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, [sp, 0x10] - lsls r1, 24 - str r1, [sp, 0x14] - lsrs r0, r1, 24 - str r0, [sp, 0xC] - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x18] - lsls r2, r3, 24 - lsrs r2, 24 - str r2, [sp, 0x1C] - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r3, r9 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl dp12_8087EA4 - ldr r0, =0x04000010 - add r0, r9 - str r0, [sp] - ldr r0, =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl sub_80BA038 - ldr r0, =task00_for_dp12 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0x8] - mov r3, sp - ldrh r3, [r3, 0xC] - strh r3, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - ldr r1, [sp, 0x18] - bl __divsi3 - strh r0, [r4, 0xC] - movs r0, 0 - strh r0, [r4, 0xE] - mov r1, r8 - strh r1, [r4, 0x10] - strh r1, [r4, 0x12] - mov r3, r9 - strh r3, [r4, 0x14] - mov r0, r10 - strh r0, [r4, 0x16] - ldr r0, =gUnknown_02039B28 - strb r7, [r0, 0x18] - ldr r0, =gUnknown_02039B44 - movs r1, 0 - strb r1, [r0] - ldr r4, =gUnknown_02038EA8 - ldr r3, [sp, 0xC] - subs r6, r3, r5 - lsls r3, r6, 24 - lsrs r3, 24 - adds r0, r4, 0 - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x1C] - bl sub_80BA33C - ldr r0, [sp, 0xC] - cmp r5, r0 - bge _080BA47E - ldr r1, =0xfffffd80 - adds r2, r4, r1 - lsls r1, r5, 1 - movs r3, 0xF0 - lsls r3, 3 - adds r0, r1, r3 - adds r3, r0, r2 - adds r1, r2 - adds r2, r4, 0 - adds r5, r6, 0 -_080BA46A: - ldrh r0, [r2] - strh r0, [r1] - ldrh r0, [r2] - strh r0, [r3] - adds r2, 0x2 - adds r3, 0x2 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _080BA46A -_080BA47E: - adds r0, r7, 0 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BA384 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s index 20d23a878..5047ec65e 100755..100644 --- a/asm/use_pokeblock.s +++ b/asm/use_pokeblock.s @@ -5,350 +5,10 @@ .text - thumb_func_start sub_8166204 -sub_8166204: @ 8166204 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, =gUnknown_0203BCAC - ldr r0, =0x0000806c - bl AllocZeroed - str r0, [r4] - ldr r1, =gUnknown_0203BC90 - ldr r2, =0x00007fd0 - adds r0, r2 - str r0, [r1] - str r5, [r0, 0x8] - str r6, [r0, 0x4] - ldr r0, =sub_8166380 - bl launch_c3_walk_stairs_and_run_once - ldr r0, =sub_816631C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8166204 - - thumb_func_start sub_816624C -sub_816624C: @ 816624C - push {r4,r5,lr} - ldr r4, =gUnknown_0203BCAC - ldr r0, =0x0000806c - bl AllocZeroed - str r0, [r4] - ldr r5, =gUnknown_0203BC90 - ldr r1, =0x00007fd0 - adds r0, r1 - str r0, [r5] - ldr r1, =gUnknown_0203BC98 - ldr r1, [r1] - str r1, [r0, 0x8] - ldr r1, =gUnknown_0203BC94 - ldr r1, [r1] - str r1, [r0, 0x4] - ldr r4, =gUnknown_0203BC9C - ldrb r0, [r4] - bl sub_81672E4 - strb r0, [r4] - ldr r5, [r5] - movs r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08166284 - movs r1, 0x1 -_08166284: - adds r0, r5, 0 - adds r0, 0x56 - strb r1, [r0] - ldr r0, =sub_8166380 - bl launch_c3_walk_stairs_and_run_once - ldr r0, =sub_81662C0 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816624C - thumb_func_start sub_81662C0 -sub_81662C0: @ 81662C0 - push {r4,lr} - ldr r4, =gUnknown_0203BC90 - ldr r0, [r4] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r4, [r4] - ldr r1, [r4] - ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive - cmp r1, r0 - bne _081662F0 - adds r0, r4, 0 - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] - ldr r0, =sub_8166304 - bl SetMainCallback2 -_081662F0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81662C0 - - thumb_func_start sub_8166304 -sub_8166304: @ 8166304 - push {lr} - bl sub_81668F8 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8166304 - - thumb_func_start sub_816631C -sub_816631C: @ 816631C - push {lr} - ldr r0, =gUnknown_0203BC90 - ldr r0, [r0] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r0} - bx r0 - .pool - thumb_func_end sub_816631C - - thumb_func_start sub_8166340 -sub_8166340: @ 8166340 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r0, =gUnknown_0203BCAC - ldr r0, [r0] - ldr r1, =0x00007c58 - adds r0, r1 - bl sub_81D2108 - bl sub_80BA0A8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8166340 - - thumb_func_start launch_c3_walk_stairs_and_run_once -launch_c3_walk_stairs_and_run_once: @ 816636C - ldr r1, =gUnknown_0203BC90 - ldr r1, [r1] - str r0, [r1] - adds r1, 0x50 - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end launch_c3_walk_stairs_and_run_once - - thumb_func_start sub_8166380 -sub_8166380: @ 8166380 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, =gUnknown_0203BC90 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xF - bls _08166394 - b _08166556 -_08166394: - lsls r0, 2 - ldr r1, =_081663A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081663A8: - .4byte _081663E8 - .4byte _0816640C - .4byte _08166416 - .4byte _08166434 - .4byte _08166464 - .4byte _08166468 - .4byte _08166474 - .4byte _08166484 - .4byte _08166490 - .4byte _0816649C - .4byte _081664B8 - .4byte _081664BC - .4byte _081664E4 - .4byte _08166510 - .4byte _08166528 - .4byte _08166550 -_081663E8: - ldr r2, =gUnknown_0203BCAC - ldr r0, [r2] - ldr r1, =0x00007b10 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r2] - ldr r2, =0x00007c58 - adds r0, r2 - bl sub_81D1ED4 - b _0816653C - .pool -_0816640C: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _0816653C -_08166416: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - str r0, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - mov r0, sp - bl CpuSet - b _0816653C - .pool -_08166434: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085DFCCC - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085DFCDC - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x97 - movs r2, 0xE0 - bl sub_809882C - b _0816653C - .pool -_08166464: - ldr r1, [r2] - b _08166540 -_08166468: - bl sub_8168328 - lsls r0, 24 - cmp r0, 0 - bne _08166556 - b _0816653C -_08166474: - ldr r1, =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl sub_8167420 - b _0816653C - .pool -_08166484: - bl sub_8167930 - lsls r0, 24 - cmp r0, 0 - bne _08166556 - b _0816653C -_08166490: - movs r0, 0 - bl sub_8167608 - bl sub_8167760 - b _0816653C -_0816649C: - ldr r0, =gUnknown_0203BCAC - ldr r0, [r0] - ldr r1, =0x00007b0e - adds r0, r1 - bl sub_81D312C - lsls r0, 24 - cmp r0, 0 - bne _08166556 - b _0816653C - .pool -_081664B8: - ldr r1, [r2] - b _08166540 -_081664BC: - ldr r5, =gUnknown_0203BCAC - ldr r1, [r5] - ldr r4, =0x00007c58 - adds r0, r1, r4 - ldr r2, =0x00007c6c - adds r1, r2 - bl sub_81D2754 - ldr r0, [r5] - adds r0, r4 - bl sub_81D20AC - b _0816653C - .pool -_081664E4: - ldr r4, =gUnknown_0203BCAC - ldr r0, [r4] - ldr r1, =0x00007c58 - adds r0, r1 - bl sub_81D20BC - lsls r0, 24 - cmp r0, 0 - bne _08166556 - ldr r2, [r4] - ldr r1, =0x00007c58 - adds r0, r2, r1 - adds r1, 0x14 - adds r2, r1 - adds r1, r2, 0 - bl sub_81D1F84 - b _0816653C - .pool -_08166510: - ldr r0, =gUnknown_0203BCAC - ldr r0, [r0] - ldr r2, =0x00007c58 - adds r0, r2 - bl sub_81D2230 - b _0816653C - .pool -_08166528: - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl sub_8167BA0 -_0816653C: - ldr r0, =gUnknown_0203BC90 - ldr r1, [r0] -_08166540: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08166556 - .pool -_08166550: - ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive - bl launch_c3_walk_stairs_and_run_once -_08166556: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8166380 - thumb_func_start map_warp_consider_1_to_outside_or_stair_or_dive -map_warp_consider_1_to_outside_or_stair_or_dive: @ 8166564 + thumb_func_start sub_8166564 +sub_8166564: @ 8166564 push {r4,lr} sub sp, 0x4 ldr r4, =gUnknown_0203BC90 @@ -424,14 +84,14 @@ _081665C0: bl sub_81D3480 _0816660A: ldr r0, =sub_8166634 - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C _08166610: add sp, 0x4 pop {r4} pop {r0} bx r0 .pool - thumb_func_end map_warp_consider_1_to_outside_or_stair_or_dive + thumb_func_end sub_8166564 thumb_func_start sub_8166634 sub_8166634: @ 8166634 @@ -567,7 +227,7 @@ _0816675C: .pool _08166788: ldr r0, =sub_8166BEC - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C b _0816680E .pool _08166794: @@ -611,7 +271,7 @@ _081667CC: .pool _081667E8: ldr r0, =sub_816681C - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C b _0816680E .pool _081667F4: @@ -656,7 +316,7 @@ _08166838: adds r0, r1 ldrb r0, [r0] bl sub_81672A4 - ldr r1, =gUnknown_0203BC9C + ldr r1, =gPokeblockMonId strb r0, [r1] ldr r1, =gUnknown_0203BC94 ldr r2, [r5] @@ -708,9 +368,9 @@ _08166888: str r5, [r4] bl FreeAllWindowBuffers ldr r1, =gMain - ldr r0, =sub_816624C + ldr r0, =CB2_ReturnAndChooseMonToGivePokeblock str r0, [r1, 0x8] - bl sub_8179D70 + bl CB2_PreparePokeblockFeedScene _081668D4: add sp, 0x4 pop {r4,r5} @@ -752,7 +412,7 @@ _0816693C: ldr r0, [r0] ldr r1, =0x00008041 adds r0, r1 - ldr r1, =gUnknown_0203BC9C + ldr r1, =gPokeblockMonId ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -837,7 +497,7 @@ _081669F4: adds r0, r1 bl sub_81D3464 ldr r0, =sub_8166A34 - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C ldr r0, =sub_816631C bl SetMainCallback2 _08166A18: @@ -1016,11 +676,11 @@ _08166BB6: lsls r0, 24 cmp r0, 0 bne _08166BDA - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrb r0, [r0] - bl sub_8136F68 + bl TryClearPokeblock ldr r0, =sub_8166BEC - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C _08166BDA: pop {r4-r6} pop {r0} @@ -1072,10 +732,10 @@ _08166C28: b _08166D18 .pool _08166C40: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer _08166C4A: ldr r1, [r4] adds r1, 0x50 @@ -1225,7 +885,7 @@ sub_8166D44: @ 8166D44 movs r0, 0x2 movs r1, 0x3 bl CopyWindowToVram - ldr r0, =gUnknown_085DFCFC + ldr r0, =sUsePokeblockYesNoWinTemplate movs r1, 0x97 movs r2, 0xE movs r3, 0 @@ -1240,7 +900,7 @@ sub_8166D44: @ 8166D44 thumb_func_start sub_8166DE4 sub_8166DE4: @ 8166DE4 push {r4,lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 lsrs r4, r0, 24 asrs r1, r0, 24 @@ -1497,7 +1157,7 @@ sub_8166FD4: @ 8166FD4 movs r0, 0 _08166FEC: lsls r0, 16 - ldr r1, =gUnknown_085DFD04 + ldr r1, =sContestStatNames lsls r0, r3, 2 adds r0, r1 ldr r1, [r0] @@ -1719,7 +1379,7 @@ sub_8167184: @ 8167184 adds r0, r3, 0 adds r0, 0x6E strh r1, [r0] - ldr r0, =gUnknown_0203BC9E + ldr r0, =gPokeblockGain movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -1769,7 +1429,7 @@ _0816721C: adds r0, r6, r0 ldrb r1, [r0] mov r0, r10 - bl GetMonFlavourRelation + bl GetMonFlavorRelation lsls r0, 24 asrs r2, r0, 24 cmp r0, r9 @@ -2737,7 +2397,7 @@ _08167A74: b _08167B7E .pool _08167A9C: - ldr r0, =gUnknown_08DCCF7C + ldr r0, =gUsePokeblockGraph_Gfx ldr r1, =gUnknown_0203BCA4 _08167AA0: ldr r1, [r1] @@ -2745,11 +2405,11 @@ _08167AA0: b _08167B7E .pool _08167AB0: - ldr r0, =gUnknown_08DCD81C + ldr r0, =gUsePokeblockGraph_Tilemap ldr r1, =gUnknown_0203BCA0 ldr r1, [r1] bl LZ77UnCompVram - ldr r0, =gUnknown_08DCCF5C + ldr r0, =gUsePokeblockGraph_Pal movs r1, 0x20 movs r2, 0x20 bl LoadPalette @@ -2771,7 +2431,7 @@ _08167AEC: ldr r1, [r0] movs r0, 0x1 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DCDA30 + ldr r1, =gUsePokeblockNatureWin_Pal movs r0, 0xC str r0, [sp] movs r0, 0x4 @@ -3599,7 +3259,7 @@ sub_8168248: @ 8168248 ldr r0, [r0] str r0, [sp, 0x8] str r1, [sp, 0xC] - ldr r0, =gUnknown_08DCCBB8 + ldr r0, =gUsePokeblockCondition_Gfx str r0, [sp] ldr r1, =0xffff0000 ldr r0, [sp, 0x4] diff --git a/asm/wallclock.s b/asm/wallclock.s deleted file mode 100644 index f8cc87fe8..000000000 --- a/asm/wallclock.s +++ /dev/null @@ -1,1515 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81347B4 -sub_81347B4: @ 81347B4 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81347B4 - - thumb_func_start LoadWallClockGraphics -LoadWallClockGraphics: @ 81347C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0813486C: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0813486C - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, =gUnknown_08DCC05C - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _081348FC - ldr r0, =gUnknown_08DCC01C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - b _08134906 - .pool -_081348FC: - ldr r0, =gUnknown_08DCC03C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette -_08134906: - bl sub_8098C64 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085B21D4 - movs r1, 0xC0 - movs r2, 0x8 - bl LoadPalette - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B21FC - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085B21DC - bl InitWindows - bl DeactivateAllTextPrinters - movs r1, 0x94 - lsls r1, 2 - movs r0, 0 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - ldr r0, =gUnknown_085B2208 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085B2218 - bl LoadSpritePalettes - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end LoadWallClockGraphics - - thumb_func_start sub_813498C -sub_813498C: @ 813498C - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_81347B4 - bl SetVBlankCallback - ldr r0, =sub_8134C9C - bl SetMainCallback2 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813498C - - thumb_func_start Cb2_StartWallClock -Cb2_StartWallClock: @ 81349F4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - bl LoadWallClockGraphics - ldr r0, =gUnknown_08DCC648 - ldr r1, =0x06003800 - bl LZ77UnCompVram - ldr r0, =sub_8134CB8 - movs r1, 0 - bl CreateTask - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - mov r8, r1 - movs r1, 0xA - strh r1, [r0, 0xC] - mov r2, r8 - strh r2, [r0, 0xE] - strh r2, [r0, 0x10] - strh r2, [r0, 0x12] - strh r2, [r0, 0x14] - strh r2, [r0, 0x8] - movs r1, 0x96 - lsls r1, 1 - strh r1, [r0, 0xA] - ldr r0, =gUnknown_085B2250 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - mov r9, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - ldrb r2, [r1, 0x1] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - movs r2, 0x1 - mov r10, r2 - mov r2, r10 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r2, [r1, 0x3] - movs r4, 0x3F - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0x3] - ldr r0, =gUnknown_085B2268 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - ldrb r0, [r1, 0x1] - ands r5, r0 - mov r0, r10 - orrs r5, r0 - strb r5, [r1, 0x1] - ldrb r0, [r1, 0x3] - ands r4, r0 - movs r0, 0x2 - orrs r4, r0 - strb r4, [r1, 0x3] - ldr r0, =gUnknown_085B22A0 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - movs r0, 0x2D - strh r0, [r1, 0x30] - ldr r0, =gUnknown_085B22B8 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - movs r0, 0x5A - strh r0, [r1, 0x30] - bl sub_813498C - ldr r2, =gText_Confirm3 - movs r0, 0x1 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end Cb2_StartWallClock - - thumb_func_start Cb2_ViewWallClock -Cb2_ViewWallClock: @ 8134B44 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - bl LoadWallClockGraphics - ldr r0, =gUnknown_08DCC908 - ldr r1, =0x06003800 - bl LZ77UnCompVram - ldr r0, =sub_8134F10 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - bl sub_8135130 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08134B9C - movs r2, 0x2D - mov r10, r2 - movs r0, 0x5A - str r0, [sp, 0xC] - b _08134BA4 - .pool -_08134B9C: - movs r1, 0x5A - mov r10, r1 - movs r2, 0x87 - str r2, [sp, 0xC] -_08134BA4: - ldr r0, =gUnknown_085B2250 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0 - mov r9, r0 - strh r7, [r1, 0x2E] - ldrb r2, [r1, 0x1] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - movs r2, 0x1 - mov r8, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r2, [r1, 0x3] - movs r4, 0x3F - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0x3] - ldr r0, =gUnknown_085B2268 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - strh r7, [r1, 0x2E] - ldrb r0, [r1, 0x1] - ands r5, r0 - mov r0, r8 - orrs r5, r0 - strb r5, [r1, 0x1] - ldrb r0, [r1, 0x3] - ands r4, r0 - movs r0, 0x2 - orrs r4, r0 - strb r4, [r1, 0x3] - ldr r0, =gUnknown_085B22A0 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - strh r7, [r1, 0x2E] - mov r2, r10 - strh r2, [r1, 0x30] - ldr r0, =gUnknown_085B22B8 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - strh r7, [r1, 0x2E] - mov r0, sp - ldrh r0, [r0, 0xC] - strh r0, [r1, 0x30] - bl sub_813498C - ldr r2, =gText_Cancel4 - movs r0, 0x1 - str r0, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end Cb2_ViewWallClock - - thumb_func_start sub_8134C9C -sub_8134C9C: @ 8134C9C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8134C9C - - thumb_func_start sub_8134CB8 -sub_8134CB8: @ 8134CB8 - 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 _08134CD8 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134CE8 - str r0, [r1] -_08134CD8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134CB8 - - thumb_func_start sub_8134CE8 -sub_8134CE8: @ 8134CE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - beq _08134D1C - ldrh r0, [r5, 0x8] - ldrb r1, [r5, 0x10] - ldrb r2, [r5, 0x14] - bl sub_8134FFC - strh r0, [r5, 0x8] - b _08134DBE - .pool -_08134D1C: - movs r2, 0xE - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - strh r0, [r5, 0x8] - movs r3, 0xC - ldrsh r0, [r5, r3] - movs r1, 0xC - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 1 - movs r1, 0xE - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - adds r4, r1 - strh r4, [r5, 0xA] - ldr r2, =gMain - ldrh r0, [r2, 0x2E] - movs r3, 0x1 - adds r1, r3, 0 - ands r1, r0 - cmp r1, 0 - beq _08134D70 - ldr r0, =sub_8134DC4 - str r0, [r5] - b _08134DBE - .pool -_08134D70: - strh r1, [r5, 0x10] - ldrh r1, [r2, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08134D7E - strh r3, [r5, 0x10] -_08134D7E: - ldrh r1, [r2, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08134D8C - movs r0, 0x2 - strh r0, [r5, 0x10] -_08134D8C: - ldrh r1, [r5, 0x10] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08134DBC - ldrh r2, [r5, 0x14] - movs r3, 0x14 - ldrsh r0, [r5, r3] - cmp r0, 0xFE - bgt _08134DA4 - adds r0, r2, 0x1 - strh r0, [r5, 0x14] -_08134DA4: - ldrh r0, [r5, 0x8] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r5, 0x14] - bl sub_8134FFC - strh r0, [r5, 0x8] - ldrb r1, [r5, 0x10] - adds r0, r6, 0 - bl sub_813504C - b _08134DBE -_08134DBC: - strh r0, [r5, 0x14] -_08134DBE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8134CE8 - - thumb_func_start sub_8134DC4 -sub_8134DC4: @ 8134DC4 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x94 - lsls r5, 2 - movs r0, 0 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r2, =gText_IsThisTheCorrectTime - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_085B21F4 - adds r1, r5, 0 - movs r2, 0xD - movs r3, 0x1 - bl CreateYesNoMenu - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =c3_80BF560 - str r1, [r0] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134DC4 - - thumb_func_start c3_80BF560 -c3_80BF560: @ 8134E30 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8198C58 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08134E56 - cmp r1, 0 - bgt _08134E50 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08134E74 - b _08134E96 -_08134E50: - cmp r1, 0x1 - beq _08134E74 - b _08134E96 -_08134E56: - movs r0, 0x5 - bl PlaySE - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134EA4 - b _08134E94 - .pool -_08134E74: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0 - bl sub_8198070 - movs r0, 0 - bl ClearWindowTilemap - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134CE8 -_08134E94: - str r0, [r1] -_08134E96: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c3_80BF560 - - thumb_func_start sub_8134EA4 -sub_8134EA4: @ 8134EA4 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r2, 0xE - ldrsh r1, [r4, r2] - bl RtcInitLocalTimeOffset - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_080111BC - str r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134EA4 - - thumb_func_start c2_080111BC -c2_080111BC: @ 8134EE8 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08134F02 - bl FreeAllWindowBuffers - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08134F02: - pop {r0} - bx r0 - .pool - thumb_func_end c2_080111BC - - thumb_func_start sub_8134F10 -sub_8134F10: @ 8134F10 - 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 _08134F30 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134F40 - str r0, [r1] -_08134F30: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134F10 - - thumb_func_start sub_8134F40 -sub_8134F40: @ 8134F40 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8135130 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08134F66 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134F78 - str r0, [r1] -_08134F66: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134F40 - - thumb_func_start sub_8134F78 -sub_8134F78: @ 8134F78 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8134FB0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134F78 - - thumb_func_start sub_8134FB0 -sub_8134FB0: @ 8134FB0 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08134FC6 - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08134FC6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134FB0 - - thumb_func_start sub_8134FD4 -sub_8134FD4: @ 8134FD4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x3C - bls _08134FE4 - movs r0, 0x6 - b _08134FF6 -_08134FE4: - cmp r0, 0x1E - bls _08134FEC - movs r0, 0x3 - b _08134FF6 -_08134FEC: - cmp r1, 0xA - bhi _08134FF4 - movs r0, 0x1 - b _08134FF6 -_08134FF4: - movs r0, 0x2 -_08134FF6: - pop {r1} - bx r1 - thumb_func_end sub_8134FD4 - - thumb_func_start sub_8134FFC -sub_8134FFC: @ 8134FFC - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - adds r0, r2, 0 - bl sub_8134FD4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, 0x1 - beq _0813501E - cmp r5, 0x2 - beq _08135030 - b _08135044 -_0813501E: - cmp r4, 0 - beq _08135026 - subs r0, r4, r1 - b _0813503C -_08135026: - movs r2, 0xB4 - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - b _0813503C -_08135030: - movs r0, 0xB4 - lsls r0, 1 - subs r0, r1 - cmp r4, r0 - bge _08135042 - adds r0, r4, r1 -_0813503C: - lsls r0, 16 - lsrs r4, r0, 16 - b _08135044 -_08135042: - movs r4, 0 -_08135044: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8134FFC - - thumb_func_start sub_813504C -sub_813504C: @ 813504C - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r4, 0x1 - beq _08135060 - cmp r4, 0x2 - beq _081350A0 - b _081350DE -_08135060: - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xE] - movs r5, 0xE - ldrsh r0, [r1, r5] - cmp r0, 0 - ble _08135080 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _081350DE - .pool -_08135080: - movs r0, 0x3B - strh r0, [r1, 0xE] - ldrh r2, [r1, 0xC] - movs r6, 0xC - ldrsh r0, [r1, r6] - cmp r0, 0 - ble _08135092 - subs r0, r2, 0x1 - b _08135094 -_08135092: - movs r0, 0x17 -_08135094: - strh r0, [r1, 0xC] - adds r0, r3, 0 - adds r1, r4, 0 - bl sub_81350E8 - b _081350DE -_081350A0: - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xE] - movs r5, 0xE - ldrsh r0, [r1, r5] - cmp r0, 0x3A - bgt _081350C0 - adds r0, r2, 0x1 - strh r0, [r1, 0xE] - b _081350DE - .pool -_081350C0: - movs r5, 0 - strh r5, [r1, 0xE] - ldrh r2, [r1, 0xC] - movs r6, 0xC - ldrsh r0, [r1, r6] - cmp r0, 0x16 - bgt _081350D4 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _081350D6 -_081350D4: - strh r5, [r1, 0xC] -_081350D6: - adds r0, r3, 0 - adds r1, r4, 0 - bl sub_81350E8 -_081350DE: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813504C - - thumb_func_start sub_81350E8 -sub_81350E8: @ 81350E8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0xC] - cmp r3, 0x1 - beq _0813510C - cmp r3, 0x2 - beq _0813511E - b _0813512A - .pool -_0813510C: - cmp r0, 0xB - beq _08135116 - cmp r0, 0x17 - beq _0813511A - b _0813512A -_08135116: - movs r0, 0 - b _08135128 -_0813511A: - strh r3, [r1, 0x12] - b _0813512A -_0813511E: - cmp r0, 0 - beq _08135128 - cmp r0, 0xC - bne _0813512A - movs r0, 0x1 -_08135128: - strh r0, [r1, 0x12] -_0813512A: - pop {r0} - bx r0 - thumb_func_end sub_81350E8 - - thumb_func_start sub_8135130 -sub_8135130: @ 8135130 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl RtcCalcLocalTime - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r6, r0, r1 - ldr r5, =gLocalTime - movs r0, 0x2 - ldrsb r0, [r5, r0] - strh r0, [r6, 0xC] - movs r0, 0x3 - ldrsb r0, [r5, r0] - strh r0, [r6, 0xE] - movs r0, 0xE - ldrsh r1, [r6, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - strh r0, [r6, 0x8] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r1, 0xC - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 1 - movs r1, 0xE - ldrsh r0, [r6, r1] - movs r1, 0xA - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - adds r4, r1 - strh r4, [r6, 0xA] - movs r0, 0x2 - ldrsb r0, [r5, r0] - cmp r0, 0xB - bgt _081351A0 - movs r0, 0 - b _081351A2 - .pool -_081351A0: - movs r0, 0x1 -_081351A2: - strh r0, [r6, 0x12] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8135130 - - thumb_func_start sub_81351AC -sub_81351AC: @ 81351AC - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r4, [r0, 0x8] - adds r7, r4, 0 - adds r0, r4, 0 - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _081351D4 - adds r0, 0xF -_081351D4: - lsls r0, 12 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _081351E8 - adds r0, 0xF -_081351E8: - lsls r1, r0, 12 - lsrs r1, 16 - lsls r3, r5, 16 - lsrs r2, r3, 16 - negs r3, r3 - lsrs r3, 16 - str r1, [sp] - movs r0, 0 - bl SetOamMatrix - ldr r1, =gUnknown_085B22D0 - lsls r2, r7, 1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r3, r0, 16 - adds r1, 0x1 - adds r2, r1 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 16 - lsrs r2, r0, 16 - cmp r3, 0x80 - bls _08135224 - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r3, r0 -_08135224: - cmp r2, 0x80 - bls _08135230 - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r2, r0 -_08135230: - strh r3, [r6, 0x24] - strh r2, [r6, 0x26] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81351AC - - thumb_func_start sub_8135244 -sub_8135244: @ 8135244 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r4, [r0, 0xA] - adds r7, r4, 0 - adds r0, r4, 0 - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0813526C - adds r0, 0xF -_0813526C: - lsls r0, 12 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08135280 - adds r0, 0xF -_08135280: - lsls r1, r0, 12 - lsrs r1, 16 - lsls r3, r5, 16 - lsrs r2, r3, 16 - negs r3, r3 - lsrs r3, 16 - str r1, [sp] - movs r0, 0x1 - bl SetOamMatrix - ldr r1, =gUnknown_085B22D0 - lsls r2, r7, 1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r3, r0, 16 - adds r1, 0x1 - adds r2, r1 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 16 - lsrs r2, r0, 16 - cmp r3, 0x80 - bls _081352BC - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r3, r0 -_081352BC: - cmp r2, 0x80 - bls _081352C8 - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r2, r0 -_081352C8: - strh r3, [r6, 0x24] - strh r2, [r6, 0x26] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135244 - - thumb_func_start sub_81352DC -sub_81352DC: @ 81352DC - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0813531C - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _08135308 - adds r0, r1, 0x5 - strh r0, [r4, 0x30] -_08135308: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _0813533C - adds r0, r1, 0x1 - b _0813533A - .pool -_0813531C: - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x2E - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _0813532E - subs r0, r1, 0x5 - strh r0, [r4, 0x30] -_0813532E: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x4B - ble _0813533C - subs r0, r1, 0x1 -_0813533A: - strh r0, [r4, 0x30] -_0813533C: - ldrh r0, [r4, 0x30] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _08135354 - ldr r1, =0x00000fff - adds r0, r1 -_08135354: - asrs r0, 12 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _08135370 - ldr r2, =0x00000fff - adds r0, r2 -_08135370: - asrs r0, 12 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81352DC - - thumb_func_start sub_8135380 -sub_8135380: @ 8135380 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081353C0 - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x69 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081353AC - adds r0, r1, 0x5 - strh r0, [r4, 0x30] -_081353AC: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x68 - bgt _081353E0 - adds r0, r1, 0x1 - b _081353DE - .pool -_081353C0: - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x5B - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081353D2 - subs r0, r1, 0x5 - strh r0, [r4, 0x30] -_081353D2: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - ble _081353E0 - subs r0, r1, 0x1 -_081353DE: - strh r0, [r4, 0x30] -_081353E0: - ldrh r0, [r4, 0x30] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _081353F8 - ldr r1, =0x00000fff - adds r0, r1 -_081353F8: - asrs r0, 12 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _08135414 - ldr r2, =0x00000fff - adds r0, r2 -_08135414: - asrs r0, 12 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135380 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s deleted file mode 100644 index 9b6c901f6..000000000 --- a/asm/wild_encounter.s +++ /dev/null @@ -1,2353 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80B48B8 -sub_80B48B8: @ 80B48B8 - ldr r1, =gUnknown_02038C00 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80B48B8 - - thumb_func_start sub_80B48C4 -sub_80B48C4: @ 80B48C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x4] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =gUnknown_08553A7C - lsls r1, r2, 1 - adds r1, r2 - lsls r2, r1, 1 - adds r2, r3 - adds r0, r1, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - mov r9, r0 - adds r1, 0x2 - lsls r1, 1 - adds r1, r3 - ldrh r6, [r1] - ldrh r5, [r2] - cmp r5, r9 - bhi _080B496E - ldr r0, =gMapHeader - mov r10, r0 -_080B4906: - movs r4, 0 - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0] - cmp r4, r0 - bge _080B4964 - ldr r1, [sp] - lsls r0, r1, 16 - asrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - asrs r7, r0, 16 -_080B4920: - adds r0, r4, 0x7 - adds r1, r5, 0x7 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableAndNotWaterfall - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B4954 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r8, r4 - bne _080B4954 - cmp r7, r5 - bne _080B4954 - adds r0, r6, 0 - b _080B4974 - .pool -_080B4954: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0] - cmp r4, r0 - blt _080B4920 -_080B4964: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r9 - bls _080B4906 -_080B496E: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r0, 16 -_080B4974: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B48C4 - - thumb_func_start sub_80B4984 -sub_80B4984: @ 80B4984 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - movs r7, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x88 - lsls r0, 6 - cmp r1, r0 - bne _080B4A7A - add r5, sp, 0xC - mov r4, sp - adds r4, 0xE - adds r0, r5, 0 - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - ldrh r0, [r5] - subs r0, 0x7 - strh r0, [r5] - ldrh r0, [r4] - subs r0, 0x7 - strh r0, [r4] - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gUnknown_08553A7C - mov r9, r5 - mov r8, r4 - ldrh r2, [r0, 0x6] - cmp r1, r2 - blt _080B49D0 - ldrh r3, [r0, 0x8] - cmp r1, r3 - bgt _080B49D0 - movs r7, 0x1 -_080B49D0: - mov r2, r8 - movs r3, 0 - ldrsh r1, [r2, r3] - ldrh r2, [r0, 0xC] - cmp r1, r2 - blt _080B49E4 - ldrh r0, [r0, 0xE] - cmp r1, r0 - bgt _080B49E4 - movs r7, 0x2 -_080B49E4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bls _080B4A08 - b _080B4A7A - .pool -_080B4A04: - movs r0, 0x1 - b _080B4A7C -_080B4A08: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x00002e6a - adds r0, r3 - ldrh r0, [r0] - bl sub_80B4AB8 - movs r5, 0 - ldr r6, =0x000001bf -_080B4A1A: - bl sub_80B4A98 - lsls r1, r5, 1 - mov r2, sp - adds r4, r2, r1 - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __umodsi3 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - bne _080B4A38 - strh r6, [r4] -_080B4A38: - ldrh r0, [r4] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _080B4A4A - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080B4A4A: - cmp r5, 0x6 - bne _080B4A1A - mov r3, r9 - movs r1, 0 - ldrsh r0, [r3, r1] - mov r2, r8 - movs r3, 0 - ldrsh r1, [r2, r3] - adds r2, r7, 0 - bl sub_80B48C4 - lsls r0, 16 - lsrs r1, r0, 16 - movs r5, 0 -_080B4A66: - lsls r0, r5, 1 - add r0, sp - ldrh r0, [r0] - cmp r1, r0 - beq _080B4A04 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080B4A66 -_080B4A7A: - movs r0, 0 -_080B4A7C: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4984 - - thumb_func_start sub_80B4A98 -sub_80B4A98: @ 80B4A98 - ldr r2, =gUnknown_02038C04 - ldr r1, [r2] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r1, =0x00003039 - adds r0, r1 - str r0, [r2] - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_80B4A98 - - thumb_func_start sub_80B4AB8 -sub_80B4AB8: @ 80B4AB8 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_02038C04 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80B4AB8 - - thumb_func_start wild_pokemon_rand_grass -wild_pokemon_rand_grass: @ 80B4AC8 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x13 - bhi _080B4AE4 - movs r0, 0 - b _080B4B7E -_080B4AE4: - adds r0, r1, 0 - subs r0, 0x14 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080B4AF4 - movs r0, 0x1 - b _080B4B7E -_080B4AF4: - adds r0, r1, 0 - subs r0, 0x28 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B04 - movs r0, 0x2 - b _080B4B7E -_080B4B04: - adds r0, r1, 0 - subs r0, 0x32 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B14 - movs r0, 0x3 - b _080B4B7E -_080B4B14: - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B24 - movs r0, 0x4 - b _080B4B7E -_080B4B24: - adds r0, r1, 0 - subs r0, 0x46 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B34 - movs r0, 0x5 - b _080B4B7E -_080B4B34: - adds r0, r1, 0 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B4B44 - movs r0, 0x6 - b _080B4B7E -_080B4B44: - adds r0, r1, 0 - subs r0, 0x55 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B4B54 - movs r0, 0x7 - b _080B4B7E -_080B4B54: - adds r0, r1, 0 - subs r0, 0x5A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _080B4B64 - movs r0, 0x8 - b _080B4B7E -_080B4B64: - adds r0, r1, 0 - subs r0, 0x5E - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _080B4B74 - movs r0, 0x9 - b _080B4B7E -_080B4B74: - cmp r1, 0x62 - beq _080B4B7C - movs r0, 0xB - b _080B4B7E -_080B4B7C: - movs r0, 0xA -_080B4B7E: - pop {r1} - bx r1 - thumb_func_end wild_pokemon_rand_grass - - thumb_func_start wild_pokemon_rand_water -wild_pokemon_rand_water: @ 80B4B84 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - cmp r1, 0x3B - bhi _080B4BA2 - movs r0, 0 - b _080B4BD4 -_080B4BA2: - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1D - bhi _080B4BB2 - movs r0, 0x1 - b _080B4BD4 -_080B4BB2: - adds r0, r1, 0 - subs r0, 0x5A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B4BC2 - movs r0, 0x2 - b _080B4BD4 -_080B4BC2: - adds r0, r2, 0 - subs r0, 0x5F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080B4BD2 - movs r0, 0x4 - b _080B4BD4 -_080B4BD2: - movs r0, 0x3 -_080B4BD4: - pop {r1} - bx r1 - thumb_func_end wild_pokemon_rand_water - - thumb_func_start sub_80B4BD8 -sub_80B4BD8: @ 80B4BD8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - movs r5, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0x1 - beq _080B4C12 - cmp r4, 0x1 - bgt _080B4C02 - cmp r4, 0 - beq _080B4C08 - b _080B4C6C -_080B4C02: - cmp r6, 0x2 - beq _080B4C36 - b _080B4C6C -_080B4C08: - movs r5, 0x1 - cmp r1, 0x45 - bhi _080B4C6C - movs r5, 0 - b _080B4C6C -_080B4C12: - cmp r1, 0x3B - bhi _080B4C18 - movs r5, 0x2 -_080B4C18: - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080B4C26 - movs r5, 0x3 -_080B4C26: - adds r0, r1, 0 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080B4C6C - movs r5, 0x4 - b _080B4C6C -_080B4C36: - cmp r1, 0x27 - bhi _080B4C3C - movs r5, 0x5 -_080B4C3C: - adds r0, r1, 0 - subs r0, 0x28 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x27 - bhi _080B4C4A - movs r5, 0x6 -_080B4C4A: - adds r0, r1, 0 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE - bhi _080B4C58 - movs r5, 0x7 -_080B4C58: - adds r0, r1, 0 - subs r0, 0x5F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _080B4C66 - movs r5, 0x8 -_080B4C66: - cmp r1, 0x63 - bne _080B4C6C - movs r5, 0x9 -_080B4C6C: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B4BD8 - - thumb_func_start sub_80B4C74 -sub_80B4C74: @ 80B4C74 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - cmp r0, r1 - bcc _080B4C86 - ldrb r7, [r4] - adds r6, r0, 0 - b _080B4C8A -_080B4C86: - ldrb r7, [r4, 0x1] - ldrb r6, [r4] -_080B4C8A: - subs r4, r6, r7 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __modsi3 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gPlayerParty - adds r0, r5, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B4CEA - adds r0, r5, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x37 - beq _080B4CC8 - cmp r0, 0x48 - beq _080B4CC8 - cmp r0, 0x2E - bne _080B4CEA -_080B4CC8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B4CE0 - adds r0, r6, 0 - b _080B4CF0 - .pool -_080B4CE0: - cmp r4, 0 - beq _080B4CEA - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080B4CEA: - adds r0, r7, r4 - lsls r0, 24 - lsrs r0, 24 -_080B4CF0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B4C74 - - thumb_func_start get_wild_data_index_for_map -get_wild_data_index_for_map: @ 80B4CF8 - push {r4-r6,lr} - movs r4, 0 - ldr r0, =gWildMonHeaders - ldrb r1, [r0] - adds r5, r0, 0 - cmp r1, 0xFF - beq _080B4D6C - ldr r6, =0x00006a18 -_080B4D08: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r3, r0, r5 - ldrb r1, [r3] - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _080B4D58 - ldrb r1, [r3, 0x1] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _080B4D58 - ldrh r0, [r2, 0x4] - cmp r0, r6 - bne _080B4D44 - ldr r0, =0x0000403e - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bls _080B4D3E - movs r0, 0 -_080B4D3E: - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 -_080B4D44: - adds r0, r4, 0 - b _080B4D6E - .pool -_080B4D58: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080B4D08 -_080B4D6C: - ldr r0, =0x0000ffff -_080B4D6E: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end get_wild_data_index_for_map - - thumb_func_start sub_80B4D78 -sub_80B4D78: @ 80B4D78 - push {r4-r7,lr} - sub sp, 0x1C - bl GetSafariZoneFlag - cmp r0, 0x1 - bne _080B4E0E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4F - bhi _080B4E0E - bl SafariZoneGetActivePokeblock - adds r7, r0, 0 - cmp r7, 0 - beq _080B4E0E - movs r5, 0 -_080B4DA6: - mov r1, sp - adds r0, r1, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080B4DA6 - movs r5, 0 -_080B4DB8: - adds r1, r5, 0x1 - lsls r0, r1, 24 - lsrs r4, r0, 24 - adds r6, r1, 0 - cmp r4, 0x18 - bhi _080B4DE8 - add r5, sp -_080B4DC6: - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080B4DDE - ldrb r2, [r5] - mov r0, sp - adds r1, r0, r4 - ldrb r0, [r1] - strb r0, [r5] - strb r2, [r1] -_080B4DDE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x18 - bls _080B4DC6 -_080B4DE8: - lsls r0, r6, 24 - lsrs r5, r0, 24 - cmp r5, 0x17 - bls _080B4DB8 - movs r5, 0 -_080B4DF2: - mov r1, sp - adds r4, r1, r5 - ldrb r0, [r4] - adds r1, r7, 0 - bl sub_8136FE4 - lsls r0, 16 - cmp r0, 0 - bgt _080B4E48 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080B4DF2 -_080B4E0E: - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B4E4C - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1C - bne _080B4E4C - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B4E4C - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - b _080B4E54 - .pool -_080B4E48: - ldrb r0, [r4] - b _080B4E5E -_080B4E4C: - bl Random - lsls r0, 16 - lsrs r0, 16 -_080B4E54: - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 -_080B4E5E: - add sp, 0x1C - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B4D78 - - thumb_func_start sub_80B4E68 -sub_80B4E68: @ 80B4E68 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - bl ZeroEnemyPartyMons - movs r2, 0x1 - ldr r1, =gBaseStats - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _080B4E96 - cmp r0, 0 - blt _080B4E98 - cmp r0, 0xFF - bgt _080B4E98 - cmp r0, 0xFE - blt _080B4E98 -_080B4E96: - movs r2, 0 -_080B4E98: - cmp r2, 0 - beq _080B4F28 - ldr r5, =gPlayerParty - adds r0, r5, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B4F28 - adds r0, r5, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x38 - bne _080B4F28 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _080B4F28 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFE - bne _080B4F00 - movs r4, 0 - b _080B4F02 - .pool -_080B4F00: - movs r4, 0xFE -_080B4F02: - bl sub_80B4D78 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gEnemyParty - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r1, 0 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x20 - bl CreateMonWithGenderNatureLetter - b _080B4F40 - .pool -_080B4F28: - bl sub_80B4D78 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gEnemyParty - str r0, [sp] - adds r0, r1, 0 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x20 - bl CreateMonWithNature -_080B4F40: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B4E68 - - thumb_func_start sub_80B4F4C -sub_80B4F4C: @ 80B4F4C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - adds r4, r3, 0 - lsls r2, 24 - lsrs r6, r2, 24 - movs r1, 0 - mov r0, sp - strb r1, [r0] - cmp r3, 0x1 - beq _080B4FA0 - cmp r3, 0x1 - bgt _080B4F70 - cmp r3, 0 - beq _080B4F76 - b _080B4FBA -_080B4F70: - cmp r4, 0x2 - beq _080B4FB2 - b _080B4FBA -_080B4F76: - ldr r0, [r5, 0x4] - movs r1, 0x8 - movs r2, 0x2A - mov r3, sp - bl TryGetAbilityInfluencedWildMonIndex - lsls r0, 24 - cmp r0, 0 - bne _080B4FBA - ldr r0, [r5, 0x4] - movs r1, 0xD - movs r2, 0x9 - mov r3, sp - bl TryGetAbilityInfluencedWildMonIndex - lsls r0, 24 - cmp r0, 0 - bne _080B4FBA - bl wild_pokemon_rand_grass - b _080B4FB6 -_080B4FA0: - ldr r0, [r5, 0x4] - movs r1, 0xD - movs r2, 0x9 - mov r3, sp - bl TryGetAbilityInfluencedWildMonIndex - lsls r0, 24 - cmp r0, 0 - bne _080B4FBA -_080B4FB2: - bl wild_pokemon_rand_water -_080B4FB6: - mov r1, sp - strb r0, [r1] -_080B4FBA: - mov r0, sp - ldrb r1, [r0] - lsls r1, 2 - ldr r0, [r5, 0x4] - adds r0, r1 - bl sub_80B4C74 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - beq _080B4FE0 - adds r0, r4, 0 - bl sub_80B58CC - lsls r0, 24 - cmp r0, 0 - beq _080B5000 -_080B4FE0: - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xB3 - lsls r0, 1 - cmp r1, r0 - beq _080B5008 - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _080B5008 - adds r0, r4, 0 - bl DoKeenEyeIntimidateWildEncounterTest - lsls r0, 24 - cmp r0, 0 - bne _080B5008 -_080B5000: - movs r0, 0 - b _080B501C - .pool -_080B5008: - mov r0, sp - ldrb r0, [r0] - ldr r1, [r5, 0x4] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - adds r1, r4, 0 - bl sub_80B4E68 - movs r0, 0x1 -_080B501C: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B4F4C - - thumb_func_start sub_80B5024 -sub_80B5024: @ 80B5024 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80B4BD8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 22 - ldr r0, [r5, 0x4] - adds r0, r4 - bl sub_80B4C74 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, [r5, 0x4] - adds r0, r4, r0 - ldrh r0, [r0, 0x2] - bl sub_80B4E68 - ldr r0, [r5, 0x4] - adds r4, r0 - ldrh r0, [r4, 0x2] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B5024 - - thumb_func_start SetUpMassOutbreakEncounter -SetUpMassOutbreakEncounter: @ 80B505C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B508C - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002b94 - adds r0, r1 - ldrb r0, [r0] - bl sub_80B58CC - lsls r0, 24 - cmp r0, 0 - bne _080B508C - movs r0, 0 - b _080B50C6 - .pool -_080B508C: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r2, =0x00002b90 - adds r0, r1, r2 - ldrh r0, [r0] - adds r2, 0x4 - adds r1, r2 - ldrb r1, [r1] - bl sub_80B4E68 - movs r4, 0 -_080B50A2: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r4, 1 - ldr r2, =0x00002b98 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] - lsls r2, r4, 24 - lsrs r2, 24 - ldr r0, =gEnemyParty - bl SetMonMoveSlot - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080B50A2 - movs r0, 0x1 -_080B50C6: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end SetUpMassOutbreakEncounter - - thumb_func_start DoMassOutbreakEncounterTest -DoMassOutbreakEncounterTest: @ 80B50DC - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r2, [r4] - ldr r1, =0x00002b90 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080B513C - movs r1, 0x5 - ldrsb r1, [r2, r1] - ldr r3, =0x00002b92 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - bne _080B513C - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, 0x1 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - bne _080B513C - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - ldr r1, [r4] - ldr r2, =0x00002ba1 - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1] - cmp r0, r1 - bcs _080B513C - movs r0, 0x1 - b _080B513E - .pool -_080B513C: - movs r0, 0 -_080B513E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end DoMassOutbreakEncounterTest - - thumb_func_start DoWildEncounterRateDiceRoll -DoWildEncounterRateDiceRoll: @ 80B5144 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xB4 - lsls r1, 4 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcc _080B5168 - movs r0, 0 - b _080B516A -_080B5168: - movs r0, 0x1 -_080B516A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end DoWildEncounterRateDiceRoll - - thumb_func_start DoWildEncounterRateTest -DoWildEncounterRateTest: @ 80B5170 - push {r4,lr} - sub sp, 0x4 - str r0, [sp] - lsls r1, 24 - lsrs r4, r1, 24 - lsls r0, 4 - str r0, [sp] - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080B519A - ldr r1, [sp] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - movs r1, 0x64 - bl __udivsi3 - str r0, [sp] -_080B519A: - mov r0, sp - bl affects_encounter_rate_based_on_flags - mov r0, sp - bl ApplyCleanseTagWildEncounterRateReduction - cmp r4, 0 - bne _080B5216 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B5216 - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B51E8 - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - ldr r0, =0x00000169 - cmp r1, r0 - bne _080B5210 - ldr r1, [sp] - lsls r0, r1, 1 - adds r0, r1 - lsrs r0, 2 - b _080B5214 - .pool -_080B51E8: - cmp r0, 0x23 - bne _080B51F2 - ldr r0, [sp] - lsls r0, 1 - b _080B5214 -_080B51F2: - cmp r0, 0x49 - beq _080B5210 - cmp r0, 0x47 - bne _080B5200 - ldr r0, [sp] - lsls r0, 1 - b _080B5214 -_080B5200: - cmp r0, 0x8 - bne _080B5216 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x2E - ldrb r0, [r0] - cmp r0, 0x8 - bne _080B5216 -_080B5210: - ldr r0, [sp] - lsrs r0, 1 -_080B5214: - str r0, [sp] -_080B5216: - ldr r0, [sp] - movs r1, 0xB4 - lsls r1, 4 - cmp r0, r1 - bls _080B5222 - str r1, [sp] -_080B5222: - ldr r0, [sp] - lsls r0, 16 - lsrs r0, 16 - bl DoWildEncounterRateDiceRoll - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end DoWildEncounterRateTest - - thumb_func_start DoGlobalWildEncounterDiceRoll -DoGlobalWildEncounterDiceRoll: @ 80B523C - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3B - bhi _080B5258 - movs r0, 0x1 - b _080B525A -_080B5258: - movs r0, 0 -_080B525A: - pop {r1} - bx r1 - thumb_func_end DoGlobalWildEncounterDiceRoll - - thumb_func_start sub_80B5260 -sub_80B5260: @ 80B5260 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xE0 - lsls r0, 3 - cmp r1, r0 - bne _080B5280 - movs r0, 0x53 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - b _080B5282 - .pool -_080B5280: - movs r0, 0 -_080B5282: - pop {r1} - bx r1 - thumb_func_end sub_80B5260 - - thumb_func_start is_it_battle_time_2 -is_it_battle_time_2: @ 80B5288 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r6, r0, 16 - mov r9, r6 - lsls r1, 16 - lsrs r7, r1, 16 - mov r8, r7 - ldr r0, =gUnknown_02038C00 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B52A6 - b _080B54FE -_080B52A6: - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =0x0000ffff - cmp r5, r0 - bne _080B539C - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xB3 - lsls r0, 1 - cmp r1, r0 - bne _080B5330 - bl sub_81A7D00 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r7, r6 - beq _080B52D8 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - bne _080B52D8 - b _080B54FE -_080B52D8: - ldr r1, =gUnknown_08553A14 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, 0x4 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B52F8 - b _080B54FE -_080B52F8: - ldr r0, [r4] - movs r1, 0 - movs r2, 0x2 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B530C - b _080B54FE -_080B530C: - movs r0, 0x1 - bl sub_81A7B90 - cmp r0, 0 - bne _080B5318 - b _080B54FE -_080B5318: - bl sub_80B06B0 - movs r0, 0x1 - b _080B5500 - .pool -_080B5330: - ldr r0, =0x00000169 - cmp r1, r0 - beq _080B5338 - b _080B54FE -_080B5338: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r5, [r0] - cmp r7, r6 - beq _080B5352 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - bne _080B5352 - b _080B54FE -_080B5352: - ldr r1, =gUnknown_08553894 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, 0x4 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B5372 - b _080B54FE -_080B5372: - ldr r0, [r4] - movs r1, 0 - movs r2, 0x2 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B5386 - b _080B54FE -_080B5386: - bl sub_81A9C04 - b _080B54F6 - .pool -_080B539C: - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsLandWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B543C - ldr r1, =gWildMonHeaders - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - adds r4, r2, 0 - cmp r0, 0 - bne _080B53C4 - b _080B54FE -_080B53C4: - cmp r7, r6 - beq _080B53D4 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - bne _080B53D4 - b _080B54FE -_080B53D4: - ldr r1, =gWildMonHeaders - adds r0, r4, r5 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B53F2 - b _080B54FE -_080B53F2: - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54BA - bl DoMassOutbreakEncounterTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5418 - movs r0, 0x3 - bl SetUpMassOutbreakEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54F6 -_080B5418: - ldr r1, =gWildMonHeaders - adds r0, r4, r5 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x3 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54F6 - b _080B54FE - .pool -_080B543C: - adds r0, r4, 0 - bl MetatileBehavior_IsWaterWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B5464 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080B54FE - adds r0, r4, 0 - bl MetatileBehavior_IsBridge - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54FE -_080B5464: - bl sub_80B5260 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54FE - ldr r1, =gWildMonHeaders - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - adds r4, r2, 0 - cmp r0, 0 - beq _080B54FE - cmp r8, r9 - beq _080B5492 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - beq _080B54FE -_080B5492: - ldr r1, =gWildMonHeaders - adds r0, r4, r5 - lsls r0, 2 - adds r1, 0x8 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54FE - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54E4 -_080B54BA: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000031dc - adds r0, r1 - ldrb r0, [r0, 0xC] - bl sub_80B58CC - lsls r0, 24 - cmp r0, 0 - beq _080B54FE - bl sub_80B072C - movs r0, 0x1 - b _080B5500 - .pool -_080B54E4: - ldr r0, [r4] - movs r1, 0x1 - movs r2, 0x3 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54FE -_080B54F6: - bl sub_80B0698 - movs r0, 0x1 - b _080B5500 -_080B54FE: - movs r0, 0 -_080B5500: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end is_it_battle_time_2 - - thumb_func_start rock_smash_wild_pokemon_encounter -rock_smash_wild_pokemon_encounter: @ 80B550C - push {r4,lr} - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x0000ffff - cmp r2, r0 - beq _080B5568 - ldr r1, =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0xC - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B5554 - ldrb r0, [r4] - movs r1, 0x1 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5568 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x3 - bl sub_80B4F4C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080B5568 - bl sub_80B0698 -_080B5554: - ldr r0, =gScriptResult - strh r4, [r0] - b _080B556E - .pool -_080B5568: - ldr r1, =gScriptResult - movs r0, 0 - strh r0, [r1] -_080B556E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end rock_smash_wild_pokemon_encounter - - thumb_func_start SweetScentWildEncounter -SweetScentWildEncounter: @ 80B5578 - push {r4,r5,lr} - sub sp, 0x4 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - bne _080B562C - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xB3 - lsls r0, 1 - cmp r1, r0 - bne _080B55E4 - bl sub_81A7D00 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_08553A14 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B55CA - b _080B56F2 -_080B55CA: - movs r0, 0 - bl sub_81A7B90 - bl sub_80B06B0 - movs r0, 0x1 - b _080B56F4 - .pool -_080B55E4: - ldr r0, =0x00000169 - cmp r1, r0 - beq _080B55EC - b _080B56F2 -_080B55EC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r4, [r0] - ldr r1, =gUnknown_08553894 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B56F2 - bl sub_81A9C04 - b _080B56EA - .pool -_080B562C: - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsLandWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B568C - ldr r1, =gWildMonHeaders - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B56F2 - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B56D4 - bl DoMassOutbreakEncounterTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5680 - movs r0, 0 - bl SetUpMassOutbreakEncounter - b _080B56EA - .pool -_080B5680: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl sub_80B4F4C - b _080B56EA -_080B568C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWaterWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B56F2 - bl sub_80B5260 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B56F2 - ldr r1, =gWildMonHeaders - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B56F2 - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B56E0 -_080B56D4: - bl sub_80B072C - movs r0, 0x1 - b _080B56F4 - .pool -_080B56E0: - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80B4F4C -_080B56EA: - bl sub_80B0698 - movs r0, 0x1 - b _080B56F4 -_080B56F2: - movs r0, 0 -_080B56F4: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end SweetScentWildEncounter - - thumb_func_start GetFishingWildMonListHeader -GetFishingWildMonListHeader: @ 80B56FC - push {lr} - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x0000ffff - cmp r2, r0 - beq _080B572C - ldr r0, =gWildMonHeaders - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _080B572C - movs r0, 0x1 - b _080B572E - .pool -_080B572C: - movs r0, 0 -_080B572E: - pop {r1} - bx r1 - thumb_func_end GetFishingWildMonListHeader - - thumb_func_start sub_80B5734 -sub_80B5734: @ 80B5734 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80B4984 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5764 - ldr r4, =gUnknown_08553A78 - adds r0, r4, 0 - bl sub_80B4C74 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrh r4, [r4, 0x2] - adds r0, r4, 0 - bl sub_80B4E68 - b _080B5784 - .pool -_080B5764: - ldr r4, =gWildMonHeaders - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r4, 0x10 - adds r1, r4 - ldr r0, [r1] - adds r1, r5, 0 - bl sub_80B5024 - lsls r0, 16 - lsrs r4, r0, 16 -_080B5784: - movs r0, 0xC - bl IncrementGameStat - adds r0, r4, 0 - bl sub_80EDA3C - bl sub_80B0698 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B5734 - - thumb_func_start wild_pokemon_rand_for_map -wild_pokemon_rand_for_map: @ 80B57A0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0 - strb r0, [r6] - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =0x0000ffff - cmp r3, r0 - beq _080B57D2 - ldr r2, =gWildMonHeaders - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r5, [r0] - adds r2, 0x8 - adds r1, r2 - ldr r4, [r1] - cmp r5, 0 - bne _080B57E0 - cmp r4, 0 - bne _080B57E6 -_080B57D2: - movs r0, 0 - b _080B5826 - .pool -_080B57E0: - cmp r4, 0 - bne _080B57F4 - b _080B5818 -_080B57E6: - movs r0, 0x1 - strb r0, [r6] - bl wild_pokemon_rand_water - lsls r0, 24 - ldr r1, [r4, 0x4] - b _080B5820 -_080B57F4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4F - bls _080B5818 - movs r0, 0x1 - strb r0, [r6] - bl wild_pokemon_rand_water - lsls r0, 24 - ldr r1, [r4, 0x4] - b _080B5820 -_080B5818: - bl wild_pokemon_rand_grass - lsls r0, 24 - ldr r1, [r5, 0x4] -_080B5820: - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] -_080B5826: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end wild_pokemon_rand_for_map - - thumb_func_start sub_80B582C -sub_80B582C: @ 80B582C - push {r4,lr} - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x0000ffff - cmp r2, r0 - beq _080B5868 - ldr r1, =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B5868 - bl wild_pokemon_rand_water - lsls r0, 24 - ldr r1, [r4, 0x4] - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] - b _080B586A - .pool -_080B5868: - movs r0, 0 -_080B586A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B582C - - thumb_func_start sub_80B5870 -sub_80B5870: @ 80B5870 - push {r4,r5,lr} - bl InBattlePike - lsls r0, 24 - cmp r0, 0 - bne _080B58C4 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B58C4 - bl InUnionRoom - cmp r0, 0x1 - beq _080B58C4 - ldr r5, =0x00004021 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080B58C4 - subs r4, r0, 0x1 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl VarSet - cmp r4, 0 - bne _080B58C4 - ldr r0, =gUnknown_082A4B2A - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _080B58C6 - .pool -_080B58C4: - movs r0, 0 -_080B58C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B5870 - - thumb_func_start sub_80B58CC -sub_80B58CC: @ 80B58CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004021 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080B5912 - movs r5, 0 -_080B58E0: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080B5920 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080B5920 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bcc _080B592A -_080B5912: - movs r0, 0x1 - b _080B592C - .pool -_080B5920: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080B58E0 -_080B592A: - movs r0, 0 -_080B592C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B58CC - - thumb_func_start DoKeenEyeIntimidateWildEncounterTest -@ _BOOL1 DoKeenEyeIntimidateWildEncounterTest(u8 wildMonLevel) -DoKeenEyeIntimidateWildEncounterTest: @ 80B5934 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B5988 - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x33 - beq _080B595A - cmp r0, 0x16 - bne _080B5988 -_080B595A: - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _080B5988 - subs r0, 0x5 - cmp r5, r0 - bgt _080B5988 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B5988 - movs r0, 0 - b _080B598A - .pool -_080B5988: - movs r0, 0x1 -_080B598A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end DoKeenEyeIntimidateWildEncounterTest - - thumb_func_start TryGetRandomWildMonIndexByType -@ _BOOL1 TryGetRandomWildMonIndexByType(WildMonEntry *mons, u8 type, u8 numMons, u8 *monIndex) -TryGetRandomWildMonIndexByType: @ 80B5990 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r7, sp - mov r12, r0 - mov r8, r3 - lsls r1, 24 - lsrs r1, 24 - str r1, [r7] - lsls r2, 24 - lsrs r2, 24 - mov r9, sp - adds r0, r2, 0x3 - lsrs r0, 2 - lsls r0, 2 - mov r1, sp - subs r1, r0 - mov sp, r1 - mov r5, sp - movs r3, 0 - cmp r3, r2 - bcs _080B59D2 - movs r1, 0 -_080B59C4: - adds r0, r5, r3 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r2 - bcc _080B59C4 -_080B59D2: - movs r4, 0 - movs r3, 0 - cmp r4, r2 - bcs _080B5A12 - ldr r6, =gBaseStats - mov r10, r6 -_080B59DE: - lsls r0, r3, 2 - add r0, r12 - ldrh r1, [r0, 0x2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r6, r10 - adds r1, r0, r6 - ldrb r0, [r1, 0x6] - ldr r6, [r7] - cmp r0, r6 - beq _080B59FC - ldrb r0, [r1, 0x7] - cmp r0, r6 - bne _080B5A08 -_080B59FC: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r1, r5, r1 - strb r3, [r1] -_080B5A08: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r2 - bcc _080B59DE -_080B5A12: - cmp r4, 0 - beq _080B5A1A - cmp r4, r2 - bne _080B5A24 -_080B5A1A: - movs r0, 0 - b _080B5A3C - .pool -_080B5A24: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __modsi3 - adds r0, r5, r0 - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - movs r0, 0x1 -_080B5A3C: - mov sp, r9 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end TryGetRandomWildMonIndexByType - - thumb_func_start TryGetAbilityInfluencedWildMonIndex -@ _BOOL1 TryGetAbilityInfluencedWildMonIndex(WildMonEntry *mons, u8 type, u8 abilityId, u8 *monIndex) -TryGetAbilityInfluencedWildMonIndex: @ 80B5A50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - mov r8, r3 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B5AA4 - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bne _080B5AA4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B5AA4 - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0xC - mov r3, r8 - bl TryGetRandomWildMonIndexByType - lsls r0, 24 - lsrs r0, 24 - b _080B5AA6 - .pool -_080B5AA4: - movs r0, 0 -_080B5AA6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end TryGetAbilityInfluencedWildMonIndex - - thumb_func_start affects_encounter_rate_based_on_flags -@ void affects_encounter_rate_based_on_flags(u32 *val) -affects_encounter_rate_based_on_flags: @ 80B5AB0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x000008ad - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5AD0 - ldr r0, [r4] - lsrs r1, r0, 1 - adds r0, r1 - b _080B5AE2 - .pool -_080B5AD0: - ldr r0, =0x000008ae - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5AE4 - ldr r0, [r4] - lsrs r0, 1 -_080B5AE2: - str r0, [r4] -_080B5AE4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end affects_encounter_rate_based_on_flags - - thumb_func_start ApplyCleanseTagWildEncounterRateReduction -ApplyCleanseTagWildEncounterRateReduction: @ 80B5AF0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPlayerParty - movs r1, 0xC - bl GetMonData - cmp r0, 0xBE - bne _080B5B0C - ldr r0, [r4] - lsls r0, 1 - movs r1, 0x3 - bl __udivsi3 - str r0, [r4] -_080B5B0C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ApplyCleanseTagWildEncounterRateReduction - - .align 2, 0 @ Don't pad with nop. |