From 6cf29f32bdaee83209b3880d6141f07ea51614e7 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Thu, 8 Dec 2022 18:32:09 -0600 Subject: [PATCH] core1/code_7F60.c done --- README.md | 2 +- decompressed.us.v10.yaml | 2 +- progress/progress_core1.svg | 4 ++-- progress/progress_total.svg | 4 ++-- src/core1/code_7F60.c | 22 +++++++++++++++++++++- src/core2/code_B8080.c | 1 - 6 files changed, 27 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index f4f0bf7f..6d0d46ad 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# banjo (95.3216%) +# banjo (95.3445%) diff --git a/decompressed.us.v10.yaml b/decompressed.us.v10.yaml index 2b58b850..f84a2aad 100644 --- a/decompressed.us.v10.yaml +++ b/decompressed.us.v10.yaml @@ -155,7 +155,7 @@ segments: - [0xF1E8A0, c, code_5650] - [0xF202E0, c, code_7090] #DONE - [0xF20500, c, code_72B0] #DONE - - [0xF211B0, c, code_7F60] + - [0xF211B0, c, code_7F60] #DONE - [0xF21EA0, c, code_8C50] #DONE - [0xF22F80, c, code_9D30] - [0xF23E00, c, code_ABB0] diff --git a/progress/progress_core1.svg b/progress/progress_core1.svg index 4d328fc0..2db8d69e 100644 --- a/progress/progress_core1.svg +++ b/progress/progress_core1.svg @@ -17,7 +17,7 @@ core1 - 92.7510% - 92.7510% + 92.9087% + 92.9087% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index f534bd11..25c73111 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 95.3216% - 95.3216% + 95.3445% + 95.3445% \ No newline at end of file diff --git a/src/core1/code_7F60.c b/src/core1/code_7F60.c index d015b7e7..21bbe26c 100644 --- a/src/core1/code_7F60.c +++ b/src/core1/code_7F60.c @@ -28,7 +28,27 @@ void func_802459A0(float mf[4][4], Mtx *m) } } -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_80245A7C.s") +void func_80245A7C(float mf[4][4], Mtx *m) //should be mf[4][4] +{ + int i; + int j; + int e1; + int e2; + int *ai; + int *af; + float * a2; + + ai = (int *) (&m->m[0][0]); + af = (int *) (&m->m[2][0]); + a2 = mf[0]; + for (i = 0; i < 8; i+=4) + for (j = 0; j < 4; j++) { + e1=(*(a2++))* 65536; + e2=(*(a2++))* 65536; + *(ai++) = (e1 & 0xffff0000) | ((e2 >> 16) & 0xffff); + *(af++) = ((e1 << 16) & 0xffff0000) | (e2 & 0xffff); + } +} void func_80245BE4(f32 mf[4][4], f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { s32 i, j; diff --git a/src/core2/code_B8080.c b/src/core2/code_B8080.c index 01d26f38..8cbb2278 100644 --- a/src/core2/code_B8080.c +++ b/src/core2/code_B8080.c @@ -51,7 +51,6 @@ void BKModel_transformMesh(BKModel *model, s32 mesh_id, void (*fn)(s32, BKVtxRef }; } -//BKModel_getAveragePositionOfMesh void BKModel_getMeshCenter(BKModel *model, s32 mesh_id, s16 arg2[3]) { s16 min[3]; s16 max[3];