summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotyourav <65437533+notyourav@users.noreply.github.com>2022-01-11 19:56:16 -0800
committerGitHub <noreply@github.com>2022-01-11 19:56:16 -0800
commit3ba9461b08ae48ec8549f8ea010ea7e6855ad2f0 (patch)
treee14295a885643a1bd33de6f58193a04160bb1079
parent5512cfb997276f9363d447579f89a089892822b0 (diff)
parentc147c561514777c0d51e3b8c0ed5ba0d421b5c5d (diff)
Merge pull request #287 from nonmatch/patch-23
Match sub_0803A188
-rw-r--r--asm/non_matching/mazaal/sub_0803A188.inc105
-rw-r--r--src/enemy/mazaalBracelet.c26
2 files changed, 13 insertions, 118 deletions
diff --git a/asm/non_matching/mazaal/sub_0803A188.inc b/asm/non_matching/mazaal/sub_0803A188.inc
deleted file mode 100644
index a1161bd4..00000000
--- a/asm/non_matching/mazaal/sub_0803A188.inc
+++ /dev/null
@@ -1,105 +0,0 @@
-
- .syntax unified
-
- push {r4, r5, lr}
- adds r4, r0, #0
- ldrb r3, [r4, #0xa]
- cmp r3, #1
- bhi _0803A23E
- ldrb r0, [r4, #0xc]
- cmp r0, #0x2b
- beq _0803A210
- adds r0, r4, #0
- adds r0, #0x3d
- movs r1, #0
- ldrsb r1, [r0, r1]
- adds r5, r0, #0
- cmp r1, #0
- ble _0803A23E
- adds r0, #4
- ldrb r0, [r0]
- cmp r0, #0x95
- beq _0803A1B2
- cmp r0, #0x8e
- bne _0803A23E
-_0803A1B2:
- movs r0, #0x28
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r4, #0x10]
- ldr r2, [r4, #0x50]
- adds r0, r2, #0
- adds r0, #0x7d
- ldrb r1, [r0]
- cmp r3, #0
- bne _0803A1CE
- movs r0, #1
- b _0803A1D0
-_0803A1CE:
- movs r0, #2
-_0803A1D0:
- orrs r1, r0
- adds r0, r2, #0
- adds r0, #0x7d
- strb r1, [r0]
- adds r0, #3
- ldrb r2, [r0]
- ldrb r1, [r4, #0xa]
- adds r3, r0, #0
- cmp r1, #0
- bne _0803A1E8
- movs r0, #1
- b _0803A1EA
-_0803A1E8:
- movs r0, #2
-_0803A1EA:
- orrs r0, r2
- strb r0, [r3]
- ldr r2, [r4, #0x54]
- ldrb r1, [r5]
- adds r0, r2, #0
- adds r0, #0x3d
- strb r1, [r0]
- ldr r2, [r4, #0x74]
- ldrb r1, [r5]
- adds r0, r2, #0
- adds r0, #0x3d
- strb r1, [r0]
- ldr r0, _0803A20C @ =0x00000127
- bl SoundReq
- b _0803A23E
- .align 2, 0
-_0803A20C: .4byte 0x00000127
-_0803A210:
- ldr r2, [r4, #0x54]
- adds r3, r4, #0
- adds r3, #0x3d
- ldrb r1, [r3]
- adds r0, r2, #0
- adds r0, #0x3d
- strb r1, [r0]
- ldr r2, [r4, #0x74]
- ldrb r1, [r3]
- adds r0, r2, #0
- adds r0, #0x3d
- strb r1, [r0]
- adds r0, r4, #0
- movs r1, #0x18
- bl InitializeAnimation
- ldr r0, [r4, #0x54]
- movs r1, #9
- bl InitAnimationForceUpdate
- ldr r0, _0803A248 @ =0x00000127
- bl SoundReq
-_0803A23E:
- ldr r1, _0803A24C @ =gUnk_080CFC14
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, r5, pc}
- .align 2, 0
-_0803A248: .4byte 0x00000127
-_0803A24C: .4byte gUnk_080CFC14
-
- .syntax divided
diff --git a/src/enemy/mazaalBracelet.c b/src/enemy/mazaalBracelet.c
index f976a2e7..e2254ca2 100644
--- a/src/enemy/mazaalBracelet.c
+++ b/src/enemy/mazaalBracelet.c
@@ -137,27 +137,28 @@ void sub_0803A170(Entity* this) {
gUnk_080CFC2C[this->type](this);
}
-NONMATCH("asm/non_matching/mazaal/sub_0803A188.inc", void sub_0803A188(Entity* this)) {
- Entity* pEVar3;
- Entity* entity74;
+void sub_0803A188(Entity* this) {
+ Entity* ent;
if (this->type < 2) {
if (this->action != 0x2b) {
if ((0 < this->iframes) && ((this->bitfield == 0x95 || (this->bitfield == 0x8e)))) {
this->action = 0x28;
COLLISION_OFF(this);
- pEVar3 = this->parent;
- pEVar3->field_0x7c.BYTES.byte1 = pEVar3->field_0x7c.BYTES.byte1 | (this->type == 0 ? 1 : 2);
- pEVar3->field_0x80.HALF.LO = (this->type == 0 ? 1 : 2) | pEVar3->field_0x80.HALF.LO;
- this->child->iframes = this->iframes;
- entity74 = *(Entity**)&this->field_0x74;
- entity74->iframes = this->iframes;
+ ent = this->parent;
+ ent->field_0x7c.BYTES.byte1 = ent->field_0x7c.BYTES.byte1 | (this->type == 0 ? 1 : 2);
+ ent->field_0x80.HALF.LO = (this->type == 0 ? 1 : 2) | ent->field_0x80.HALF.LO;
+ ent = this->child;
+ ent->iframes = this->iframes;
+ ent = (*(Entity**)&this->field_0x74);
+ ent->iframes = this->iframes;
SoundReq(SFX_BOSS_HIT);
}
} else {
- this->child->iframes = this->iframes;
- entity74 = *(Entity**)&this->field_0x74;
- entity74->iframes = this->iframes;
+ ent = this->child;
+ ent->iframes = this->iframes;
+ ent = (*(Entity**)&this->field_0x74);
+ ent->iframes = this->iframes;
InitializeAnimation(this, 0x18);
InitAnimationForceUpdate(this->child, 9);
SoundReq(SFX_BOSS_HIT);
@@ -165,7 +166,6 @@ NONMATCH("asm/non_matching/mazaal/sub_0803A188.inc", void sub_0803A188(Entity* t
}
sub_0804AA30(this, gUnk_080CFC14);
}
-END_NONMATCH
void nullsub_167(Entity* this) {
}