diff --git a/asm/non_matching/acroBandits/sub_080322E8.inc b/asm/non_matching/acroBandits/sub_080322E8.inc deleted file mode 100644 index 6c4a775b..00000000 --- a/asm/non_matching/acroBandits/sub_080322E8.inc +++ /dev/null @@ -1,48 +0,0 @@ - - .syntax unified - - .text - - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x78 - ldrb r0, [r2] - cmp r0, #0 - beq _08032316 - subs r0, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032334 - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x19 - lsrs r1, r1, #0x1f - movs r0, #1 - eors r1, r0 - lsls r1, r1, #6 - subs r0, #0x42 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - b _08032334 -_08032316: - ldrb r1, [r3, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08032334 - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - ldrb r0, [r3, #0x18] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x1f - cmp r1, r0 - beq _08032334 - movs r0, #6 - strb r0, [r2] -_08032334: - pop {pc} - .align 2, 0 - .syntax divided diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index b183b93f..f209bdbb 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -545,25 +545,24 @@ u32 sub_080322A4(Entity* this) { return 0; } -#if NON_MATCHING void sub_080322E8(Entity* this) { + u8 tmp; if (this->field_0x78.HALF.LO) { if (--this->field_0x78.HALF.LO == 0) { - this->spriteSettings.b.flipX = this->spriteOrientation.flipX; + u32 flipX = this->spriteSettings.b.flipX; + this->spriteSettings.b.flipX = flipX ^ 1; } } else { - if ((this->direction & 0xf) && - ((this->direction >> 4 ^ 1) != -((int)((u32)this->spriteSettings.raw << 0x19) >> 0x1f))) { - this->field_0x78.HALF.LO = 6; + tmp = this->direction; + if (tmp & 0xF) { + tmp >>= 4; + tmp ^= 1; + if (tmp != this->spriteSettings.b.flipX) { + this->field_0x78.HALF.LO = 6; + } } } } -#else -NAKED -void sub_080322E8(Entity* this) { - asm(".include \"asm/non_matching/acroBandits/sub_080322E8.inc\""); -} -#endif void sub_08032338(Entity *this) { if ((((Entity*)this->field_0x7c.WORD)->actionDelay += 15) != 80)