This commit is contained in:
Donkey Kong 2024-10-03 07:59:48 -05:00
parent 058338f43d
commit 41fab907c2
5 changed files with 218 additions and 10 deletions

View File

@ -14,7 +14,7 @@ us,.boss,func_boss_8002920C,160,yes
us,.boss,func_boss_80024EAC,252,yes
us,.boss,func_boss_800290D4,108,yes
us,.boss,func_boss_80028820,88,yes
us,.boss,func_boss_8002FF74,2324,no
us,.boss,func_boss_8002FF74,2324,yes
us,.boss,func_boss_8002E9B8,92,yes
us,.boss,func_boss_8002D230,2600,yes
us,.boss,func_boss_800253AC,292,yes

1 version section function length matching
14 us .boss func_boss_80024EAC 252 yes
15 us .boss func_boss_800290D4 108 yes
16 us .boss func_boss_80028820 88 yes
17 us .boss func_boss_8002FF74 2324 no yes
18 us .boss func_boss_8002E9B8 92 yes
19 us .boss func_boss_8002D230 2600 yes
20 us .boss func_boss_800253AC 292 yes

View File

@ -4208,7 +4208,7 @@ us,.boss,func_boss_8002920C,160,yes
us,.boss,func_boss_80024EAC,252,yes
us,.boss,func_boss_800290D4,108,yes
us,.boss,func_boss_80028820,88,yes
us,.boss,func_boss_8002FF74,2324,no
us,.boss,func_boss_8002FF74,2324,yes
us,.boss,func_boss_8002E9B8,92,yes
us,.boss,func_boss_8002D230,2600,yes
us,.boss,func_boss_800253AC,292,yes

1 version section function length matching
4208 us .boss func_boss_80024EAC 252 yes
4209 us .boss func_boss_800290D4 108 yes
4210 us .boss func_boss_80028820 88 yes
4211 us .boss func_boss_8002FF74 2324 no yes
4212 us .boss func_boss_8002E9B8 92 yes
4213 us .boss func_boss_8002D230 2600 yes
4214 us .boss func_boss_800253AC 292 yes

View File

