summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTal Hayon <talhayon1@gmail.com>2022-07-04 18:31:01 +0300
committerTal Hayon <talhayon1@gmail.com>2022-07-04 18:31:01 +0300
commit304635114480116f217a8c9e2b176a9fa01b61df (patch)
tree68cbe72dec959920e7405e122389fd8c61f856ac /src
parent9d01adaa617c77f7527f7cea318cc49c09760125 (diff)
Match sub_0807A500
Diffstat (limited to 'src')
-rw-r--r--src/playerUtils.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/playerUtils.c b/src/playerUtils.c
index 8a7a140f..2d2536c1 100644
--- a/src/playerUtils.c
+++ b/src/playerUtils.c
@@ -1830,7 +1830,23 @@ bool32 sub_0807A2B8(void) {
ASM_FUNC("asm/non_matching/playerUtils/sub_0807A2F8.inc", u32 sub_0807A2F8(u32 a1))
-ASM_FUNC("asm/non_matching/playerUtils/sub_0807A500.inc", u32 sub_0807A500())
+u32 sub_0807A500(void) {
+ switch (gPlayerEntity.animationState >> 1) {
+ case 0:
+ return TILE(gPlayerEntity.x.HALF.HI,
+ gPlayerEntity.y.HALF.HI - gPlayerEntity.hitbox->unk2[3] + gPlayerEntity.hitbox->offset_y);
+ case 2:
+ return TILE(gPlayerEntity.x.HALF.HI,
+ gPlayerEntity.y.HALF.HI + gPlayerEntity.hitbox->unk2[3] + gPlayerEntity.hitbox->offset_y);
+ case 1:
+ return COORD_TO_TILE_OFFSET(&gPlayerEntity, -gPlayerEntity.hitbox->unk2[0],
+ -gPlayerEntity.hitbox->offset_y);
+ case 3:
+ return COORD_TO_TILE_OFFSET(&gPlayerEntity, gPlayerEntity.hitbox->unk2[0], -gPlayerEntity.hitbox->offset_y);
+ default:
+ return 0;
+ }
+}
ASM_FUNC("asm/non_matching/playerUtils/sub_0807A5B8.inc", void sub_0807A5B8(u32 a))