summaryrefslogtreecommitdiff
path: root/asm/script_movement.s
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
commit670fef77ac4d9116d5fdc28c0da40622919a062b (patch)
tree61c0e925f059404473826ac775305ba5e2706ab1 /asm/script_movement.s
first commit
Diffstat (limited to 'asm/script_movement.s')
-rw-r--r--asm/script_movement.s602
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.