@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h38v20H0z"/>
<path fill="#c07600" d="M38 0h67v20H38z"/>
<path fill="#c08300" d="M38 0h67v20H38z"/>
<path fill="url(#b)" d="M0 0h105v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@ -17,7 +17,7 @@
<text x="19.0" y="14">boss</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="72.5" y="15" fill="#010101" fill-opacity=".3">30.7949%</text>
<text x="71.5" y="14">30.7949%</text>
<text x="72.5" y="15" fill="#010101" fill-opacity=".3">34.0292%</text>
<text x="71.5" y="14">34.0292%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h132v20H0z"/>
<path fill="#c09b00" d="M132 0h67v20H132z"/>
<path fill="#c09c00" d="M132 0h67v20H132z"/>
<path fill="url(#b)" d="M0 0h199v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@ -17,7 +17,7 @@
<text x="66.0" y="14">Donkey Kong 64 (US)</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">40.3960%</text>
<text x="165.5" y="14">40.3960%</text>
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">40.5371%</text>
<text x="165.5" y="14">40.5371%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -71,6 +71,8 @@ const s32 D_boss_80036968[] = {
0x0A283250,
};
void func_boss_8002FC98(Actor *, u8, s32, u8);
// Jumptable
#pragma GLOBAL_ASM("asm/nonmatchings/boss/KRoolTiny/func_boss_8002F100.s")
@ -164,8 +166,214 @@ void func_boss_8002FEC0(Actor* toes[], u8 toeIndex, s32 modelIndex) {
toes[toeIndex] = last_spawned_actor;
}
// Jumptable
#pragma GLOBAL_ASM("asm/nonmatchings/boss/KRoolTiny/func_boss_8002FF74.s")
u8 func_boss_80027BA8(u8 *, u16, f32);
s32 func_global_asm_8061F2B8(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32 *, f32 *, f32 *);
extern u8 *D_boss_80035AA4[];
typedef struct KRoolFootAAD178 {
Actor *unk0;
u8 pad4[0x8 - 0x4];
s16 unk8;
u8 padA[0x12 - 0xA];
u16 unk12;
u8 unk14;
u8 unk15;
u8 unk16;
u8 unk17;
u8 unk18;
u8 unk19;
} KRoolFootAAD178;
typedef struct KRoolFootAAD17C {
Actor *toes[3];
} KRoolFootAAD17C;
void func_boss_8002FF74(void) {
KRoolFootAAD178 *temp_s1;
KRoolFootAAD17C *sp68;
u8 *sp64;
f32 sp60;
u8 temp_a0;
u8 var_a1;
temp_s1 = current_actor_pointer->unk178;
sp68 = current_actor_pointer->unk17C;
initializeCharacterSpawnerActor();
if (!(current_actor_pointer->object_properties_bitfield & 0x10)) {
setIntroStoryPlaying(0U);
func_global_asm_806FB370(2U, 0U, 1U);
player_pointer->control_state = 0x5F;
player_pointer->control_state_progress = 0;
playAnimation(player_pointer, 0x4B);
current_actor_pointer->control_state = 0;
current_actor_pointer->control_state_progress = 0;
func_global_asm_80724DB0(2, 1);
func_boss_8002FEC0(sp68, 0U, 0x6D);
func_boss_8002FEC0(sp68, 1U, 0x6E);
func_boss_8002FEC0(sp68, 2U, 0x6F);
temp_s1->unk12 = 0U;
if (isFlagSet(0x51, FLAG_TYPE_TEMPORARY) != 0) {
func_boss_8002FC48(current_actor_pointer, 4U);
current_actor_pointer->unk15F = 2;
sp68->toes[0]->unk15F = 1;
temp_s1->unk12 = 1U;
}
if (isFlagSet(0x52, FLAG_TYPE_TEMPORARY) != 0) {
func_boss_8002FC48(sp68->toes[0], 4U);
sp68->toes[0]->unk15F = 2;
sp68->toes[1]->unk15F = 1;
temp_s1->unk12 = 2;
}
if (isFlagSet(0x53, FLAG_TYPE_TEMPORARY) != 0) {
func_boss_8002FC48(sp68->toes[1], 4U);
sp68->toes[1]->unk15F = 2;
sp68->toes[2]->unk15F = 1;
temp_s1->unk12 = 3U;
}
temp_s1->unk14 = 0U;
func_boss_8002FC98(current_actor_pointer, 0xFU, 0x40E, 0);
}
sp64 = D_boss_80035AA4[temp_s1->unk14];
if (current_actor_pointer->control_state != 0) {
func_global_asm_8061F2B8(
player_pointer->x_position,
player_pointer->y_position,
player_pointer->z_position,
D_global_asm_807FDCA0->unk14->unk0,
D_global_asm_807FDCA0->unk14->unk2,
D_global_asm_807FDCA0->unk14->unk4,
D_global_asm_807FDCA0->unk14[1].unk0,
D_global_asm_807FDCA0->unk14[1].unk2,
D_global_asm_807FDCA0->unk14[1].unk4,
&player_pointer->x_position,
&sp60,
&player_pointer->z_position);
player_pointer->y_rotation = 0xFD2;
extra_player_info_pointer->unk38 = 150.0f;
}
func_boss_8002FDF8(current_actor_pointer, temp_s1->unk14);
func_boss_8002FC98(current_actor_pointer, 1 << temp_s1->unk12, 1, 0);
switch (current_actor_pointer->control_state) {
case 0x1F:
switch (current_actor_pointer->control_state_progress) {
case 0:
D_global_asm_807FDC90->unk2C = sp64[temp_s1->unk15++];
current_actor_pointer->control_state_progress++;
case 1:
if (D_global_asm_807FDC90->unk2C) {
D_global_asm_807FDC90->unk2C--;
} else {
current_actor_pointer->control_state = sp64[temp_s1->unk15++];
current_actor_pointer->control_state_progress = 0;
}
break;
}
break;
case 0x37:
if (current_actor_pointer->control_state_progress == 0) {
player_pointer->control_state = 0x5F;
player_pointer->control_state_progress = 0;
playAnimation(player_pointer, 0x4A);
func_global_asm_805FF158(1U);
setIntroStoryPlaying(1U);
func_global_asm_805FF378(MAP_KROOL_FIGHT_TINY_PHASE, 0);
setFlag(temp_s1->unk12 + 0x51, 1U, FLAG_TYPE_TEMPORARY);
current_actor_pointer->control_state_progress++;
break;
}
break;
case 0x0:
func_global_asm_80724A20();
break;
case 0x1:
func_boss_8002FC98(current_actor_pointer, 0xFU, 0x410, 0);
current_actor_pointer->control_state = sp64[temp_s1->unk15++];
current_actor_pointer->control_state_progress = 0;
break;
case 0x27:
switch (current_actor_pointer->control_state_progress) {
case 0:
current_actor_pointer->control_state_progress++;
func_boss_8002FC98(current_actor_pointer, 0xFU, -1, 0);
temp_s1->unk18 = sp64[temp_s1->unk15++];
temp_s1->unk19 = sp64[temp_s1->unk15++] + (temp_s1->unk12 * 0xA);
temp_s1->unk8 = sp64[temp_s1->unk15++];
if (temp_s1->unk18 == 0xFF) {
temp_s1->unk18 = 8 >> (s32) ((player_pointer->x_position - 117.0f) / 50.0f);
}
func_boss_8002FC98(current_actor_pointer, temp_s1->unk18, 0x413, 0);
D_global_asm_807FDC90->unk2C = 0x14;
break;
case 1:
if (D_global_asm_807FDC90->unk2C) {
D_global_asm_807FDC90->unk2C--;
} else {
current_actor_pointer->control_state_progress++;
}
break;
case 2:
current_actor_pointer->control_state_progress++;
func_boss_8002FC98(current_actor_pointer, temp_s1->unk18, 0x414, temp_s1->unk19 + (temp_s1->unk12 * 0xF));
D_global_asm_807FDC90->unk2C = temp_s1->unk8;
case 3:
if (D_global_asm_807FDC90->unk2C) {
D_global_asm_807FDC90->unk2C--;
} else {
current_actor_pointer->control_state = sp64[temp_s1->unk15++];
current_actor_pointer->control_state_progress = 0;
}
break;
}
break;
case 0x28:
func_boss_8002FC98(current_actor_pointer, 1 << temp_s1->unk12, 2, 0);
if ((temp_s1->unk14 == temp_s1->unk12) && (current_actor_pointer->unk138 == 0)) {
current_actor_pointer->control_state = 0x37;
current_actor_pointer->control_state_progress = 0;
break;
}
switch (current_actor_pointer->control_state_progress) {
case 0:
D_global_asm_807FDC90->unk2C = sp64[temp_s1->unk15++];
func_boss_8002FC98(current_actor_pointer, 1 << temp_s1->unk12, 0x411, 0);
current_actor_pointer->control_state_progress++;
break;
case 1:
case 2:
if (D_global_asm_807FDC90->unk2C) {
D_global_asm_807FDC90->unk2C--;
} else {
if ((current_actor_pointer->control_state_progress == 1) && (current_actor_pointer->unk138 != 0)) {
func_boss_8002FC98(current_actor_pointer, 1 << temp_s1->unk12, 0x412, 0);
}
D_global_asm_807FDC90->unk2C = 0xA;
current_actor_pointer->control_state_progress++;
}
break;
case 3:
if (current_actor_pointer->unk138 == 0) {
temp_s1->unk14++;
temp_s1->unk15 = 0U;
sp64 = D_boss_80035AA4[temp_s1->unk14];
}
current_actor_pointer->control_state = sp64[temp_s1->unk15++];
current_actor_pointer->control_state_progress = 0;
break;
}
break;
case 0x29:
if (current_actor_pointer->control_state_progress == 0) {
}
break;
default:
func_boss_80027BA8(sp64, 0, 0);
break;
}
renderActor(current_actor_pointer, 0U);
}
void func_boss_80030888(void) {
Actor* temp;