Skip to content

Commit 50c9dbb

Browse files
sub_806DD34 matched by testyourmine
Co-authored-by: testyourmine <25854988+testyourmine@users.noreply.github.com>
1 parent e633d2b commit 50c9dbb

2 files changed

Lines changed: 17 additions & 234 deletions

File tree

asm/non_matching/game/bosses/boss_3__sub_806DD34.inc

Lines changed: 0 additions & 221 deletions
This file was deleted.

src/game/bosses/boss_3.c

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ typedef struct {
5555
/* 0x031 */ u8 unk31;
5656
/* 0x032 */ s16 unk32;
5757
/* 0x034 */ u16 unk34;
58-
/* 0x036 */ u16 unk36;
58+
/* 0x036 */ s16 unk36;
5959
/* 0x038 */ u8 *vram38; // 124 tiles
6060
/* 0x03C */ u8 *vram3C; // 116 tiles
6161
/* 0x040 */ Player *players[NUM_SINGLE_PLAYER_CHARS];
@@ -616,11 +616,23 @@ void sub_806DB78(EggFoot *boss)
616616
}
617617
}
618618

619-
// (97.46%) https://decomp.me/scratch/cTwdX
620-
NONMATCH("asm/non_matching/game/bosses/boss_3__sub_806DD34.inc", void sub_806DD34(EggFoot *boss))
619+
static inline s32 check_range(EggFoot *boss)
620+
{
621+
s32 var_r3 = 0;
622+
623+
// TODO: This should be able to be written with 2 conditions...
624+
s32 var = boss->unk4 + 0x800 + boss->unk10;
625+
if (var >= 0xB500) {
626+
var = 0xAD00 - boss->unk10;
627+
boss->unk4 = var;
628+
var_r3 = 1;
629+
}
630+
return var_r3;
631+
}
632+
633+
void sub_806DD34(EggFoot *boss)
621634
{
622635
s32 var_r3;
623-
s32 var;
624636

625637
switch (boss->unk34) {
626638
case 0:
@@ -642,14 +654,7 @@ NONMATCH("asm/non_matching/game/bosses/boss_3__sub_806DD34.inc", void sub_806DD3
642654
boss->unk10 = 0x8000;
643655
}
644656

645-
// TODO: This should be able to be written with 2 conditions...
646-
var_r3 = 0;
647-
var = (boss->unk10 + 0x800);
648-
if (boss->unk4 + var >= 0xB500) {
649-
boss->unk4 = 0xAD00 - boss->unk10;
650-
var_r3 = 1;
651-
}
652-
if (var_r3 == 1) {
657+
if (check_range(boss) == 1) {
653658
CreateScreenShake(0x800U, 0x20U, 0U, -1U, 0x91U);
654659
boss->unk14 = -0x200;
655660
boss->unk36 = 0x3C;
@@ -706,7 +711,6 @@ NONMATCH("asm/non_matching/game/bosses/boss_3__sub_806DD34.inc", void sub_806DD3
706711
}
707712
sub_806D568(boss);
708713
}
709-
END_NONMATCH
710714

711715
#if 0
712716
? SetFixedRandomIfTimeAttackMode(); /* extern */

0 commit comments

Comments
 (0)