core2/code_74ED0.C done

This commit is contained in:
Banjo Kazooie
2022-10-17 13:40:41 -05:00
parent f4deee02a8
commit bca765209f
5 changed files with 100 additions and 9 deletions

View File

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

View File

@@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#32e000" d="M44 0h67v20H44z"/>
<path fill="#31e000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="22.0" y="14">core2</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">88.8768%</text>
<text x="77.5" y="14">88.8768%</text>
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">88.9850%</text>
<text x="77.5" y="14">88.9850%</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">91.1905%</text>
<text x="183.5" y="14">91.1905%</text>
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">91.2526%</text>
<text x="183.5" y="14">91.2526%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -2,7 +2,11 @@
#include "functions.h"
#include "variables.h"
extern void func_802FB020(struct8s *, s32);
/* .data */
extern f32 D_80369860[9];
extern s32 D_80369884;
/* .bss */
@@ -34,7 +38,35 @@ void func_802FBEB8(void){
}
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_74ED0/func_802FBEFC.s")
void func_802FBEFC(struct8s *arg0) {
s32 var_v1;
struct8s *sp20;
for(var_v1 = 0; var_v1 < D_80369884; var_v1++){
if (arg0 == D_80381560[var_v1]) {
sp20 = D_80381560[0];
func_802FB020(D_80381560[var_v1], 1);
sp20->unk10 = 3.0f;
if (sp20->unk18 == 0) {
sp20->unk1C = 0.0f;
}
return;
}
}
for(var_v1 = D_80369884; var_v1 > 0; var_v1--){
D_80381560[var_v1] = D_80381560[var_v1 - 1];
}
D_80381560[0] = arg0;
if (D_80369884 && (func_802FDD0C(D_80381560[1]) == 0x29)) {
D_80381560[0] = D_80381560[1];
D_80381560[1] = arg0;
}
D_80369884++;
}
void func_802FC014(s32 arg0, struct8s * arg1){
func_802FBEFC(arg1);
@@ -63,7 +95,66 @@ void func_802FC0C4(s32 arg0, struct8s *arg1){
D_80369884 = 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_74ED0/func_802FC0D8.s")
void func_802FC0D8(void) {
struct8s *sp1C;
f32 temp_f0;
s32 var_v0;
bool var_v1;
sp1C = D_80381560[0];
if(D_80369884 != 0){
switch(sp1C->unk0){
default:
break;
case 1:
temp_f0 = D_80369860[sp1C->unk18];
sp1C->unk1C += sp1C->unk14 * temp_f0;
if (temp_f0 == 0.0) {
sp1C->unk10 = 3.0f;
sp1C->unk0 = 2;
} else {
sp1C->unk18++;
}
break;
case 2:
if (getGameMode() != GAME_MODE_4_PAUSED) {
sp1C->unk10 -= time_getDelta();
if (sp1C->unk10 < 0.0f) {
sp1C->unk0 = 3;
for(var_v0 = 1; var_v0 < D_80369884; var_v0++){
func_802FC05C(3, D_80381560[var_v0]);
func_802FB020(D_80381560[var_v0], sp1C->unk0);
}
D_8038156C = 1;
}
}
break;
case 3:
var_v1 = (D_8038156C != 0) ? (sp1C->unk1C < -20.0f) : (!sp1C->unk18);
if (var_v1) {
D_8038156C = 0;
func_802FB020(sp1C, 0);
break;
}
else{
sp1C->unk18 = MAX(0, sp1C->unk18 - 1);
temp_f0 = D_80369860[sp1C->unk18];
sp1C->unk1C -= sp1C->unk14 * temp_f0;
}
break;
}
for(var_v0 = 1; var_v0 < D_80369884; var_v0++){
if (sp1C->unk0 == 2) {
D_80381560[var_v0]->unk0 = sp1C->unk0;
}
}
}
}
bool func_802FC390(void){
s32 *phi_v1 = D_80381560[0];

View File

@@ -272,7 +272,7 @@ segments:
- [0x74290, c, code_74290] #DONE
- [0x74420, c, code_74420] #DONE
- [0x74910, c, code_74910] #DONE
- [0x74ED0, c, code_74ED0]
- [0x74ED0, c, code_74ED0] #DONE
- [0x75480, c, code_75480]
- [0x75930, c, code_75930]
- [0x75E90, c, code_75E90]