diff --git a/asm/non_matching/moldorm/sub_08022EAC.inc b/asm/non_matching/moldorm/sub_08022EAC.inc deleted file mode 100644 index ca3bce96..00000000 --- a/asm/non_matching/moldorm/sub_08022EAC.inc +++ /dev/null @@ -1,60 +0,0 @@ - - .syntax unified - - .text - - push {r4, r5, lr} - mov ip, r0 - ldr r1, [r0, #0x54] - cmp r1, #0 - beq _08022F12 - ldr r0, [r0, #0x50] - adds r0, #0x79 - ldrb r0, [r0] - movs r4, #7 - adds r3, r4, #0 - ands r3, r0 - adds r3, r3, r1 - adds r3, #0x7c - mov r0, ip - ldrh r1, [r0, #0x2e] - adds r0, #0x74 - ldrb r0, [r0] - subs r1, r1, r0 - adds r1, #8 - movs r5, #0xf - ands r1, r5 - mov r2, ip - ldrh r0, [r2, #0x32] - adds r2, #0x76 - ldrb r2, [r2] - subs r0, r0, r2 - adds r0, #8 - ands r0, r5 - lsls r0, r0, #4 - adds r1, r1, r0 - strb r1, [r3] - mov r1, ip - ldr r0, [r1, #0x50] - adds r0, #0x79 - ldrb r1, [r0] - adds r0, r4, #0 - ands r0, r1 - lsls r0, r0, #2 - mov r2, ip - ldrb r1, [r2, #0x14] - ands r4, r1 - lsls r4, r0 - movs r2, #0xf - lsls r2, r0 - mov r0, ip - ldr r1, [r0, #0x54] - adds r1, #0x84 - ldr r0, [r1] - bics r0, r2 - orrs r4, r0 - str r4, [r1] -_08022F12: - pop {r4, r5, pc} - - .syntax divided diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c index a03a934c..f212fa29 100644 --- a/src/enemy/moldorm.c +++ b/src/enemy/moldorm.c @@ -175,21 +175,20 @@ NONMATCH("asm/non_matching/moldorm/sub_08022E40.inc", void sub_08022E40(Entity* } END_NONMATCH -NONMATCH("asm/non_matching/moldorm/sub_08022EAC.inc", void sub_08022EAC(Entity* this)) { +void sub_08022EAC(Entity* this) { int iVar1; u32 tmp; u32 tmp2; if (this->child != NULL) { tmp2 = ((this->parent->field_0x78.HALF.HI) & 7); - ((u8*)&this->child->field_0x7c)[tmp2] = ((this->x.HALF_U.HI - this->field_0x74.HALF.LO + 8) & (0xf)) + - ((this->y.HALF_U.HI - this->field_0x76.HALF.LO + 8) /*& 0xf*/) * 0x10; + ((u8*)&this->child->field_0x7c)[tmp2] = ((this->x.HALF_U.HI - this->field_0x74.HALF.LO + 8) & 0xf) + + ((u32)((this->y.HALF_U.HI - this->field_0x76.HALF.LO + 8) & 0xf) << 4); iVar1 = ((this->parent->field_0x78.HALF.HI) & 7) << 2; tmp = (this->animationState & 7) << iVar1; tmp |= ~(0xf << iVar1) & (*(u32*)&this->child->cutsceneBeh); *(u32*)&this->child->cutsceneBeh = tmp; } } -END_NONMATCH void sub_08022F14(Entity* this) { if (sub_08049FA0(this) == 0) {