mirror of https://github.com/zeldaret/tmc.git
Match sub_0807A8D8
This commit is contained in:
parent
3b6826ee68
commit
68fa893dc0
|
|
@ -1,209 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _0807AA5C @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0807A8F0
|
||||
b _0807A9F6
|
||||
_0807A8F0:
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
ldr r7, _0807AA60 @ =gRoomControls
|
||||
ldrh r1, [r7, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
movs r6, #0x3f
|
||||
ands r0, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
adds r2, #1
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
ldr r1, _0807AA64 @ =gPlayerEntity
|
||||
adds r1, #0x38
|
||||
mov sb, r1
|
||||
ldrb r1, [r1]
|
||||
bl sub_080B1B84
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x20
|
||||
mov r8, r0
|
||||
ands r4, r0
|
||||
cmp r4, #0
|
||||
beq _0807A94E
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrh r0, [r7, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
adds r2, #1
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
adds r0, r5, #0
|
||||
bl sub_0807AAF8
|
||||
_0807A94E:
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
ldrh r1, [r7, #6]
|
||||
subs r1, #2
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
mov r2, sb
|
||||
ldrb r1, [r2]
|
||||
bl sub_080B1B84
|
||||
adds r4, r0, #0
|
||||
mov r0, r8
|
||||
ands r4, r0
|
||||
cmp r4, #0
|
||||
beq _0807A9A2
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrh r0, [r7, #6]
|
||||
subs r0, #2
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
adds r0, r5, #0
|
||||
bl sub_0807AAF8
|
||||
_0807A9A2:
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
ldrh r1, [r7, #6]
|
||||
adds r1, #2
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
mov r2, sb
|
||||
ldrb r1, [r2]
|
||||
bl sub_080B1B84
|
||||
adds r4, r0, #0
|
||||
mov r0, r8
|
||||
ands r4, r0
|
||||
cmp r4, #0
|
||||
beq _0807A9F6
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrh r0, [r7, #6]
|
||||
adds r0, #2
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
adds r0, r5, #0
|
||||
bl sub_0807AAF8
|
||||
_0807A9F6:
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
ldr r7, _0807AA60 @ =gRoomControls
|
||||
ldrh r1, [r7, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
movs r6, #0x3f
|
||||
ands r0, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
ldr r1, _0807AA64 @ =gPlayerEntity
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl sub_080B1B84
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x20
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _0807AA4C
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r5, r0]
|
||||
ldrh r0, [r7, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
ands r1, r6
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r5, r2]
|
||||
ldrh r2, [r7, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r6
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
adds r0, r5, #0
|
||||
bl sub_0807AAF8
|
||||
_0807AA4C:
|
||||
movs r0, #2
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _0807AA68
|
||||
adds r0, r5, #0
|
||||
bl sub_0807AABC
|
||||
b _0807AA76
|
||||
.align 2, 0
|
||||
_0807AA5C: .4byte gPlayerState
|
||||
_0807AA60: .4byte gRoomControls
|
||||
_0807AA64: .4byte gPlayerEntity
|
||||
_0807AA68:
|
||||
movs r0, #4
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _0807AA76
|
||||
adds r0, r5, #0
|
||||
bl sub_0807AA80
|
||||
_0807AA76:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
|
|
@ -1812,20 +1812,20 @@ u32 sub_0807A894(Entity* this) {
|
|||
void nullsub_505(void) {
|
||||
}
|
||||
|
||||
NONMATCH("asm/non_matching/playerUtils/sub_0807A8D8.inc", void sub_0807A8D8(Entity* this)) {
|
||||
void sub_0807A8D8(Entity* this) {
|
||||
u32 tmp;
|
||||
|
||||
if ((gPlayerState.flags & PL_MINISH) == 0) {
|
||||
tmp = sub_080B1B84(COORD_TO_TILE_OFFSET(this, 0, 1), gPlayerEntity.collisionLayer) & 0x20;
|
||||
if (tmp != 0) {
|
||||
tmp = sub_080B1B84(COORD_TO_TILE_OFFSET(this, 0, 1), gPlayerEntity.collisionLayer);
|
||||
if ((tmp & 0x20) != 0) {
|
||||
sub_0807AAF8(this, COORD_TO_TILE_OFFSET(this, 0, 1));
|
||||
}
|
||||
tmp = sub_080B1B84(COORD_TO_TILE_OFFSET(this, -2, 0), gPlayerEntity.collisionLayer) & 0x20;
|
||||
if (tmp != 0) {
|
||||
tmp = sub_080B1B84(COORD_TO_TILE_OFFSET(this, -2, 0), gPlayerEntity.collisionLayer);
|
||||
if ((tmp & 0x20) != 0) {
|
||||
sub_0807AAF8(this, COORD_TO_TILE_OFFSET(this, -2, 0));
|
||||
}
|
||||
tmp = sub_080B1B84(COORD_TO_TILE_OFFSET(this, 2, 0), gPlayerEntity.collisionLayer) & 0x20;
|
||||
if (tmp != 0) {
|
||||
tmp = sub_080B1B84(COORD_TO_TILE_OFFSET(this, 2, 0), gPlayerEntity.collisionLayer);
|
||||
if ((tmp & 0x20) != 0) {
|
||||
sub_0807AAF8(this, COORD_TO_TILE_OFFSET(this, 2, 0));
|
||||
}
|
||||
}
|
||||
|
|
@ -1841,7 +1841,6 @@ NONMATCH("asm/non_matching/playerUtils/sub_0807A8D8.inc", void sub_0807A8D8(Enti
|
|||
}
|
||||
}
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
void sub_0807AA80(Entity* this) {
|
||||
if (((gPlayerState.flags & PL_HIDDEN) == 0) && (this->collisionLayer = 2, this->z.HALF.HI == 0)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue