diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg
index 781156ce..18a3b56d 100644
--- a/progress/progress_core2.svg
+++ b/progress/progress_core2.svg
@@ -17,7 +17,7 @@
core2
- 75.9106%
- 75.9106%
+ 75.9705%
+ 75.9705%
\ No newline at end of file
diff --git a/progress/progress_total.svg b/progress/progress_total.svg
index f1e6f8b7..7e9b0d00 100644
--- a/progress/progress_total.svg
+++ b/progress/progress_total.svg
@@ -17,7 +17,7 @@
Banjo-Kazooie (us.v10)
- 80.9705%
- 80.9705%
+ 81.0048%
+ 81.0048%
\ No newline at end of file
diff --git a/src/core2/code_C89C0.c b/src/core2/code_C89C0.c
index 73cdf34b..8a8e6971 100644
--- a/src/core2/code_C89C0.c
+++ b/src/core2/code_C89C0.c
@@ -126,17 +126,14 @@ Actor* func_8034FCDC(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
return NULL;
}
-#ifndef NONMATCHING
-#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_C89C0/func_8034FDA0.s")
-#else
void func_8034FDA0(s32 arg0) {
s32 sp34;
s32 sp24;
if (D_80386150.unkC == D_80386150.unk10) {
- sp34 = D_80386150.unkC - D_80386150.unk8;
+ sp34 = ((s32)D_80386150.unkC - (s32)D_80386150.unk8)/0x30;
sp24 = sp34 * 2;
- D_80386150.unk8 = (Struct_core2_C89C0_1*) realloc(D_80386150.unk8, sp24 * sizeof(Struct_core2_C89C0_1));
+ D_80386150.unk8 = (Struct_core2_C89C0_1*) realloc(D_80386150.unk8, sp24 * sizeof(Struct_core2_C89C0_0)); //this size is wrong type(?)
D_80386150.unkC = D_80386150.unk8 + sp34;
D_80386150.unk10 = D_80386150.unk8 + sp24;
}
@@ -152,7 +149,6 @@ void func_8034FDA0(s32 arg0) {
func_80323240(func_80342038(D_80386150.unkC->unk1C), D_80386150.unkC->unk2C, D_80386150.unkC->unkC);
D_80386150.unkC++;
}
-#endif
void func_8034FEE0(Struct_core2_C89C0_1 *arg0) {
s32 sp2C;
@@ -199,22 +195,12 @@ void func_803500E8(void) {
}
}
-
-#ifndef NONMATCHING
-#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_C89C0/func_80350174.s")
-#else
void func_80350174(void) {
- s32 temp_t6;
- s32 temp_t7;
s32 temp_v0_3;
- s32 var_s0;
- s32 var_s0_2;
- void *temp_v0;
- void *temp_v0_2;
s32 i;
- for(i = 0x31; i != 0x36; i++){
+ for(i = 0x31; i < 0x36; i++){
if (func_80341F64(i))
break;
}
@@ -237,7 +223,6 @@ void func_80350174(void) {
func_8034FDA0(temp_v0_3);
}
}
-#endif
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_C89C0/func_80350250.s")
@@ -250,7 +235,7 @@ void func_80350250(void) {
Struct_core2_C89C0_0 *var_s0_2;
temp_f22 = time_getDelta();
- if ((D_80386150.unk0 != 0) && (func_80334904() == 2)) {
+ if ((D_80386150.unk0 != NULL) && (func_80334904() == 2)) {
player_getPosition(sp7C);
for(var_s0 = D_80386150.unk8; var_s0 < D_80386150.unkC; var_s0++) {
var_s0->unk4 = (ml_vec3f_distance(var_s0->unkC, sp7C) < 2000.0f);
@@ -300,14 +285,15 @@ void func_80350250(void) {
var_s0_2->unk1C = 0.0f;
}
}
- var_s0_2->unk20 = var_s0_2->unk20 - var_s0_2->unk20 * temp_f22;
+ var_s0_2->unk20 -= var_s0_2->unk20 * temp_f22;
sp70[0] = -var_s0_2->unk1C * temp_f22;
- sp70[1] = sp70[2] = 0.0f;
+ sp70[1] = 0.0f;
+ sp70[2] = 0.0f;
ml_vec3f_yaw_rotate_copy(&sp70, &sp70, var_s0_2->unk14);
var_s0_2->unk8[0] = var_s0_2->unk8[0] + sp70[0];
var_s0_2->unk8[1] = var_s0_2->unk8[1] + sp70[1];
var_s0_2->unk8[2] = var_s0_2->unk8[2] + sp70[2];
- var_s0_2->unk8[1] = var_s0_2->unk20 * temp_f22;
+ var_s0_2->unk8[1] = var_s0_2->unk8[1] + var_s0_2->unk20 * temp_f22;
func_8032F64C(var_s0_2->unk8, var_s0_2->unk0);
}
}