diff --git a/README.md b/README.md
index 26f69bdc..58271320 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# banjo (97.8257%)
+# banjo (97.8572%)
diff --git a/decompressed.us.v10.yaml b/decompressed.us.v10.yaml
index bb234c2b..2e4f4501 100644
--- a/decompressed.us.v10.yaml
+++ b/decompressed.us.v10.yaml
@@ -818,7 +818,7 @@ segments:
- [0x100D8A0, c, code_B7F40] #DONE
- [0x100D980, c, code_B8020] #DONE
- [0x100D9D0, c, code_B8070] #DONE
- - [0x100D9E0, c, code_B8080]
+ - [0x100D9E0, c, code_B8080] #DONE
- [0x100E1C0, c, code_B8860] #DONE
- [0x100E9F0, c, code_B9090] #DONE
- [0x100F0D0, c, code_B9770]
diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg
index 9efe9116..c08a39a7 100644
--- a/progress/progress_core2.svg
+++ b/progress/progress_core2.svg
@@ -9,7 +9,7 @@
-
+
@@ -17,7 +17,7 @@
core2
- 96.9627%
- 96.9627%
+ 97.0177%
+ 97.0177%
\ No newline at end of file
diff --git a/progress/progress_total.svg b/progress/progress_total.svg
index 604fffdc..9350be9d 100644
--- a/progress/progress_total.svg
+++ b/progress/progress_total.svg
@@ -17,7 +17,7 @@
Banjo-Kazooie (us.v10)
- 97.8257%
- 97.8257%
+ 97.8572%
+ 97.8572%
\ No newline at end of file
diff --git a/src/core2/code_B8080.c b/src/core2/code_B8080.c
index 87ff129e..56343d7d 100644
--- a/src/core2/code_B8080.c
+++ b/src/core2/code_B8080.c
@@ -101,10 +101,7 @@ s32 func_8033F3C0(BKModel *model, f32 position[3]){
return func_8033F3E8(model, position, 0, 100000);
}
-#ifndef NONMATCHING
-#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B8080/func_8033F3E8.s")
-#else
-s32 func_8033F3E8(BKModel *model, f32 position[3], s32 min_id, s32 max_id) {
+s32 func_8033F3E8(BKModel *arg0, f32 position[3], s32 min_id, s32 max_id) {
int i;
int j;
int k;
@@ -115,31 +112,27 @@ s32 func_8033F3E8(BKModel *model, f32 position[3], s32 min_id, s32 max_id) {
Vtx *vertex_pool;
BKMesh *current_mesh;
Vtx *current_vertex;
- s32 mesh_cnt;
s16 *vertex_index_list;
- vertex_pool = vtxList_getVertices(model->vtxList_4);
+ vertex_pool = vtxList_getVertices(arg0->vtxList_4);
position_s16[0] = (s16) position[0];
position_s16[1] = (s16) position[1];
position_s16[2] = (s16) position[2];
- current_mesh = (BKMesh *)(model->meshList_0 + 1);
- for(k = 0; k < model->meshList_0->meshCount_0; k++, current_mesh = ((s16 *)(current_mesh + 1)) + current_mesh->vtxCount_2){
+ current_mesh = (BKMesh *)(arg0->meshList_0 + 1);
+ for(k = 0; k < arg0->meshList_0->meshCount_0; k++, current_mesh = (BKMesh *)(((s16 *)(current_mesh + 1)) + current_mesh->vtxCount_2)){
if ((min_id > current_mesh->uid_0 || current_mesh->uid_0 >= max_id))
continue;
- j = 0;
vertex_index_list = ((s16*)(current_mesh + 1));
- current_vertex = vertex_pool + vertex_index_list[j];
- for(i = 0; &min[i] < &min[3]; i++){
- temp_v1_3 = current_vertex->v.ob[i];
- min[i] = temp_v1_3;
- max[i] = temp_v1_3;
+ current_vertex = vertex_pool + vertex_index_list[0];
+ for(j = 0; j < 3; j++){
+ min[j] = max[j] = current_vertex->v.ob[j];
};
for(j = 1; j < current_mesh->vtxCount_2; j++){
current_vertex = vertex_pool + vertex_index_list[j];
- for(i = 0; i < 3; i++){
+ for(i = 0; i < 3; i++){\
temp_v1_3 = current_vertex->v.ob[i];
min[i] = MIN(temp_v1_3, min[i]);
max[i] = MAX(temp_v1_3, max[i]);
@@ -155,8 +148,6 @@ s32 func_8033F3E8(BKModel *model, f32 position[3], s32 min_id, s32 max_id) {
return 0;
}
-#endif
-
void model_free(BKModel *model){
free(model);
}