mirror of
https://github.com/zeldaret/tmc
synced 2026-08-12 11:53:02 -04:00
Decompile npc5
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
sub_08060FD0: @ 0x08060FD0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #8
|
||||
adds r4, r0, #0
|
||||
mov sb, r1
|
||||
mov r8, r2
|
||||
movs r0, #0x2e
|
||||
ldrsh r7, [r4, r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r6, [r4, r1]
|
||||
mov r2, sb
|
||||
subs r0, r2, r7
|
||||
mov r5, r8
|
||||
subs r1, r5, r6
|
||||
bl sub_080045DA
|
||||
lsls r7, r7, #8
|
||||
lsls r6, r6, #8
|
||||
ldr r3, _08061058 @ =gSineTable
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r3
|
||||
movs r5, #0
|
||||
ldrsh r2, [r1, r5]
|
||||
lsls r1, r2, #1
|
||||
adds r1, r1, r2
|
||||
lsls r1, r1, #1
|
||||
str r1, [sp]
|
||||
adds r0, #0x40
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
movs r2, #0
|
||||
ldrsh r1, [r0, r2]
|
||||
lsls r0, r1, #1
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #1
|
||||
str r0, [sp, #4]
|
||||
adds r4, #0x38
|
||||
ldrb r0, [r4]
|
||||
ldr r5, _0806105C @ =gUnk_0200D654
|
||||
mov sl, r5
|
||||
cmp r0, #2
|
||||
beq _0806102E
|
||||
ldr r0, _08061060 @ =gUnk_02027EB4
|
||||
mov sl, r0
|
||||
_0806102E:
|
||||
adds r1, r7, #0
|
||||
cmp r7, #0
|
||||
bge _08061036
|
||||
adds r1, #0xff
|
||||
_08061036:
|
||||
asrs r5, r1, #8
|
||||
adds r2, r6, #0
|
||||
cmp r6, #0
|
||||
bge _08061040
|
||||
adds r2, #0xff
|
||||
_08061040:
|
||||
asrs r4, r2, #8
|
||||
mov r0, sl
|
||||
adds r1, r5, #0
|
||||
adds r2, r4, #0
|
||||
movs r3, #6
|
||||
bl sub_080AE4CC
|
||||
cmp r0, #0
|
||||
beq _08061064
|
||||
movs r0, #0
|
||||
b _08061084
|
||||
.align 2, 0
|
||||
_08061058: .4byte gSineTable
|
||||
_0806105C: .4byte gUnk_0200D654
|
||||
_08061060: .4byte gUnk_02027EB4
|
||||
_08061064:
|
||||
mov r1, sb
|
||||
subs r0, r1, r5
|
||||
adds r0, #6
|
||||
cmp r0, #0xc
|
||||
bhi _08061078
|
||||
mov r2, r8
|
||||
subs r0, r2, r4
|
||||
adds r0, #6
|
||||
cmp r0, #0xc
|
||||
bls _08061082
|
||||
_08061078:
|
||||
ldr r5, [sp]
|
||||
adds r7, r7, r5
|
||||
ldr r0, [sp, #4]
|
||||
subs r6, r6, r0
|
||||
b _0806102E
|
||||
_08061082:
|
||||
movs r0, #1
|
||||
_08061084:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,53 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
sub_08061170: @ 0x08061170
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
bl sub_080AF1EC
|
||||
cmp r0, #0
|
||||
bne _080611CA
|
||||
adds r0, r4, #0
|
||||
bl sub_080611D4
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0xff
|
||||
beq _080611C6
|
||||
movs r0, #6
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_08079FD4
|
||||
lsls r0, r0, #4
|
||||
subs r0, #4
|
||||
lsls r0, r0, #0xc
|
||||
str r0, [r4, #0x20]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
strh r1, [r4, #0x24]
|
||||
strb r5, [r4, #0x15]
|
||||
lsrs r1, r5, #2
|
||||
strb r1, [r4, #0x14]
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _080611BE
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x14
|
||||
bl sub_08060E70
|
||||
b _080611C6
|
||||
_080611BE:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x18
|
||||
bl sub_08060E70
|
||||
_080611C6:
|
||||
movs r0, #0
|
||||
b _080611D2
|
||||
_080611CA:
|
||||
adds r0, r4, #0
|
||||
bl sub_08016AD2
|
||||
movs r0, #1
|
||||
_080611D2:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,54 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
sub_080611D4: @ 0x080611D4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x14]
|
||||
movs r0, #6
|
||||
ands r0, r1
|
||||
ldr r1, _08061218 @ =gUnk_0810AC4C
|
||||
adds r0, r0, r1
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
movs r2, #1
|
||||
ldrsb r2, [r0, r2]
|
||||
adds r0, r4, #0
|
||||
bl sub_080002B4
|
||||
adds r3, r0, #0
|
||||
ldr r2, _0806121C @ =gUnk_0810AC54
|
||||
_080611F4:
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r3
|
||||
bne _08061220
|
||||
ldrb r0, [r2, #1]
|
||||
ldrb r1, [r4, #0x14]
|
||||
lsrs r0, r0, #2
|
||||
cmp r1, r0
|
||||
bne _08061220
|
||||
ldrb r0, [r4, #0xf]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #7
|
||||
bls _0806122A
|
||||
ldrb r0, [r2, #1]
|
||||
b _0806122C
|
||||
.align 2, 0
|
||||
_08061218: .4byte gUnk_0810AC4C
|
||||
_0806121C: .4byte gUnk_0810AC54
|
||||
_08061220:
|
||||
adds r2, #2
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #0
|
||||
bne _080611F4
|
||||
strb r0, [r4, #0xf]
|
||||
_0806122A:
|
||||
movs r0, #0xff
|
||||
_0806122C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,139 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
sub_08061358: @ 0x08061358
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xd]
|
||||
cmp r5, #1
|
||||
beq _0806139C
|
||||
cmp r5, #1
|
||||
bgt _0806136C
|
||||
cmp r5, #0
|
||||
beq _08061376
|
||||
b _08061460
|
||||
_0806136C:
|
||||
cmp r5, #2
|
||||
beq _080613D0
|
||||
cmp r5, #3
|
||||
beq _0806141E
|
||||
b _08061460
|
||||
_08061376:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08061460
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0xf
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_08060E70
|
||||
b _08061460
|
||||
_0806139C:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08061460
|
||||
bl Random
|
||||
adds r6, r0, #0
|
||||
ands r5, r6
|
||||
cmp r5, #0
|
||||
beq _080613FA
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
ldr r3, _080613CC @ =gUnk_0810AC5D
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #1
|
||||
lsrs r1, r6, #4
|
||||
movs r2, #3
|
||||
ands r1, r2
|
||||
adds r0, r0, r1
|
||||
adds r0, r0, r3
|
||||
b _0806143A
|
||||
.align 2, 0
|
||||
_080613CC: .4byte gUnk_0810AC5D
|
||||
_080613D0:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08061460
|
||||
movs r0, #0x18
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #1
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _08061412
|
||||
_080613FA:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x18
|
||||
ands r6, r0
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl sub_08060E70
|
||||
b _08061460
|
||||
_08061412:
|
||||
strb r1, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x10
|
||||
bl sub_08060E70
|
||||
b _08061460
|
||||
_0806141E:
|
||||
adds r0, r4, #0
|
||||
bl sub_08061170
|
||||
cmp r0, #0
|
||||
bne _08061448
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
ldr r2, _08061444 @ =gUnk_0810AC5D
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #1
|
||||
lsrs r1, r6, #4
|
||||
ands r1, r5
|
||||
adds r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
_0806143A:
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
b _08061460
|
||||
.align 2, 0
|
||||
_08061444: .4byte gUnk_0810AC5D
|
||||
_08061448:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08061460
|
||||
strb r0, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x10
|
||||
bl sub_08060E70
|
||||
_08061460:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,231 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
sub_08061464: @ 0x08061464
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r4, r0, #0
|
||||
mov r8, r1
|
||||
adds r5, r2, #0
|
||||
movs r0, #0x2e
|
||||
ldrsh r7, [r4, r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r6, [r4, r1]
|
||||
adds r0, r7, #0
|
||||
adds r1, r6, #0
|
||||
mov r2, r8
|
||||
adds r3, r5, #0
|
||||
bl sub_080045D4
|
||||
adds r0, #2
|
||||
movs r1, #0x1c
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #2
|
||||
cmp r0, #7
|
||||
bls _08061494
|
||||
b _08061612
|
||||
_08061494:
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080614A0 @ =_080614A4
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080614A0: .4byte _080614A4
|
||||
_080614A4: @ jump table
|
||||
.4byte _080614C4 @ case 0
|
||||
.4byte _080614E2 @ case 1
|
||||
.4byte _08061514 @ case 2
|
||||
.4byte _08061544 @ case 3
|
||||
.4byte _08061566 @ case 4
|
||||
.4byte _08061584 @ case 5
|
||||
.4byte _080615B4 @ case 6
|
||||
.4byte _080615E4 @ case 7
|
||||
_080614C4:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
strh r5, [r0]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r8
|
||||
ble _08061504
|
||||
adds r2, r6, #0
|
||||
subs r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061630
|
||||
b _08061612
|
||||
_080614E2:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061720
|
||||
cmp r0, #0
|
||||
beq _08061500
|
||||
b _08061612
|
||||
_08061500:
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
_08061504:
|
||||
adds r2, r6, #0
|
||||
subs r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_080616A8
|
||||
b _08061612
|
||||
_08061514:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r5
|
||||
ble _08061534
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061720
|
||||
b _08061612
|
||||
_08061534:
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061798
|
||||
b _08061612
|
||||
_08061544:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061798
|
||||
cmp r0, #0
|
||||
bne _08061612
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
b _08061574
|
||||
_08061566:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
strh r5, [r0]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r8
|
||||
bgt _080615A4
|
||||
_08061574:
|
||||
adds r2, r6, #0
|
||||
adds r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061888
|
||||
b _08061612
|
||||
_08061584:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061978
|
||||
cmp r0, #0
|
||||
bne _08061612
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
_080615A4:
|
||||
adds r2, r6, #0
|
||||
adds r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061810
|
||||
b _08061612
|
||||
_080615B4:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r5
|
||||
ble _080615D4
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061900
|
||||
b _08061612
|
||||
_080615D4:
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061978
|
||||
b _08061612
|
||||
_080615E4:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061900
|
||||
cmp r0, #0
|
||||
bne _08061612
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
adds r2, r6, #0
|
||||
subs r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061630
|
||||
_08061612:
|
||||
ldr r0, [r4, #0x64]
|
||||
ldrb r1, [r0]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _08061628
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
_08061628:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,38 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
sub_08061B18: @ 0x08061B18
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
beq _08061B54
|
||||
cmp r0, #1
|
||||
bne _08061B54
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08061AFC
|
||||
ldr r2, [r4, #0x68]
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r2, r2, r0
|
||||
ldrh r0, [r2, #2]
|
||||
cmp r0, #0
|
||||
bne _08061B4C
|
||||
strb r0, [r4, #0xe]
|
||||
_08061B4C:
|
||||
ldrh r0, [r2]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
_08061B54:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
.syntax divided
|
||||
-2330
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user