mirror of https://github.com/zeldaret/tmc.git
Match sub_08027C9C
This commit is contained in:
parent
c31e523629
commit
4c4188671b
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue