func_8038C428() match, FP overlay matching

This commit is contained in:
Banjo Kazooie
2023-01-02 19:18:38 -06:00
parent 2fed3c1093
commit d91caef0d8
4 changed files with 35 additions and 44 deletions

View File

@@ -1,4 +1,4 @@
# banjo (96.8125%)
# banjo (96.8603%)
<img src="./progress/progress_total.svg">

View File

@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="91" height="20">
<svg xmlns="http://www.w3.org/2000/svg" width="98" height="20">
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="anybadge_1">
<rect width="91" height="20" rx="3" fill="#fff"/>
<rect width="98" height="20" rx="3" fill="#fff"/>
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h24v20H0z"/>
<path fill="#07e000" d="M24 0h67v20H24z"/>
<path fill="url(#b)" d="M0 0h91v20H0z"/>
<path fill="#00e000" d="M24 0h74v20H24z"/>
<path fill="url(#b)" d="M0 0h98v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="13.0" y="15" fill="#010101" fill-opacity=".3">FP</text>
<text x="12.0" y="14">FP</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="58.5" y="15" fill="#010101" fill-opacity=".3">98.3860%</text>
<text x="57.5" y="14">98.3860%</text>
<text x="62.0" y="15" fill="#010101" fill-opacity=".3">100.0000%</text>
<text x="61.0" y="14">100.0000%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">96.8125%</text>
<text x="183.5" y="14">96.8125%</text>
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">96.8603%</text>
<text x="183.5" y="14">96.8603%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -133,68 +133,60 @@ void func_8038C398(f32 position[3], enum marker_e marker_id){
func_8038C260(position, 4, ASSET_498_MODEL_TWINKLY_SHARD_YELLOW);
}
#ifndef NONMATCHING
void func_8038C428(Actor *this, f32 arg1[3], f32 arg2);
#pragma GLOBAL_ASM("asm/nonmatchings/FP/code_5CC0/func_8038C428.s")
#else
void func_8038C428(Actor *arg0, f32 arg1[3], f32 arg2) {
void func_8038C428(Actor *arg0, f32 arg1[3], f32 arg2)
{
u8 sp7F;
s32 sp78;
f32 sp74;
f32 sp70;
f32 temp_f14;
f32 var_f22;
f32 var_f24;
f32 temp_f0;
f32 sp5C[3];
f32 var_f24;
f32 sp54;
f32 sp48[3];
f32 var_f2;
s32 var_v0;
f32 temp_f0_2;
f32 temp_f0;
sp78 = 0;
sp74 = arg2;
sp70 = arg0->position[1];
sp7F =(arg2 == 0.0f) ? 0 : 1;
var_f22 = (arg1[0] - arg0->position[0]);
var_f24 = (arg1[2] - arg0->position[2]);
sp7F = (arg2 == 0.0f) ? (0) : (1);
var_f22 = arg1[0] - arg0->position[0];
var_f24 = arg1[2] - arg0->position[2];
sp54 = gu_sqrtf((var_f22 * var_f22) + (var_f24 * var_f24));
sp48[0] = var_f22 / sp54;
sp48[2] = var_f24 / sp54;
if (sp7F) {
if (sp7F)
{
temp_f0 = randf2(130.0f, 150.0f);
sp54 = MIN(sp54, temp_f0);
sp54 = (sp54 < temp_f0) ? (sp54) : (temp_f0);
var_f22 = sp48[0] * sp54;
var_f24 = sp48[2] * sp54;
}
sp5C[0] = arg0->position[0] + var_f22;
sp5C[1] = arg0->position[1];
sp5C[2] = arg0->position[2] + var_f24;
temp_f14 = func_80309724(sp5C);
if (sp7F) {
do {
sp78 += 1;
sp74 += -3.2;
sp70 += sp74;
} while ((temp_f14 < sp70) || (sp74 > 0.0f));
} else {
sp78 = 0x1C;
temp_f0_2 = sp78;
sp74 = ((arg1[1] + 40.0f) - arg0->position[1]) / temp_f0_2 - -3.2 * temp_f0_2 /2.0;
temp_f0 = arg2 + (-3.2);
arg2 = temp_f0;
sp70 += temp_f0;
}
animctrl_setAnimTimer(arg0->animctrl, 0.0f);
arg0->unk1C[0] = 0.99999 / (f32)sp78;
arg0->velocity[0] = var_f22 / sp78;
while ((temp_f14 < sp70) || (arg2 > 0.0f));
}
else {
sp78 = 0x1C;
temp_f0 = sp78;
sp74 = (((arg1[1] + 40.0f) - arg0->position[1]) / temp_f0) - (((-3.2) * temp_f0) / 2.0);
}
animctrl_setAnimTimer(arg0->animctrl, 0.0f);(arg0->animctrl, 0.0f);
temp_f0 = sp78;
arg0->unk1C[0] = (f32) (0.99999 / temp_f0);
arg0->velocity[1] = sp74;
arg0->velocity[2] = var_f24 / sp78;
arg0->velocity[0] = (f32) (var_f22 / temp_f0);
arg0->velocity[2] = (f32) (var_f24 / temp_f0);
if (sp7F) {
func_8030E878(SFX_3F2_UNKNOWN, randf2(1.2f, 1.3f), 0x7D00U, arg0->position, 1750.0f, 3500.0f);
}
@@ -202,7 +194,6 @@ void func_8038C428(Actor *arg0, f32 arg1[3], f32 arg2) {
func_8030E878(SFX_53_BANJO_HUIII, randf2(1.4f, 1.5f), 0x7D00U, arg0->position, 1750.0f, 3500.0f);
}
}
#endif
bool func_8038C718(Actor *this, f32 arg1){
f32 tmp;