mirror of
https://gitlab.com/dk64_decomp/dk64.git
synced 2024-11-26 16:50:26 +00:00
40.5371%
This commit is contained in:
parent
058338f43d
commit
41fab907c2
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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 |
@ -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 |
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user