mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-26 10:44:40 -05:00
sub_80AA3F8
This commit is contained in:
@@ -7,910 +7,6 @@
|
||||
|
||||
|
||||
|
||||
thumb_func_start sub_80A9F94
|
||||
sub_80A9F94:
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x10
|
||||
adds r4, r0, 0
|
||||
movs r2, 0xA2
|
||||
lsls r2, 1
|
||||
adds r0, r4, r2
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r1]
|
||||
adds r0, r2
|
||||
str r0, [sp]
|
||||
movs r3, 0xA4
|
||||
lsls r3, 1
|
||||
adds r0, r4, r3
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r1, 0x4]
|
||||
adds r0, r1
|
||||
str r0, [sp, 0x4]
|
||||
adds r3, 0x4
|
||||
adds r0, r4, r3
|
||||
ldr r0, [r0]
|
||||
adds r0, r2
|
||||
str r0, [sp, 0x8]
|
||||
movs r2, 0xA8
|
||||
lsls r2, 1
|
||||
adds r0, r4, r2
|
||||
ldr r0, [r0]
|
||||
adds r0, r1
|
||||
add r1, sp, 0x8
|
||||
str r0, [r1, 0x4]
|
||||
movs r6, 0
|
||||
ldr r3, [r4, 0x28]
|
||||
ldr r0, [sp]
|
||||
adds r2, r1, 0
|
||||
cmp r0, r3
|
||||
bge _080A9FE4
|
||||
str r3, [sp]
|
||||
ldr r0, [r4, 0xC]
|
||||
adds r0, r3, r0
|
||||
str r0, [sp, 0x8]
|
||||
b _080A9FF4
|
||||
_080A9FE4:
|
||||
ldr r1, [r4, 0x30]
|
||||
ldr r0, [sp, 0x8]
|
||||
cmp r0, r1
|
||||
blt _080A9FF6
|
||||
ldr r0, [r4, 0xC]
|
||||
subs r0, r1, r0
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x8]
|
||||
_080A9FF4:
|
||||
movs r6, 0x1
|
||||
_080A9FF6:
|
||||
ldr r1, [r4, 0x2C]
|
||||
ldr r0, [sp, 0x4]
|
||||
cmp r0, r1
|
||||
bge _080AA008
|
||||
str r1, [sp, 0x4]
|
||||
ldr r0, [r4, 0x10]
|
||||
adds r0, r1, r0
|
||||
str r0, [r2, 0x4]
|
||||
b _080AA018
|
||||
_080AA008:
|
||||
ldr r1, [r4, 0x34]
|
||||
ldr r0, [r2, 0x4]
|
||||
cmp r0, r1
|
||||
blt _080AA01A
|
||||
ldr r0, [r4, 0x10]
|
||||
subs r0, r1, r0
|
||||
str r0, [sp, 0x4]
|
||||
str r1, [r2, 0x4]
|
||||
_080AA018:
|
||||
movs r6, 0x1
|
||||
_080AA01A:
|
||||
adds r0, r4, 0
|
||||
mov r1, sp
|
||||
bl sub_80A9488
|
||||
adds r5, r0, 0
|
||||
cmp r5, 0
|
||||
beq _080AA034
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80AAF68
|
||||
adds r0, r5, 0
|
||||
b _080AA06A
|
||||
_080AA034:
|
||||
movs r3, 0xA2
|
||||
lsls r3, 1
|
||||
adds r2, r4, r3
|
||||
ldr r0, [sp]
|
||||
ldr r1, [sp, 0x4]
|
||||
str r0, [r2]
|
||||
str r1, [r2, 0x4]
|
||||
movs r0, 0xA6
|
||||
lsls r0, 1
|
||||
adds r2, r4, r0
|
||||
ldr r0, [sp, 0x8]
|
||||
ldr r1, [sp, 0xC]
|
||||
str r0, [r2]
|
||||
str r1, [r2, 0x4]
|
||||
cmp r6, 0
|
||||
bne _080AA060
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80AAF68
|
||||
movs r0, 0
|
||||
b _080AA06A
|
||||
_080AA060:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80AAF68
|
||||
movs r0, 0x1
|
||||
_080AA06A:
|
||||
add sp, 0x10
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80A9F94
|
||||
|
||||
thumb_func_start sub_80AA074
|
||||
sub_80AA074:
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x10
|
||||
adds r4, r0, 0
|
||||
movs r2, 0xA2
|
||||
lsls r2, 1
|
||||
adds r0, r4, r2
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r1]
|
||||
adds r0, r2
|
||||
str r0, [sp]
|
||||
movs r3, 0xA4
|
||||
lsls r3, 1
|
||||
adds r0, r4, r3
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r1, 0x4]
|
||||
adds r0, r1
|
||||
str r0, [sp, 0x4]
|
||||
adds r3, 0x4
|
||||
adds r0, r4, r3
|
||||
ldr r0, [r0]
|
||||
adds r0, r2
|
||||
str r0, [sp, 0x8]
|
||||
movs r2, 0xA8
|
||||
lsls r2, 1
|
||||
adds r0, r4, r2
|
||||
ldr r0, [r0]
|
||||
adds r0, r1
|
||||
add r1, sp, 0x8
|
||||
str r0, [r1, 0x4]
|
||||
ldr r3, [r4, 0x28]
|
||||
ldr r0, [sp]
|
||||
adds r5, r1, 0
|
||||
cmp r0, r3
|
||||
bge _080AA0C2
|
||||
str r3, [sp]
|
||||
ldr r0, [r4, 0xC]
|
||||
adds r0, r3, r0
|
||||
str r0, [sp, 0x8]
|
||||
b _080AA0D2
|
||||
_080AA0C2:
|
||||
ldr r1, [r4, 0x30]
|
||||
ldr r0, [sp, 0x8]
|
||||
cmp r0, r1
|
||||
blt _080AA0D2
|
||||
ldr r0, [r4, 0xC]
|
||||
subs r0, r1, r0
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x8]
|
||||
_080AA0D2:
|
||||
ldr r1, [r4, 0x2C]
|
||||
ldr r0, [sp, 0x4]
|
||||
cmp r0, r1
|
||||
bge _080AA0E4
|
||||
str r1, [sp, 0x4]
|
||||
ldr r0, [r4, 0x10]
|
||||
adds r0, r1, r0
|
||||
str r0, [r5, 0x4]
|
||||
b _080AA0F4
|
||||
_080AA0E4:
|
||||
ldr r1, [r4, 0x34]
|
||||
ldr r0, [r5, 0x4]
|
||||
cmp r0, r1
|
||||
blt _080AA0F4
|
||||
ldr r0, [r4, 0x10]
|
||||
subs r0, r1, r0
|
||||
str r0, [sp, 0x4]
|
||||
str r1, [r5, 0x4]
|
||||
_080AA0F4:
|
||||
adds r0, r4, 0
|
||||
mov r1, sp
|
||||
adds r2, r5, 0
|
||||
bl sub_80A95AC
|
||||
adds r6, r0, 0
|
||||
cmp r6, 0
|
||||
bne _080AA170
|
||||
movs r3, 0xA2
|
||||
lsls r3, 1
|
||||
adds r2, r4, r3
|
||||
ldr r0, [sp]
|
||||
ldr r1, [sp, 0x4]
|
||||
str r0, [r2]
|
||||
str r1, [r2, 0x4]
|
||||
movs r0, 0xA6
|
||||
lsls r0, 1
|
||||
adds r2, r4, r0
|
||||
ldr r0, [sp, 0x8]
|
||||
ldr r1, [sp, 0xC]
|
||||
str r0, [r2]
|
||||
str r1, [r2, 0x4]
|
||||
movs r1, 0x8E
|
||||
lsls r1, 1
|
||||
adds r0, r4, r1
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x10
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080AA170
|
||||
movs r0, 0x20
|
||||
mov r1, sp
|
||||
adds r2, r5, 0
|
||||
bl FindGroundEvent
|
||||
lsls r0, 16
|
||||
asrs r5, r0, 16
|
||||
cmp r5, 0
|
||||
blt _080AA166
|
||||
movs r2, 0x9F
|
||||
lsls r2, 1
|
||||
adds r7, r4, r2
|
||||
movs r3, 0
|
||||
ldrsh r0, [r7, r3]
|
||||
cmp r0, r5
|
||||
beq _080AA170
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
adds r1, r5, 0
|
||||
bl sub_80A8ACC
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080AA170
|
||||
strh r5, [r7]
|
||||
movs r6, 0x2
|
||||
b _080AA170
|
||||
_080AA166:
|
||||
movs r2, 0x9F
|
||||
lsls r2, 1
|
||||
adds r1, r4, r2
|
||||
ldr r0, _080AA17C
|
||||
strh r0, [r1]
|
||||
_080AA170:
|
||||
adds r0, r6, 0
|
||||
add sp, 0x10
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080AA17C: .4byte 0x0000ffff
|
||||
thumb_func_end sub_80AA074
|
||||
|
||||
thumb_func_start sub_80AA180
|
||||
sub_80AA180:
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x10
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
adds r6, r2, 0
|
||||
adds r7, r3, 0
|
||||
movs r0, 0x4
|
||||
ands r0, r5
|
||||
cmp r0, 0
|
||||
beq _080AA220
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, 0x80
|
||||
bl sub_80A9344
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0
|
||||
blt _080AA220
|
||||
mov r1, sp
|
||||
bl sub_80A8FD8
|
||||
movs r2, 0xA2
|
||||
lsls r2, 1
|
||||
adds r0, r4, r2
|
||||
ldr r1, [r0]
|
||||
ldr r0, [r4, 0x14]
|
||||
adds r1, r0
|
||||
ldr r0, [sp]
|
||||
subs r0, r1
|
||||
str r0, [sp, 0x8]
|
||||
movs r3, 0xA4
|
||||
lsls r3, 1
|
||||
adds r0, r4, r3
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r4, 0x18]
|
||||
adds r0, r1
|
||||
ldr r1, [sp, 0x4]
|
||||
subs r1, r0
|
||||
add r0, sp, 0x8
|
||||
str r1, [r0, 0x4]
|
||||
bl VecDirection8Radial
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
beq _080AA2B2
|
||||
movs r0, 0xA1
|
||||
lsls r0, 1
|
||||
adds r2, r4, r0
|
||||
lsls r0, r1, 24
|
||||
lsrs r0, 24
|
||||
strb r0, [r2]
|
||||
ldr r3, _080AA21C
|
||||
adds r1, r4, r3
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
cmp r1, r0
|
||||
beq _080AA20A
|
||||
movs r0, 0xAE
|
||||
lsls r0, 1
|
||||
adds r1, r4, r0
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
_080AA20A:
|
||||
movs r1, 0
|
||||
ldrsb r1, [r2, r1]
|
||||
adds r0, r4, 0
|
||||
bl sub_80AA3F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080AA2AE
|
||||
b _080AA2B2
|
||||
.align 2, 0
|
||||
_080AA21C: .4byte 0x0000015d
|
||||
_080AA220:
|
||||
movs r0, 0x8
|
||||
ands r0, r5
|
||||
cmp r0, 0
|
||||
beq _080AA2B2
|
||||
movs r0, 0x80
|
||||
adds r1, r6, 0
|
||||
adds r2, r7, 0
|
||||
bl sub_80AC554
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0
|
||||
blt _080AA2B2
|
||||
mov r1, sp
|
||||
bl sub_80AC448
|
||||
movs r1, 0xA2
|
||||
lsls r1, 1
|
||||
adds r0, r4, r1
|
||||
ldr r1, [r0]
|
||||
ldr r0, [r4, 0x14]
|
||||
adds r1, r0
|
||||
ldr r0, [sp]
|
||||
subs r0, r1
|
||||
str r0, [sp, 0x8]
|
||||
add r0, sp, 0x8
|
||||
movs r2, 0xA4
|
||||
lsls r2, 1
|
||||
adds r1, r4, r2
|
||||
ldr r2, [r1]
|
||||
ldr r1, [r4, 0x18]
|
||||
adds r2, r1
|
||||
ldr r1, [sp, 0x4]
|
||||
subs r1, r2
|
||||
str r1, [r0, 0x4]
|
||||
bl VecDirection8Radial
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
beq _080AA2B2
|
||||
movs r3, 0xA1
|
||||
lsls r3, 1
|
||||
adds r2, r4, r3
|
||||
lsls r0, r1, 24
|
||||
lsrs r0, 24
|
||||
strb r0, [r2]
|
||||
adds r3, 0x1B
|
||||
adds r1, r4, r3
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
cmp r1, r0
|
||||
beq _080AA29E
|
||||
movs r0, 0xAE
|
||||
lsls r0, 1
|
||||
adds r1, r4, r0
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
_080AA29E:
|
||||
movs r1, 0
|
||||
ldrsb r1, [r2, r1]
|
||||
adds r0, r4, 0
|
||||
bl sub_80AA3F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080AA2B2
|
||||
_080AA2AE:
|
||||
movs r0, 0x3
|
||||
b _080AA2B4
|
||||
_080AA2B2:
|
||||
movs r0, 0
|
||||
_080AA2B4:
|
||||
add sp, 0x10
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80AA180
|
||||
|
||||
thumb_func_start sub_80AA2BC
|
||||
sub_80AA2BC:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x20
|
||||
adds r7, r0, 0
|
||||
mov r8, r1
|
||||
ldr r0, [r2]
|
||||
ldr r1, [r2, 0x4]
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x4]
|
||||
ldr r0, [r3]
|
||||
ldr r1, [r3, 0x4]
|
||||
str r0, [sp, 0x10]
|
||||
str r1, [sp, 0x14]
|
||||
ldr r0, [sp]
|
||||
cmp r0, 0
|
||||
bge _080AA2E6
|
||||
ldr r1, _080AA3C4
|
||||
adds r0, r1
|
||||
_080AA2E6:
|
||||
asrs r0, 11
|
||||
str r0, [sp, 0x8]
|
||||
ldr r0, [sp, 0x4]
|
||||
cmp r0, 0
|
||||
bge _080AA2F4
|
||||
ldr r2, _080AA3C4
|
||||
adds r0, r2
|
||||
_080AA2F4:
|
||||
asrs r0, 11
|
||||
add r1, sp, 0x8
|
||||
str r0, [r1, 0x4]
|
||||
ldr r4, [sp, 0x10]
|
||||
subs r0, r4, 0x1
|
||||
mov r10, r1
|
||||
cmp r0, 0
|
||||
bge _080AA308
|
||||
ldr r1, _080AA3C8
|
||||
adds r0, r4, r1
|
||||
_080AA308:
|
||||
asrs r2, r0, 11
|
||||
add r0, sp, 0x10
|
||||
ldr r4, [r0, 0x4]
|
||||
subs r1, r4, 0x1
|
||||
mov r9, r0
|
||||
cmp r1, 0
|
||||
bge _080AA31A
|
||||
ldr r0, _080AA3C8
|
||||
adds r1, r4, r0
|
||||
_080AA31A:
|
||||
asrs r3, r1, 11
|
||||
ldr r0, [sp, 0x8]
|
||||
subs r0, r2, r0
|
||||
adds r0, 0x1
|
||||
str r0, [sp, 0x18]
|
||||
mov r1, r10
|
||||
ldr r0, [r1, 0x4]
|
||||
subs r0, r3, r0
|
||||
adds r0, 0x1
|
||||
add r1, sp, 0x18
|
||||
str r0, [r1, 0x4]
|
||||
movs r0, 0x4
|
||||
mov r2, r8
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _080AA394
|
||||
movs r1, 0
|
||||
ldrsh r0, [r7, r1]
|
||||
movs r1, 0x80
|
||||
mov r2, sp
|
||||
mov r3, r9
|
||||
bl GetLivesCollision_80A92A0
|
||||
lsls r0, 16
|
||||
asrs r5, r0, 16
|
||||
cmp r5, 0
|
||||
blt _080AA394
|
||||
ldr r1, _080AA3CC
|
||||
lsls r0, r5, 5
|
||||
subs r0, r5
|
||||
lsls r0, 4
|
||||
ldr r1, [r1]
|
||||
adds r6, r1, r0
|
||||
movs r2, 0x8E
|
||||
lsls r2, 1
|
||||
adds r0, r6, r2
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x80
|
||||
lsls r1, 2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080AA384
|
||||
movs r4, 0xA1
|
||||
lsls r4, 1
|
||||
adds r0, r7, r4
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
movs r1, 0x5
|
||||
bl sub_8002984
|
||||
adds r4, r6, r4
|
||||
strb r0, [r4]
|
||||
_080AA384:
|
||||
movs r1, 0
|
||||
ldrsh r0, [r7, r1]
|
||||
adds r1, r5, 0
|
||||
bl GroundLives_ExecutePlayerScriptActionLives
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080AA3BE
|
||||
_080AA394:
|
||||
movs r0, 0x8
|
||||
mov r2, r8
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _080AA3D0
|
||||
movs r0, 0x80
|
||||
mov r1, sp
|
||||
mov r2, r9
|
||||
bl sub_80AC4C8
|
||||
lsls r0, 16
|
||||
asrs r1, r0, 16
|
||||
cmp r1, 0
|
||||
blt _080AA3D0
|
||||
movs r2, 0
|
||||
ldrsh r0, [r7, r2]
|
||||
bl sub_80A8A5C
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080AA3D0
|
||||
_080AA3BE:
|
||||
movs r0, 0x3
|
||||
b _080AA3E6
|
||||
.align 2, 0
|
||||
_080AA3C4: .4byte 0x000007ff
|
||||
_080AA3C8: .4byte 0x000007fe
|
||||
_080AA3CC: .4byte gGroundLives
|
||||
_080AA3D0:
|
||||
movs r0, 0x10
|
||||
mov r1, r10
|
||||
add r2, sp, 0x18
|
||||
bl sub_80A595C
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080AA3E4
|
||||
movs r0, 0
|
||||
b _080AA3E6
|
||||
_080AA3E4:
|
||||
movs r0, 0x6
|
||||
_080AA3E6:
|
||||
add sp, 0x20
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80AA2BC
|
||||
|
||||
thumb_func_start sub_80AA3F8
|
||||
sub_80AA3F8:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x40
|
||||
adds r6, r0, 0
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
str r1, [sp, 0x28]
|
||||
movs r2, 0x80
|
||||
lsls r2, 1
|
||||
mov r0, sp
|
||||
bl SetVecFromDirectionSpeed
|
||||
ldr r4, [sp]
|
||||
ldr r5, [sp, 0x4]
|
||||
movs r0, 0xA2
|
||||
lsls r0, 1
|
||||
adds r0, r6
|
||||
mov r9, r0
|
||||
ldr r0, [r0]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x8]
|
||||
movs r1, 0xA4
|
||||
lsls r1, 1
|
||||
adds r1, r6
|
||||
mov r10, r1
|
||||
ldr r0, [r1]
|
||||
adds r0, r5
|
||||
add r2, sp, 0x8
|
||||
str r0, [r2, 0x4]
|
||||
movs r1, 0xA6
|
||||
lsls r1, 1
|
||||
adds r0, r6, r1
|
||||
ldr r0, [r0]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x10]
|
||||
adds r1, 0x4
|
||||
adds r0, r6, r1
|
||||
ldr r0, [r0]
|
||||
adds r0, r5
|
||||
add r3, sp, 0x10
|
||||
str r0, [r3, 0x4]
|
||||
adds r0, r6, 0
|
||||
movs r1, 0xC
|
||||
bl sub_80AA2BC
|
||||
adds r7, r0, 0
|
||||
cmp r7, 0x3
|
||||
bne _080AA462
|
||||
_080AA45E:
|
||||
movs r0, 0x1
|
||||
b _080AA650
|
||||
_080AA462:
|
||||
ldr r0, [r6, 0xC]
|
||||
lsrs r1, r0, 31
|
||||
adds r0, r1
|
||||
asrs r0, 1
|
||||
movs r2, 0x80
|
||||
lsls r2, 2
|
||||
mov r8, r2
|
||||
add r0, r8
|
||||
muls r0, r4
|
||||
cmp r0, 0
|
||||
bge _080AA47A
|
||||
adds r0, 0xFF
|
||||
_080AA47A:
|
||||
asrs r0, 8
|
||||
str r0, [sp, 0x2C]
|
||||
ldr r0, [r6, 0x10]
|
||||
lsrs r1, r0, 31
|
||||
adds r0, r1
|
||||
asrs r0, 1
|
||||
add r0, r8
|
||||
muls r0, r5
|
||||
cmp r0, 0
|
||||
bge _080AA490
|
||||
adds r0, 0xFF
|
||||
_080AA490:
|
||||
asrs r0, 8
|
||||
str r0, [sp, 0x30]
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
ldr r1, [r6, 0x14]
|
||||
adds r0, r1
|
||||
ldr r2, [sp, 0x2C]
|
||||
adds r0, r2
|
||||
ldr r2, _080AA4F4
|
||||
adds r0, r2
|
||||
str r0, [sp, 0x18]
|
||||
mov r1, r10
|
||||
ldr r0, [r1]
|
||||
ldr r1, [r6, 0x18]
|
||||
adds r0, r1
|
||||
ldr r1, [sp, 0x30]
|
||||
adds r0, r1
|
||||
adds r0, r2
|
||||
add r2, sp, 0x18
|
||||
str r0, [r2, 0x4]
|
||||
movs r1, 0xC0
|
||||
lsls r1, 3
|
||||
ldr r0, [sp, 0x18]
|
||||
adds r0, r1
|
||||
str r0, [sp, 0x20]
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r1
|
||||
add r3, sp, 0x20
|
||||
str r0, [r3, 0x4]
|
||||
ldr r0, _080AA4F8
|
||||
mov r9, r0
|
||||
ldr r0, [sp, 0x28]
|
||||
lsls r1, r0, 2
|
||||
add r9, r1
|
||||
mov r0, r9
|
||||
ldr r0, [r0]
|
||||
str r0, [sp, 0x34]
|
||||
ldr r0, _080AA4FC
|
||||
adds r0, r1, r0
|
||||
ldr r0, [r0]
|
||||
str r0, [sp, 0x38]
|
||||
ldr r0, _080AA500
|
||||
adds r1, r0
|
||||
ldr r1, [r1]
|
||||
str r1, [sp, 0x3C]
|
||||
mov r10, r8
|
||||
mov r9, r2
|
||||
mov r8, r3
|
||||
b _080AA568
|
||||
.align 2, 0
|
||||
_080AA4F4: .4byte 0xfffffd00
|
||||
_080AA4F8: .4byte gUnknown_8117FF0
|
||||
_080AA4FC: .4byte gUnknown_8118010
|
||||
_080AA500: .4byte gUnknown_8118030
|
||||
_080AA504:
|
||||
ldr r1, [r6, 0x28]
|
||||
ldr r0, [sp, 0x18]
|
||||
cmp r0, r1
|
||||
bge _080AA50E
|
||||
b _080AA64E
|
||||
_080AA50E:
|
||||
ldr r1, [r6, 0x30]
|
||||
ldr r0, [sp, 0x20]
|
||||
cmp r0, r1
|
||||
blt _080AA518
|
||||
b _080AA64E
|
||||
_080AA518:
|
||||
ldr r1, [r6, 0x2C]
|
||||
mov r2, r9
|
||||
ldr r0, [r2, 0x4]
|
||||
cmp r0, r1
|
||||
bge _080AA524
|
||||
b _080AA64E
|
||||
_080AA524:
|
||||
ldr r1, [r6, 0x34]
|
||||
mov r2, r8
|
||||
ldr r0, [r2, 0x4]
|
||||
cmp r0, r1
|
||||
blt _080AA530
|
||||
b _080AA64E
|
||||
_080AA530:
|
||||
adds r0, r6, 0
|
||||
movs r1, 0xC
|
||||
mov r2, r9
|
||||
mov r3, r8
|
||||
bl sub_80AA2BC
|
||||
adds r7, r0, 0
|
||||
cmp r7, 0x3
|
||||
beq _080AA45E
|
||||
ldr r0, [sp, 0x18]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x18]
|
||||
mov r1, r9
|
||||
ldr r0, [r1, 0x4]
|
||||
adds r0, r5
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, [sp, 0x20]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x20]
|
||||
mov r2, r8
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r5
|
||||
str r0, [r2, 0x4]
|
||||
cmp r7, 0x6
|
||||
beq _080AA572
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
add r10, r0
|
||||
_080AA568:
|
||||
ldr r1, [sp, 0x34]
|
||||
cmp r10, r1
|
||||
blt _080AA504
|
||||
cmp r7, 0x6
|
||||
bne _080AA64E
|
||||
_080AA572:
|
||||
ldr r2, [sp, 0x38]
|
||||
cmp r10, r2
|
||||
bge _080AA5DC
|
||||
_080AA578:
|
||||
ldr r1, [sp, 0x18]
|
||||
ldr r0, [r6, 0x28]
|
||||
cmp r1, r0
|
||||
blt _080AA64E
|
||||
ldr r1, [sp, 0x20]
|
||||
ldr r0, [r6, 0x30]
|
||||
cmp r1, r0
|
||||
bge _080AA64E
|
||||
mov r0, r9
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r6, 0x2C]
|
||||
cmp r1, r0
|
||||
blt _080AA64E
|
||||
mov r2, r8
|
||||
ldr r1, [r2, 0x4]
|
||||
ldr r0, [r6, 0x34]
|
||||
cmp r1, r0
|
||||
bge _080AA64E
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x4
|
||||
mov r2, r9
|
||||
mov r3, r8
|
||||
bl sub_80AA2BC
|
||||
adds r7, r0, 0
|
||||
cmp r7, 0x3
|
||||
bne _080AA5B0
|
||||
b _080AA45E
|
||||
_080AA5B0:
|
||||
ldr r0, [sp, 0x18]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x18]
|
||||
mov r1, r9
|
||||
ldr r0, [r1, 0x4]
|
||||
adds r0, r5
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, [sp, 0x20]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x20]
|
||||
mov r2, r8
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r5
|
||||
str r0, [r2, 0x4]
|
||||
cmp r7, 0x6
|
||||
bne _080AA5E0
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
add r10, r0
|
||||
ldr r1, [sp, 0x38]
|
||||
cmp r10, r1
|
||||
blt _080AA578
|
||||
_080AA5DC:
|
||||
cmp r7, 0x6
|
||||
beq _080AA64E
|
||||
_080AA5E0:
|
||||
movs r2, 0
|
||||
mov r10, r2
|
||||
ldr r0, [sp, 0x3C]
|
||||
cmp r10, r0
|
||||
bge _080AA64E
|
||||
_080AA5EA:
|
||||
ldr r1, [sp, 0x18]
|
||||
ldr r0, [r6, 0x28]
|
||||
cmp r1, r0
|
||||
blt _080AA64E
|
||||
ldr r1, [sp, 0x20]
|
||||
ldr r0, [r6, 0x30]
|
||||
cmp r1, r0
|
||||
bge _080AA64E
|
||||
mov r2, r9
|
||||
ldr r1, [r2, 0x4]
|
||||
ldr r0, [r6, 0x2C]
|
||||
cmp r1, r0
|
||||
blt _080AA64E
|
||||
mov r0, r8
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r6, 0x34]
|
||||
cmp r1, r0
|
||||
bge _080AA64E
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x4
|
||||
mov r2, r9
|
||||
mov r3, r8
|
||||
bl sub_80AA2BC
|
||||
adds r7, r0, 0
|
||||
cmp r7, 0x3
|
||||
bne _080AA622
|
||||
b _080AA45E
|
||||
_080AA622:
|
||||
cmp r7, 0x6
|
||||
beq _080AA64E
|
||||
ldr r0, [sp, 0x18]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x18]
|
||||
mov r1, r9
|
||||
ldr r0, [r1, 0x4]
|
||||
adds r0, r5
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, [sp, 0x20]
|
||||
adds r0, r4
|
||||
str r0, [sp, 0x20]
|
||||
mov r2, r8
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r5
|
||||
str r0, [r2, 0x4]
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
add r10, r0
|
||||
ldr r1, [sp, 0x3C]
|
||||
cmp r10, r1
|
||||
blt _080AA5EA
|
||||
_080AA64E:
|
||||
movs r0, 0
|
||||
_080AA650:
|
||||
add sp, 0x40
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80AA3F8
|
||||
|
||||
thumb_func_start sub_80AA660
|
||||
sub_80AA660:
|
||||
push {r4,lr}
|
||||
|
||||
@@ -1593,7 +1593,7 @@ s32 sub_80A9488(struct unkStruct_3001B84_sub *livesPtr, PixelPos *posArg1, Pixel
|
||||
}
|
||||
|
||||
extern void sub_80AC3E0(s32 id, s32 *a1);
|
||||
|
||||
extern PixelPos SetVecFromDirectionSpeed(s8 r1, u32 r2);
|
||||
|
||||
s32 sub_80A95AC(struct unkStruct_3001B84_sub *livesPtr, PixelPos *posArg1, PixelPos *posArg2)
|
||||
{
|
||||
@@ -1786,4 +1786,301 @@ s32 sub_80A9F20(struct unkStruct_3001B84_sub *livesPtr, PixelPos *pixelPosArg)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80AAF68(struct unkStruct_3001B84_sub *livesPtr, u32 unused);
|
||||
|
||||
s32 sub_80A9F94(struct unkStruct_3001B84_sub *livesPtr, PixelPos *pixelPosArg)
|
||||
{
|
||||
s32 ret;
|
||||
bool8 changed;
|
||||
PixelPos pixPos1, pixPos2;
|
||||
|
||||
pixPos1.x = livesPtr->unk144.x + pixelPosArg->x;
|
||||
pixPos1.y = livesPtr->unk144.y + pixelPosArg->y;
|
||||
|
||||
pixPos2.x = livesPtr->unk14C.x + pixelPosArg->x;
|
||||
pixPos2.y = livesPtr->unk14C.y + pixelPosArg->y;
|
||||
|
||||
changed = FALSE;
|
||||
if (pixPos1.x < livesPtr->unk28.x) {
|
||||
pixPos1.x = livesPtr->unk28.x;
|
||||
pixPos2.x = livesPtr->unk28.x + livesPtr->unkC.x;
|
||||
changed = TRUE;
|
||||
}
|
||||
else if (pixPos2.x >= livesPtr->unk30.x) {
|
||||
pixPos1.x = livesPtr->unk30.x - livesPtr->unkC.x;
|
||||
pixPos2.x = livesPtr->unk30.x;
|
||||
changed = TRUE;
|
||||
}
|
||||
|
||||
if (pixPos1.y < livesPtr->unk28.y) {
|
||||
pixPos1.y = livesPtr->unk28.y;
|
||||
pixPos2.y = livesPtr->unk28.y + livesPtr->unkC.y;
|
||||
changed = TRUE;
|
||||
}
|
||||
else if (pixPos2.y >= livesPtr->unk30.y) {
|
||||
pixPos1.y = livesPtr->unk30.y - livesPtr->unkC.y;
|
||||
pixPos2.y = livesPtr->unk30.y;
|
||||
changed = TRUE;
|
||||
}
|
||||
|
||||
ret = sub_80A9488(livesPtr, &pixPos1, &pixPos2);
|
||||
if (ret != 0) {
|
||||
sub_80AAF68(livesPtr, 0);
|
||||
return ret;
|
||||
}
|
||||
|
||||
livesPtr->unk144 = pixPos1;
|
||||
livesPtr->unk14C = pixPos2;
|
||||
if (changed) {
|
||||
sub_80AAF68(livesPtr, 0);
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
sub_80AAF68(livesPtr, 1);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 sub_80AA074(struct unkStruct_3001B84_sub *livesPtr, PixelPos *pixelPosArg)
|
||||
{
|
||||
s32 ret;
|
||||
PixelPos pixPos1, pixPos2;
|
||||
|
||||
pixPos1.x = livesPtr->unk144.x + pixelPosArg->x;
|
||||
pixPos1.y = livesPtr->unk144.y + pixelPosArg->y;
|
||||
|
||||
pixPos2.x = livesPtr->unk14C.x + pixelPosArg->x;
|
||||
pixPos2.y = livesPtr->unk14C.y + pixelPosArg->y;
|
||||
|
||||
if (pixPos1.x < livesPtr->unk28.x) {
|
||||
pixPos1.x = livesPtr->unk28.x;
|
||||
pixPos2.x = livesPtr->unk28.x + livesPtr->unkC.x;
|
||||
}
|
||||
else if (pixPos2.x >= livesPtr->unk30.x) {
|
||||
pixPos1.x = livesPtr->unk30.x - livesPtr->unkC.x;
|
||||
pixPos2.x = livesPtr->unk30.x;
|
||||
}
|
||||
|
||||
if (pixPos1.y < livesPtr->unk28.y) {
|
||||
pixPos1.y = livesPtr->unk28.y;
|
||||
pixPos2.y = livesPtr->unk28.y + livesPtr->unkC.y;
|
||||
}
|
||||
else if (pixPos2.y >= livesPtr->unk30.y) {
|
||||
pixPos1.y = livesPtr->unk30.y - livesPtr->unkC.y;
|
||||
pixPos2.y = livesPtr->unk30.y;
|
||||
}
|
||||
|
||||
ret = sub_80A95AC(livesPtr, &pixPos1, &pixPos2);
|
||||
if (ret == 0) {
|
||||
livesPtr->unk144 = pixPos1;
|
||||
livesPtr->unk14C = pixPos2;
|
||||
if (livesPtr->unk11C & 0x10) {
|
||||
s32 id = (s16) FindGroundEvent(0x20, &pixPos1, &pixPos2);
|
||||
if (id >= 0) {
|
||||
if (livesPtr->unk13E != id && sub_80A8ACC(livesPtr->unk0, id)) {
|
||||
livesPtr->unk13E = id;
|
||||
ret = 2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
livesPtr->unk13E = -1;
|
||||
}
|
||||
}
|
||||
ASM_MATCH_TRICK(ret);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool8 sub_80AA3F8(struct unkStruct_3001B84_sub *livesPtr, s32 a1);
|
||||
extern s32 sub_80AC554(u32 a0, PixelPos *pixelPosArg1, PixelPos *pixelPosArg2);
|
||||
extern s32 sub_80AC448(s32 id_, PixelPos *pixelPos);
|
||||
extern bool8 sub_80A595C(u32 a0, PixelPos *pixelPosArg1, PixelPos *pixelPosArg2);
|
||||
|
||||
s32 sub_80AA180(struct unkStruct_3001B84_sub *livesPtr, u32 flags, PixelPos *pixelPosArg1, PixelPos *pixelPosArg2)
|
||||
{
|
||||
PixelPos pixPos1, pixPos2;
|
||||
|
||||
if (flags & 4) {
|
||||
s32 id = (s16) sub_80A9344(livesPtr->unk0, 0x80, pixelPosArg1, pixelPosArg2);
|
||||
if (id >= 0) {
|
||||
s32 dir;
|
||||
|
||||
sub_80A8FD8(id, &pixPos1);
|
||||
pixPos2.x = pixPos1.x - (livesPtr->unk144.x + livesPtr->unk14.x);
|
||||
pixPos2.y = pixPos1.y - (livesPtr->unk144.y + livesPtr->unk14.y);
|
||||
dir = VecDirection8Radial(&pixPos2);
|
||||
if (dir != -1) {
|
||||
// s8 memes
|
||||
s8 *dirDst = &livesPtr->unk142;
|
||||
s8 dirS8 = (s8) dir;
|
||||
*dirDst = dirS8;
|
||||
if (livesPtr->unk15D != dirS8) {
|
||||
livesPtr->unk15C = 1;
|
||||
}
|
||||
if (sub_80AA3F8(livesPtr, livesPtr->unk142))
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (flags & 8) {
|
||||
s32 id = (s16) sub_80AC554(0x80, pixelPosArg1, pixelPosArg2);
|
||||
if (id >= 0) {
|
||||
s32 dir;
|
||||
|
||||
sub_80AC448(id, &pixPos1);
|
||||
pixPos2.x = pixPos1.x - (livesPtr->unk144.x + livesPtr->unk14.x);
|
||||
pixPos2.y = pixPos1.y - (livesPtr->unk144.y + livesPtr->unk14.y);
|
||||
dir = VecDirection8Radial(&pixPos2);
|
||||
if (dir != -1) {
|
||||
// s8 memes
|
||||
s8 *dirDst = &livesPtr->unk142;
|
||||
s8 dirS8 = (s8) dir;
|
||||
*dirDst = dirS8;
|
||||
if (livesPtr->unk15D != dirS8) {
|
||||
livesPtr->unk15C = 1;
|
||||
}
|
||||
if (sub_80AA3F8(livesPtr, livesPtr->unk142))
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 sub_80AA2BC(struct unkStruct_3001B84_sub *livesPtr, u32 flags, PixelPos *pixelPosArg1, PixelPos *pixelPosArg2)
|
||||
{
|
||||
PixelPos pixPos1, pixPos2, pixPos3;
|
||||
PixelPos posTemp;
|
||||
PixelPos pixPos4;
|
||||
|
||||
pixPos1 = *pixelPosArg1;
|
||||
pixPos3 = *pixelPosArg2;
|
||||
|
||||
pixPos2.x = pixPos1.x / 2048;
|
||||
pixPos2.y = pixPos1.y / 2048;
|
||||
posTemp = (PixelPos) {((pixPos3.x - 1) / 2048), ((pixPos3.y - 1) / 2048)};
|
||||
pixPos4 = (PixelPos) {(posTemp.x- pixPos2.x) + 1, (posTemp.y -pixPos2.y) + 1};
|
||||
|
||||
if (flags & 4) {
|
||||
s32 id2 = (s16) GetLivesCollision_80A92A0(livesPtr->unk0, 0x80, &pixPos1, &pixPos3);
|
||||
if (id2 >= 0) {
|
||||
struct unkStruct_3001B84_sub *ptr2 = &gGroundLives->array[id2];
|
||||
if (ptr2->unk11C & 0x200) {
|
||||
ptr2->unk142 = sub_8002984(livesPtr->unk142, 5);
|
||||
}
|
||||
if (GroundLives_ExecutePlayerScriptActionLives(livesPtr->unk0, id2))
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
if (flags & 8) {
|
||||
s32 id2 = (s16) sub_80AC4C8(0x80, &pixPos1, &pixPos3);
|
||||
if (id2 >= 0) {
|
||||
if (sub_80A8A5C(livesPtr->unk0, id2))
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
if (sub_80A595C(0x10, &pixPos2, &pixPos4)) {
|
||||
return 6;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern const s32 gUnknown_8117FF0[];
|
||||
extern const s32 gUnknown_8118010[];
|
||||
extern const s32 gUnknown_8118030[];
|
||||
|
||||
bool8 sub_80AA3F8(struct unkStruct_3001B84_sub *livesPtr, s32 a1_)
|
||||
{
|
||||
s32 i;
|
||||
s32 a1 = (s8) a1_;
|
||||
PixelPos pixPos1 = SetVecFromDirectionSpeed(a1, 0x100);
|
||||
PixelPos pixPos2 = { livesPtr->unk144.x + pixPos1.x, livesPtr->unk144.y + pixPos1.y };
|
||||
PixelPos pixPos3 = { livesPtr->unk14C.x + pixPos1.x, livesPtr->unk14C.y + pixPos1.y };
|
||||
PixelPos pixPos4, pixPos5, pixPos6;
|
||||
s32 r7 = sub_80AA2BC(livesPtr, 0xC, &pixPos2, &pixPos3);
|
||||
s32 var_2C, var_28, var_24;
|
||||
|
||||
if (r7 == 3)
|
||||
return TRUE;
|
||||
|
||||
pixPos6.x = (((livesPtr->unkC.x / 2) + 0x200) * pixPos1.x) / 256;
|
||||
pixPos6.y = (((livesPtr->unkC.y / 2) + 0x200) * pixPos1.y) / 256;
|
||||
|
||||
pixPos4.x = (livesPtr->unk144.x + livesPtr->unk14.x + pixPos6.x) - 768;
|
||||
pixPos4.y = (livesPtr->unk144.y + livesPtr->unk14.y + pixPos6.y) - 768;
|
||||
|
||||
pixPos5 = (PixelPos) { pixPos4.x + 0x600, pixPos4.y + 0x600};
|
||||
|
||||
var_2C = gUnknown_8117FF0[a1];
|
||||
var_28 = gUnknown_8118010[a1];
|
||||
var_24 = gUnknown_8118030[a1];
|
||||
|
||||
for (i = 0x200; i < var_2C; i += 0x100) {
|
||||
if (pixPos4.x < livesPtr->unk28.x || pixPos5.x >= livesPtr->unk30.x)
|
||||
return FALSE;
|
||||
if (pixPos4.y < livesPtr->unk28.y || pixPos5.y >= livesPtr->unk30.y)
|
||||
return FALSE;
|
||||
|
||||
r7 = sub_80AA2BC(livesPtr, 0xC, &pixPos4, &pixPos5);
|
||||
if (r7 == 3)
|
||||
return TRUE;
|
||||
|
||||
pixPos4.x += pixPos1.x;
|
||||
pixPos4.y += pixPos1.y;
|
||||
pixPos5.x += pixPos1.x;
|
||||
pixPos5.y += pixPos1.y;
|
||||
|
||||
if (r7 == 6)
|
||||
break;
|
||||
}
|
||||
if (r7 != 6)
|
||||
return FALSE;
|
||||
|
||||
for (; i < var_28; i += 0x100) {
|
||||
if (pixPos4.x < livesPtr->unk28.x || pixPos5.x >= livesPtr->unk30.x)
|
||||
return FALSE;
|
||||
if (pixPos4.y < livesPtr->unk28.y || pixPos5.y >= livesPtr->unk30.y)
|
||||
return FALSE;
|
||||
|
||||
r7 = sub_80AA2BC(livesPtr, 4, &pixPos4, &pixPos5);
|
||||
if (r7 == 3)
|
||||
return TRUE;
|
||||
|
||||
pixPos4.x += pixPos1.x;
|
||||
pixPos4.y += pixPos1.y;
|
||||
pixPos5.x += pixPos1.x;
|
||||
pixPos5.y += pixPos1.y;
|
||||
|
||||
if (r7 != 6)
|
||||
break;
|
||||
}
|
||||
if (r7 == 6)
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i < var_24; i += 0x100) {
|
||||
if (pixPos4.x < livesPtr->unk28.x || pixPos5.x >= livesPtr->unk30.x)
|
||||
return FALSE;
|
||||
if (pixPos4.y < livesPtr->unk28.y || pixPos5.y >= livesPtr->unk30.y)
|
||||
return FALSE;
|
||||
|
||||
r7 = sub_80AA2BC(livesPtr, 4, &pixPos4, &pixPos5);
|
||||
if (r7 == 3)
|
||||
return TRUE;
|
||||
if (r7 == 6)
|
||||
return FALSE;
|
||||
|
||||
pixPos4.x += pixPos1.x;
|
||||
pixPos4.y += pixPos1.y;
|
||||
pixPos5.x += pixPos1.x;
|
||||
pixPos5.y += pixPos1.y;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user