diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
commit | 670fef77ac4d9116d5fdc28c0da40622919a062b (patch) | |
tree | 61c0e925f059404473826ac775305ba5e2706ab1 /asm/script_movement.s |
first commit
Diffstat (limited to 'asm/script_movement.s')
-rw-r--r-- | asm/script_movement.s | 602 |
1 files changed, 602 insertions, 0 deletions
diff --git a/asm/script_movement.s b/asm/script_movement.s new file mode 100644 index 000000000..be377ec1a --- /dev/null +++ b/asm/script_movement.s @@ -0,0 +1,602 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8097434 +sub_8097434: @ 8097434 + push {r4,lr} + sub sp, 0x4 + adds r4, r3, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + mov r3, sp + bl sub_805DF84 + lsls r0, 24 + cmp r0, 0 + beq _08097456 + movs r0, 0x1 + b _0809747E +_08097456: + ldr r0, _08097488 @ =sub_80977AC + bl sub_8077650 + lsls r0, 24 + cmp r0, 0 + bne _08097468 + movs r0, 0x32 + bl sub_80974F8 +_08097468: + bl sub_8097540 + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + ldrb r1, [r1] + adds r2, r4, 0 + bl sub_8097554 + lsls r0, 24 + lsrs r0, 24 +_0809747E: + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08097488: .4byte sub_80977AC + thumb_func_end sub_8097434 + + thumb_func_start sub_809748C +sub_809748C: @ 809748C + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + mov r3, sp + bl sub_805DF84 + lsls r0, 24 + cmp r0, 0 + bne _080974CE + bl sub_8097540 + lsls r0, 24 + lsrs r4, r0, 24 + mov r0, sp + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_80975C0 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x10 + beq _080974CE + adds r0, r4, 0 + bl sub_80976D0 + lsls r0, 24 + lsrs r0, 24 + b _080974D0 +_080974CE: + movs r0, 0x1 +_080974D0: + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809748C + + thumb_func_start sub_80974D8 +sub_80974D8: @ 80974D8 + push {r4,lr} + bl sub_8097540 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xFF + beq _080974F2 + adds r0, r4, 0 + bl sub_8097768 + adds r0, r4, 0 + bl sub_8077508 +_080974F2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80974D8 + + thumb_func_start sub_80974F8 +sub_80974F8: @ 80974F8 + push {r4,r5,lr} + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r0, _08097534 @ =sub_80977AC + bl sub_807741C + lsls r0, 24 + lsrs r0, 24 + movs r2, 0x1 + lsls r1, r0, 2 + adds r1, r0 + lsls r3, r1, 3 + ldr r5, _08097538 @ =gUnknown_3005098 + ldr r0, _0809753C @ =0x0000ffff + adds r4, r0, 0 +_08097518: + lsls r0, r2, 1 + adds r0, r3 + adds r0, r5 + ldrh r1, [r0] + orrs r1, r4 + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xF + bls _08097518 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08097534: .4byte sub_80977AC +_08097538: .4byte gUnknown_3005098 +_0809753C: .4byte 0x0000ffff + thumb_func_end sub_80974F8 + + thumb_func_start sub_8097540 +sub_8097540: @ 8097540 + push {lr} + ldr r0, _08097550 @ =sub_80977AC + bl sub_8077688 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_08097550: .4byte sub_80977AC + thumb_func_end sub_8097540 + + thumb_func_start sub_8097554 +sub_8097554: @ 8097554 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r9, r2 + lsls r0, 24 + lsrs r5, r0, 24 + adds r7, r5, 0 + lsls r1, 24 + lsrs r6, r1, 24 + mov r8, r6 + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_80975C0 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x10 + beq _08097590 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80976D0 + lsls r0, 24 + cmp r0, 0 + beq _080975B0 + adds r0, r5, 0 + adds r1, r4, 0 + adds r2, r6, 0 + b _080975A6 +_08097590: + adds r0, r7, 0 + movs r1, 0xFF + bl sub_80975C0 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x10 + beq _080975B0 + adds r0, r7, 0 + adds r1, r4, 0 + mov r2, r8 +_080975A6: + mov r3, r9 + bl sub_8097728 + movs r0, 0 + b _080975B2 +_080975B0: + movs r0, 0x1 +_080975B2: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8097554 + + thumb_func_start sub_80975C0 +sub_80975C0: @ 80975C0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080975E4 @ =gUnknown_3005098 + adds r1, r0 + adds r1, 0x2 + movs r2, 0 +_080975D8: + ldrb r0, [r1] + cmp r0, r3 + bne _080975E8 + adds r0, r2, 0 + b _080975F6 + .align 2, 0 +_080975E4: .4byte gUnknown_3005098 +_080975E8: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + adds r1, 0x1 + cmp r2, 0xF + bls _080975D8 + movs r0, 0x10 +_080975F6: + pop {r1} + bx r1 + thumb_func_end sub_80975C0 + + thumb_func_start sub_80975FC +sub_80975FC: @ 80975FC + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0809762C @ =gUnknown_3005098 + adds r1, r0 + adds r1, 0x2 + str r1, [r2] + movs r0, 0 + cmp r0, r3 + bcs _08097628 +_0809761A: + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + adds r1, 0x1 + cmp r0, r3 + bcc _0809761A + str r1, [r2] +_08097628: + pop {r0} + bx r0 + .align 2, 0 +_0809762C: .4byte gUnknown_3005098 + thumb_func_end sub_80975FC + + thumb_func_start sub_8097630 +sub_8097630: @ 8097630 + push {r4,lr} + sub sp, 0x4 + adds r4, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r4, 24 + lsrs r4, 24 + mov r2, sp + bl sub_80975FC + ldr r0, [sp] + strb r4, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8097630 + + thumb_func_start sub_8097654 +sub_8097654: @ 8097654 + push {r4,lr} + sub sp, 0x4 + adds r4, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + mov r2, sp + bl sub_80975FC + ldr r0, [sp] + ldrb r0, [r0] + strb r0, [r4] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8097654 + + thumb_func_start sub_8097678 +sub_8097678: @ 8097678 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + ldr r2, _080976A0 @ =gUnknown_825E45C + lsrs r1, 22 + adds r1, r2 + ldr r2, [r1] + mvns r2, r2 + lsls r2, 16 + lsrs r2, 16 + ldr r3, _080976A4 @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + ldrh r0, [r1, 0x8] + ands r2, r0 + strh r2, [r1, 0x8] + bx lr + .align 2, 0 +_080976A0: .4byte gUnknown_825E45C +_080976A4: .4byte gUnknown_3005090 + thumb_func_end sub_8097678 + + thumb_func_start sub_80976A8 +sub_80976A8: @ 80976A8 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + ldr r3, _080976C8 @ =gUnknown_3005090 + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r2, r3 + ldr r0, _080976CC @ =gUnknown_825E45C + lsrs r1, 22 + adds r1, r0 + ldr r0, [r1] + ldrh r1, [r2, 0x8] + orrs r0, r1 + strh r0, [r2, 0x8] + bx lr + .align 2, 0 +_080976C8: .4byte gUnknown_3005090 +_080976CC: .4byte gUnknown_825E45C + thumb_func_end sub_80976A8 + + thumb_func_start sub_80976D0 +sub_80976D0: @ 80976D0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + ldr r3, _080976F8 @ =gUnknown_3005090 + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r2, r3 + ldr r0, _080976FC @ =gUnknown_825E45C + lsrs r1, 22 + adds r1, r0 + ldr r0, [r1] + ldrh r1, [r2, 0x8] + ands r0, r1 + cmp r0, 0 + bne _08097700 + movs r0, 0 + b _08097702 + .align 2, 0 +_080976F8: .4byte gUnknown_3005090 +_080976FC: .4byte gUnknown_825E45C +_08097700: + movs r0, 0x1 +_08097702: + pop {r1} + bx r1 + thumb_func_end sub_80976D0 + + thumb_func_start sub_8097708 +sub_8097708: @ 8097708 + lsls r0, 24 + ldr r2, _08097714 @ =gUnknown_2039830 + lsrs r0, 22 + adds r0, r2 + str r1, [r0] + bx lr + .align 2, 0 +_08097714: .4byte gUnknown_2039830 + thumb_func_end sub_8097708 + + thumb_func_start sub_8097718 +sub_8097718: @ 8097718 + lsls r0, 24 + ldr r1, _08097724 @ =gUnknown_2039830 + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_08097724: .4byte gUnknown_2039830 + thumb_func_end sub_8097718 + + thumb_func_start sub_8097728 +sub_8097728: @ 8097728 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r5, r0, 0 + adds r4, r1, 0 + adds r6, r2, 0 + mov r8, r3 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + lsrs r4, 24 + lsls r6, 24 + lsrs r6, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8097678 + adds r0, r4, 0 + mov r1, r8 + bl sub_8097708 + adds r0, r5, 0 + adds r1, r4, 0 + adds r2, r6, 0 + bl sub_8097630 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8097728 + + thumb_func_start sub_8097768 +sub_8097768: @ 8097768 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080977A4 @ =gUnknown_3005098 + adds r1, r0 + adds r4, r1, 0x2 + movs r5, 0 +_0809777C: + ldrb r0, [r4] + cmp r0, 0xFF + beq _08097792 + adds r1, r0, 0 + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, _080977A8 @ =gUnknown_2036E38 + adds r0, r1 + bl sub_80689F4 +_08097792: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, 0x1 + cmp r5, 0xF + bls _0809777C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080977A4: .4byte gUnknown_3005098 +_080977A8: .4byte gUnknown_2036E38 + thumb_func_end sub_8097768 + + thumb_func_start sub_80977AC +sub_80977AC: @ 80977AC + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r7, r0, 24 + movs r5, 0 + mov r6, sp +_080977B8: + adds r0, r7, 0 + adds r1, r5, 0 + mov r2, sp + bl sub_8097654 + ldrb r0, [r6] + cmp r0, 0xFF + beq _080977DC + adds r4, r0, 0 + adds r0, r5, 0 + bl sub_8097718 + adds r3, r0, 0 + adds r0, r7, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_80977F0 +_080977DC: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0xF + bls _080977B8 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80977AC + + thumb_func_start sub_80977F0 +sub_80977F0: @ 80977F0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r3, 0 + lsls r0, 24 + lsrs r0, 24 + adds r7, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + mov r8, r5 + lsls r2, 24 + lsrs r4, r2, 24 + adds r1, r5, 0 + bl sub_80976D0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0809786A + lsls r0, r4, 3 + adds r0, r4 + lsls r0, 2 + ldr r1, _08097850 @ =gUnknown_2036E38 + adds r4, r0, r1 + adds r0, r4, 0 + bl sub_8063C88 + lsls r0, 24 + cmp r0, 0 + beq _08097838 + adds r0, r4, 0 + bl sub_8063D7C + lsls r0, 24 + cmp r0, 0 + beq _0809786A +_08097838: + ldrb r1, [r6] + cmp r1, 0xFE + bne _08097854 + adds r0, r7, 0 + adds r1, r5, 0 + bl sub_80976A8 + adds r0, r4, 0 + bl sub_80688E4 + b _0809786A + .align 2, 0 +_08097850: .4byte gUnknown_2036E38 +_08097854: + adds r0, r4, 0 + bl sub_8063CA4 + lsls r0, 24 + cmp r0, 0 + bne _0809786A + adds r6, 0x1 + mov r0, r8 + adds r1, r6, 0 + bl sub_8097708 +_0809786A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80977F0 + + .align 2, 0 @ Don't pad with nop. |