diff options
author | YamaArashi <shadow962@live.com> | 2016-11-01 10:08:48 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-11-01 10:16:34 -0700 |
commit | 6f0e42a91aeeedd64725ce57e3dad6a38421d8e9 (patch) | |
tree | dcea69ec49430f004c17ff71b77587cafd78c69a /asm/map_obj_lock.s | |
parent | fef81187dce23adc635d7f4b7fd82298eab09ec2 (diff) |
split asm files
Diffstat (limited to 'asm/map_obj_lock.s')
-rw-r--r-- | asm/map_obj_lock.s | 474 |
1 files changed, 474 insertions, 0 deletions
diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s new file mode 100644 index 000000000..787cb5167 --- /dev/null +++ b/asm/map_obj_lock.s @@ -0,0 +1,474 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start walkrun_is_standing_still +walkrun_is_standing_still: @ 8098388 + push {lr} + ldr r0, =0x02037590 + ldrb r0, [r0, 0x3] + cmp r0, 0x1 + beq _0809839C + movs r0, 0x1 + b _0809839E + .pool +_0809839C: + movs r0, 0 +_0809839E: + pop {r1} + bx r1 + thumb_func_end walkrun_is_standing_still + + thumb_func_start sub_80983A4 +sub_80983A4: @ 80983A4 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl walkrun_is_standing_still + lsls r0, 24 + cmp r0, 0 + beq _080983BE + bl sub_808B864 + adds r0, r4, 0 + bl DestroyTask +_080983BE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80983A4 + + thumb_func_start sub_80983C4 +sub_80983C4: @ 80983C4 + push {lr} + ldr r0, =sub_80983A4 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + bne _080983E0 + bl sub_808BCF4 + movs r0, 0x1 + b _080983E2 + .pool +_080983E0: + movs r0, 0 +_080983E2: + pop {r1} + bx r1 + thumb_func_end sub_80983C4 + + thumb_func_start sub_80983E8 +sub_80983E8: @ 80983E8 + push {lr} + bl player_bitmagic + ldr r0, =sub_80983A4 + movs r1, 0x50 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_80983E8 + + thumb_func_start sub_8098400 +sub_8098400: @ 8098400 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, =0x03005e00 + adds r5, r0, r1 + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _0809842A + bl walkrun_is_standing_still + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x1 + bne _0809842A + bl sub_808B864 + strh r4, [r5, 0x8] +_0809842A: + movs r1, 0xA + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _08098452 + ldr r2, =0x02037350 + ldr r0, =0x03005df0 + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r2 + ldrb r0, [r1] + lsls r0, 30 + cmp r0, 0 + blt _08098452 + adds r0, r1, 0 + bl sub_8097404 + movs r0, 0x1 + strh r0, [r5, 0xA] +_08098452: + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _08098468 + movs r1, 0xA + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _08098468 + adds r0, r6, 0 + bl DestroyTask +_08098468: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8098400 + + thumb_func_start sub_809847C +sub_809847C: @ 809847C + push {lr} + ldr r0, =sub_8098400 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + bne _08098498 + bl sub_808BCF4 + movs r0, 0x1 + b _0809849A + .pool +_08098498: + movs r0, 0 +_0809849A: + pop {r1} + bx r1 + thumb_func_end sub_809847C + + thumb_func_start sub_80984A0 +sub_80984A0: @ 80984A0 + push {r4,r5,lr} + ldr r4, =0x03005df0 + ldrb r0, [r4] + bl sub_80974D0 + ldr r0, =sub_8098400 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r5, r0, 24 + ldr r2, =0x02037350 + ldrb r1, [r4] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r2 + ldrb r0, [r1] + lsls r0, 30 + cmp r0, 0 + blt _080984DE + adds r0, r1, 0 + bl sub_8097404 + ldr r0, =0x03005e00 + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0xA] +_080984DE: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80984A0 + + thumb_func_start sub_80984F4 +sub_80984F4: @ 80984F4 + push {lr} + 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, =0x02037350 + adds r0, r1 + bl FieldObjectClearAnimIfSpecialAnimFinished + bl sub_80D338C + bl sub_809757C + pop {r0} + bx r0 + .pool + thumb_func_end sub_80984F4 + + thumb_func_start sub_8098524 +sub_8098524: @ 8098524 + push {r4,lr} + ldr r4, =0x02037350 + ldr r0, =0x03005df0 + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r4 + ldrb r0, [r1] + lsls r0, 31 + cmp r0, 0 + beq _08098542 + adds r0, r1, 0 + bl FieldObjectClearAnimIfSpecialAnimFinished +_08098542: + 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 FieldObjectClearAnimIfSpecialAnimFinished + bl sub_80D338C + bl sub_809757C + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8098524 + + thumb_func_start sub_8098574 +sub_8098574: @ 8098574 + push {lr} + ldr r0, =0x03005df0 + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02037350 + adds r0, r1 + ldr r1, =0x020375f4 + ldrb r1, [r1] + bl FieldObjectFaceOppositeDirection + pop {r0} + bx r0 + .pool + thumb_func_end sub_8098574 + + thumb_func_start sub_809859C +sub_809859C: @ 809859C + push {lr} + ldr r0, =0x03005df0 + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02037350 + adds r0, r1 + bl FieldObjectClearAnimIfSpecialAnimActive + pop {r0} + bx r0 + .pool + thumb_func_end sub_809859C + + thumb_func_start sub_80985BC +sub_80985BC: @ 80985BC + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, =0x03005e00 + adds r5, r0, r1 + ldrb r7, [r5, 0xC] + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _080985E8 + bl walkrun_is_standing_still + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x1 + bne _080985E8 + bl sub_808B864 + strh r4, [r5, 0x8] +_080985E8: + movs r1, 0xA + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _0809860C + ldr r0, =0x02037350 + lsls r1, r7, 3 + adds r1, r7 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1] + lsls r0, 30 + cmp r0, 0 + blt _0809860C + adds r0, r1, 0 + bl sub_8097404 + movs r0, 0x1 + strh r0, [r5, 0xA] +_0809860C: + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _08098622 + movs r1, 0xA + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _08098622 + adds r0, r6, 0 + bl DestroyTask +_08098622: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80985BC + + thumb_func_start sub_8098630 +sub_8098630: @ 8098630 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + movs r0, 0 + bl sub_80B47E0 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, =0x030060a8 + ldrb r0, [r0] + cmp r0, 0x2 + bne _080986E0 + movs r0, 0x1 + bl sub_80B47E0 + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8098074 + ldr r7, =sub_80985BC + adds r0, r7, 0 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, =0x03005e00 + mov r9, r0 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + mov r1, r9 + adds r6, r0, r1 + strh r4, [r6, 0xC] + ldr r2, =0x02037350 + mov r8, r2 + lsls r0, r4, 3 + adds r0, r4 + lsls r0, 2 + adds r1, r0, r2 + ldrb r0, [r1] + lsls r0, 30 + cmp r0, 0 + blt _0809869A + adds r0, r1, 0 + bl sub_8097404 + movs r0, 0x1 + strh r0, [r6, 0xA] +_0809869A: + adds r0, r7, 0 + movs r1, 0x51 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + mov r1, r9 + adds r4, r0, r1 + strh r5, [r4, 0xC] + lsls r0, r5, 3 + adds r0, r5 + lsls r0, 2 + mov r2, r8 + adds r1, r0, r2 + ldrb r0, [r1] + lsls r0, 30 + cmp r0, 0 + blt _0809871A + adds r0, r1, 0 + bl sub_8097404 + movs r0, 0x1 + strh r0, [r4, 0xA] + b _0809871A + .pool +_080986E0: + adds r0, r4, 0 + bl sub_80974D0 + ldr r0, =sub_80985BC + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, =0x03005e00 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r5, r0, r1 + strh r4, [r5, 0xC] + ldr r1, =0x02037350 + lsls r0, r4, 3 + adds r0, r4 + lsls r0, 2 + adds r1, r0, r1 + ldrb r0, [r1] + lsls r0, 30 + cmp r0, 0 + blt _0809871A + adds r0, r1, 0 + bl sub_8097404 + movs r0, 0x1 + strh r0, [r5, 0xA] +_0809871A: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8098630 + + thumb_func_start sub_8098734 +sub_8098734: @ 8098734 + push {lr} + ldr r0, =sub_80985BC + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + bne _08098750 + bl sub_808BCF4 + movs r0, 0x1 + b _08098752 + .pool +_08098750: + movs r0, 0 +_08098752: + pop {r1} + bx r1 + thumb_func_end sub_8098734 + + .align 2, 0 @ Don't pad with nop. |