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); }