Three-direction get-running-past-facing callbacks
This commit is contained in:
parent
6b906d95b9
commit
c1f5183f40
2 changed files with 48 additions and 132 deletions
|
@ -5,138 +5,6 @@
|
||||||
|
|
||||||
.text
|
.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
|
thumb_func_start sub_808F8BC
|
||||||
sub_808F8BC: @ 808F8BC
|
sub_808F8BC: @ 808F8BC
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
|
|
|
@ -1975,3 +1975,51 @@ u8 GetSouthWestRunningPastFacingDirection(s16 dx1, s16 dy1, s16 dx2, s16 dy2)
|
||||||
}
|
}
|
||||||
return direction;
|
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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue