diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg
index dfb0ac6e..901afb21 100644
--- a/progress/progress_core2.svg
+++ b/progress/progress_core2.svg
@@ -17,7 +17,7 @@
core2
- 84.6542%
- 84.6542%
+ 84.6613%
+ 84.6613%
\ No newline at end of file
diff --git a/progress/progress_total.svg b/progress/progress_total.svg
index a52955d0..c64fe34a 100644
--- a/progress/progress_total.svg
+++ b/progress/progress_total.svg
@@ -17,7 +17,7 @@
Banjo-Kazooie (us.v10)
- 86.3667%
- 86.3667%
+ 86.3708%
+ 86.3708%
\ No newline at end of file
diff --git a/src/core2/code_C62B0.c b/src/core2/code_C62B0.c
index 531c6180..4f821426 100644
--- a/src/core2/code_C62B0.c
+++ b/src/core2/code_C62B0.c
@@ -47,14 +47,9 @@ void func_8034D634(s32 *mesh_id, BKVtxRef *src, Vtx *dst, Struct6Ds *arg3){
dst->v.ob[2] = (s16)(src->v.v.ob[2] + sp18[2]);
}
-#ifndef NONMATCHING
-void func_8034D700(s32 *mesh_id, BKVtxRef *src, Vtx *dst, Struct6Ds *arg3);
-#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_C62B0/func_8034D700.s")
-#else
void func_8034D700(s32 *mesh_id, BKVtxRef *src, Vtx *dst, Struct6Ds *arg3){
- dst->v.ob[1] = src->v.v.ob[1] + (s32)(arg3->unk4 + ((arg3->unk44 / arg3->unk48) * (arg3->unk8 - arg3->unk4)));
+ dst->v.ob[1] = src->v.v.ob[1] + (u16)(s32)(arg3->unk4 + ((arg3->unk44 / arg3->unk48) * (arg3->unk8 - arg3->unk4)));
}
-#endif
void func_8034D740(s32 *mesh_id, BKVtxRef *src, Vtx *dst, Struct6Ds *arg3){
f32 temp_f0;
@@ -98,7 +93,7 @@ void func_8034DA7C(s32 *mesh_id, BKVtxRef *src, Vtx *dst, Struct6Ds *arg3) {
void func_8034DBB8(Struct6Ds *arg0){
if(arg0->unk48 == 0.0f){
- arg0->unk48 = D_80379200;
+ arg0->unk48 = 0.00001f;
}
if(arg0->unkC != NULL){
@@ -199,12 +194,7 @@ void func_8034DF30(Struct6Ds *arg0, f32 arg1[4], f32 arg2[4], f32 arg3) {
arg0->unk60[3] = arg2[3];
arg0->unk70 = 0.0f;
arg0->unk28 = 0;
- if (arg3 > 0.0f) {
- arg0->unk74 = (f32) (f64) arg3;
- }
- else{
- arg0->unk74 = (f32) D_80379208;
- }
+ arg0->unk74 = (arg3 > 0.0f) ? arg3 : 0.001;
}
void func_8034DFB0(Struct6Ds *arg0, s32 arg1[4], s32 arg2[4], f32 arg3) {
@@ -217,11 +207,7 @@ void func_8034DFB0(Struct6Ds *arg0, s32 arg1[4], s32 arg2[4], f32 arg3) {
arg0->unk88[2] = (f32) arg2[2];
arg0->unk94 = (f32) arg2[3];
arg0->unk28 = 0;
- if (arg3 > 0.0f) {
- arg0->unk9C = (f32) (f64) arg3;
- } else {
- arg0->unk9C = (f32) D_80379210;
- }
+ arg0->unk9C = (arg3 > 0.0f) ? arg3 : 0.001;
arg0->unk98 = 0.0f;
}
@@ -232,11 +218,7 @@ void func_8034E088(Struct6Ds *arg0, s32 arg1, s32 arg2, f32 arg3){
arg0->unk28 = 0;
arg0->unk84 = (f32) arg1;
arg0->unk94 = (f32) arg2;
- if (arg3 > 0.0f) {
- arg0->unk9C = (f32) (f64) arg3;
- } else {
- arg0->unk9C = (f32) D_80379218;
- }
+ arg0->unk9C = (arg3 > 0.0f) ? arg3 : 0.001;
arg0->unk98 = 0.0f;
}
@@ -350,8 +332,8 @@ void func_8034E26C(Struct6Ds *arg0, BKModel *model, s32 mesh_id) {
sp20 += randi2(-0xF, 0xF);
sp20 = MIN (0x7FFF, sp20);
sp20 = MAX(31000, sp20);
- if (D_80379220 <= sp28) {
- sp20 = (1.0 - ((sp28 - D_80379220) / D_80379228)) * sp20;
+ if (0.85 <= sp28) {
+ sp20 = (1.0 - ((sp28 - 0.85) / 0.15000000000000002)) * sp20;
}
func_8030DBB4(arg0->unk0, sp24);
sfxsource_setSampleRate(arg0->unk0, sp20);
diff --git a/subyaml/core2.us.v10.yaml b/subyaml/core2.us.v10.yaml
index e06d2a7f..6f623d59 100644
--- a/subyaml/core2.us.v10.yaml
+++ b/subyaml/core2.us.v10.yaml
@@ -369,7 +369,7 @@ segments:
- [0xC5CC0, c, code_C5CC0] #DONE
- [0xC5F00, c, code_C5F00] #DONE
- [0xC61C0, c, code_C61C0] #DONE
- - [0xC62B0, c, code_C62B0]
+ - [0xC62B0, c, code_C62B0] #DONE
- [0xC76D0, c, code_C76D0]
- [0xC7CC0, c, code_C7CC0] #DONE
- [0xC8230, c, code_C8230] #DONE
@@ -813,7 +813,7 @@ segments:
- [0xF2210, .rodata, code_C5AF0]
- [0xF2230, .rodata, code_C5CC0]
- [0xF2240, .rodata, code_C5F00]
- - [0xF2270, bin, data_F2230]
+ - [0xF2270, .rodata, code_C62B0]
- [0xF22A0, bin, data_F22A0] # .rodata, code_C76D0]
- [0xF22E0, .rodata, code_C7CC0]
- [0xF2320, .rodata, code_C8230]