summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornotyourav <65437533+notyourav@users.noreply.github.com>2021-12-30 10:32:32 -0800
committerGitHub <noreply@github.com>2021-12-30 10:32:32 -0800
commit1b585d2fbe12969fec120498da72a0e8fd06f3c7 (patch)
tree9ff71ef000d7377f428a35e79d1bd89823a90c80 /src
parent3a2172db8d67cc72bbd098566a2146e43439c3f8 (diff)
parent0b829b13bde36e712b684c0eed07eaee541685c9 (diff)
Merge pull request #229 from hatal175/puff
Diffstat (limited to 'src')
-rw-r--r--src/enemy/puffstool.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c
index 2641033f..93ac0dca 100644
--- a/src/enemy/puffstool.c
+++ b/src/enemy/puffstool.c
@@ -4,7 +4,7 @@
extern u32 sub_080002E0(u32, u32);
extern u32 sub_080002C8(u16, u8);
-extern u16 sub_080002D4(u32, u32, u32);
+extern u8 sub_080002D4(u32, u32, u32);
extern void sub_0804AA1C(Entity*);
extern Entity* sub_08049DF4(u32);
@@ -465,19 +465,22 @@ bool32 sub_080258C4(Entity* this) {
}
}
+// regalloc
NONMATCH("asm/non_matching/puffstool/sub_0802594C.inc", bool32 sub_0802594C(Entity* this, u32 param_2)) {
+ s16 xDiff;
+ s16 yDiff;
const s8* unk = gUnk_080CC090[param_2];
u32 uVar1 = this->collisionLayer;
RoomControls* ctrl = &gRoomControls;
- u16 xDiff = (this->x.HALF.HI - ctrl->roomOriginX + 8) & -0x10;
- u16 yDiff = (this->y.HALF.HI - ctrl->roomOriginY + 8) & -0x10;
+ xDiff = (this->x.HALF.HI - ctrl->roomOriginX + 8) & -0x10;
+ yDiff = (this->y.HALF.HI - ctrl->roomOriginY + 8) & -0x10;
do {
- u16 iVar9 = xDiff + unk[0];
- u16 iVar11 = yDiff + unk[1];
- u32 bVar4 = sub_080002D4(iVar9 - 0x00, iVar11 - 0x00, uVar1);
- u32 bVar5 = sub_080002D4(iVar9 - 0x10, iVar11 - 0x00, uVar1);
- u32 bVar6 = sub_080002D4(iVar9 - 0x00, iVar11 - 0x10, uVar1);
- u32 bVar7 = sub_080002D4(iVar9 - 0x10, iVar11 - 0x10, uVar1);
+ s16 iVar9 = xDiff + unk[0];
+ s16 iVar11 = yDiff + unk[1];
+ u8 bVar4 = sub_080002D4(iVar9 - 0x00, iVar11 - 0x00, uVar1);
+ u8 bVar5 = sub_080002D4(iVar9 - 0x10, iVar11 - 0x00, uVar1);
+ u8 bVar6 = sub_080002D4(iVar9 - 0x00, iVar11 - 0x10, uVar1);
+ u8 bVar7 = sub_080002D4(iVar9 - 0x10, iVar11 - 0x10, uVar1);
if ((bVar6 | bVar4 | bVar5 | bVar7) == 0) {
this->field_0x7c.HALF.LO = ctrl->roomOriginX + iVar9;
this->field_0x7c.HALF.HI = ctrl->roomOriginY + iVar11;