Match sub_08027C9C

This commit is contained in:
Tal Hayon 2022-07-19 05:10:00 +03:00
parent c31e523629
commit 4c4188671b
2 changed files with 15 additions and 63 deletions

View File

@ -18,69 +18,6 @@
thumb_func_start sub_08027C9C
sub_08027C9C: @ 0x08027C9C
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
bl Random
ands r0, r4
cmp r0, #0
bne _08027D1E
adds r0, r5, #0
movs r1, #0x48
movs r2, #0
bl CreateFx
adds r4, r0, #0
cmp r4, #0
beq _08027D1E
adds r0, r5, #0
adds r0, #0x62
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
ldr r1, [r5, #0x48]
ldrb r1, [r1, #6]
subs r0, r0, r1
ldrh r1, [r4, #0x2e]
adds r0, r0, r1
strh r0, [r4, #0x2e]
bl Random
ldr r1, [r5, #0x48]
ldrb r1, [r1, #6]
lsls r1, r1, #1
bl __modsi3
ldrh r1, [r4, #0x2e]
adds r1, r1, r0
strh r1, [r4, #0x2e]
adds r0, r5, #0
adds r0, #0x63
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
ldr r1, [r5, #0x48]
ldrb r1, [r1, #7]
subs r0, r0, r1
ldrh r1, [r4, #0x32]
adds r0, r0, r1
strh r0, [r4, #0x32]
bl Random
ldr r1, [r5, #0x48]
ldrb r1, [r1, #7]
lsls r1, r1, #1
bl __modsi3
ldrh r1, [r4, #0x32]
adds r1, r1, r0
strh r1, [r4, #0x32]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
strb r0, [r2]
_08027D1E:
pop {r4, r5, pc}
thumb_func_start sub_08027D20
sub_08027D20: @ 0x08027D20

View File

@ -1806,3 +1806,18 @@ void sub_08027C7C(ChuchuBossEntity* this, u32 param_2) {
sub_08027C9C(this->unk_68, param_2);
sub_08027C9C(super->parent, param_2);
}
void sub_08027C9C(ChuchuBossEntity* this, u32 param_2) {
Entity* fxEnt;
if ((Random() & param_2) == 0) {
fxEnt = CreateFx(super, FX_GIANT_EXPLOSION3, 0);
if (fxEnt != NULL) {
fxEnt->x.HALF.HI = ((s8)super->spriteOffsetX - super->hitbox->width) + fxEnt->x.HALF.HI;
fxEnt->x.HALF.HI += ((s32)Random()) % (super->hitbox->width << 1);
fxEnt->y.HALF.HI += ((short)super->spriteOffsetY - super->hitbox->height);
fxEnt->y.HALF.HI += ((s32)Random()) % (super->hitbox->height << 1);
fxEnt->spritePriority.b0 = 0;
}
}
}