Three-direction get-running-past-facing callbacks

This commit is contained in:
PikalaxALT 2017-09-13 20:26:08 -04:00
parent 6b906d95b9
commit c1f5183f40
2 changed files with 48 additions and 132 deletions

View file

@ -5,138 +5,6 @@
.text
thumb_func_start sub_808F7CC
sub_808F7CC: @ 808F7CC
push {r4-r7,lr}
lsls r0, 16
asrs r7, r0, 16
lsls r1, 16
asrs r6, r1, 16
lsls r2, 16
asrs r5, r2, 16
lsls r3, 16
asrs r4, r3, 16
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetRegularRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x4
bne _0808F802
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetNorthSouthRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
_0808F802:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_808F7CC
thumb_func_start sub_808F808
sub_808F808: @ 808F808
push {r4-r7,lr}
lsls r0, 16
asrs r7, r0, 16
lsls r1, 16
asrs r6, r1, 16
lsls r2, 16
asrs r5, r2, 16
lsls r3, 16
asrs r4, r3, 16
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetRegularRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
bne _0808F83E
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetNorthSouthRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
_0808F83E:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_808F808
thumb_func_start sub_808F844
sub_808F844: @ 808F844
push {r4-r7,lr}
lsls r0, 16
asrs r7, r0, 16
lsls r1, 16
asrs r6, r1, 16
lsls r2, 16
asrs r5, r2, 16
lsls r3, 16
asrs r4, r3, 16
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetRegularRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0808F87A
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetEastWestRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
_0808F87A:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_808F844
thumb_func_start sub_808F880
sub_808F880: @ 808F880
push {r4-r7,lr}
lsls r0, 16
asrs r7, r0, 16
lsls r1, 16
asrs r6, r1, 16
lsls r2, 16
asrs r5, r2, 16
lsls r3, 16
asrs r4, r3, 16
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetRegularRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bne _0808F8B6
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl GetEastWestRunningPastFacingDirection
lsls r0, 24
lsrs r0, 24
_0808F8B6:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_808F880
thumb_func_start sub_808F8BC
sub_808F8BC: @ 808F8BC
push {r4-r6,lr}

View file

@ -1975,3 +1975,51 @@ u8 GetSouthWestRunningPastFacingDirection(s16 dx1, s16 dy1, s16 dx2, s16 dy2)
}
return direction;
}
u8 GetNonEastRunningPastFacingDirection(s16 dx1, s16 dy1, s16 dx2, s16 dy2)
{
u8 direction;
direction = GetRegularRunningPastFacingDirection(dx1, dy1, dx2, dy2);
if (direction == DIR_EAST)
{
direction = GetNorthSouthRunningPastFacingDirection(dx1, dy1, dx2, dy2);
}
return direction;
}
u8 GetNonWestRunningPastFacingDirection(s16 dx1, s16 dy1, s16 dx2, s16 dy2)
{
u8 direction;
direction = GetRegularRunningPastFacingDirection(dx1, dy1, dx2, dy2);
if (direction == DIR_WEST)
{
direction = GetNorthSouthRunningPastFacingDirection(dx1, dy1, dx2, dy2);
}
return direction;
}
u8 GetNonSouthRunningPastFacingDirection(s16 dx1, s16 dy1, s16 dx2, s16 dy2)
{
u8 direction;
direction = GetRegularRunningPastFacingDirection(dx1, dy1, dx2, dy2);
if (direction == DIR_SOUTH)
{
direction = GetEastWestRunningPastFacingDirection(dx1, dy1, dx2, dy2);
}
return direction;
}
u8 GetNonNorthRunningPastFacingDirection(s16 dx1, s16 dy1, s16 dx2, s16 dy2)
{
u8 direction;
direction = GetRegularRunningPastFacingDirection(dx1, dy1, dx2, dy2);
if (direction == DIR_NORTH)
{
direction = GetEastWestRunningPastFacingDirection(dx1, dy1, dx2, dy2);
}
return direction;
}