From 9c7defa91b410d849f3fd9a01188807a546ebf83 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Mon, 2 Jan 2023 16:44:38 -0600 Subject: [PATCH] func_8024DE1C() match --- README.md | 2 +- progress/progress_core1.svg | 6 ++--- progress/progress_total.svg | 4 ++-- src/core1/code_EAF0.c | 48 +++++++++++++++++++++++++++++-------- src/core2/code_83340.c | 3 --- 5 files changed, 44 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index ca1ad3d0..44f1e74f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# banjo (96.6892%) +# banjo (96.7230%) diff --git a/progress/progress_core1.svg b/progress/progress_core1.svg index b94f9ef6..66308bc6 100644 --- a/progress/progress_core1.svg +++ b/progress/progress_core1.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ core1 - 93.8967% - 93.8967% + 94.1297% + 94.1297% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index 6d686432..5000e47f 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 96.6892% - 96.6892% + 96.7230% + 96.7230% \ No newline at end of file diff --git a/src/core1/code_EAF0.c b/src/core1/code_EAF0.c index 939acf2e..44cfdeff 100644 --- a/src/core1/code_EAF0.c +++ b/src/core1/code_EAF0.c @@ -22,15 +22,7 @@ int D_80280F90; f32 D_80280F98[4][4]; Mtx D_80280FD8; s32 D_80281018; //viewport indx -u8 pad_8028101C[0x8]; -f32 D_80281028[3]; -f32 D_80281038[3]; -f32 D_80281048[3]; -f32 D_80281058[3]; -f32 D_80281068[3]; -f32 D_80281078[3]; -f32 D_80281088[3]; -f32 D_80281098[4][4]; + @@ -377,7 +369,43 @@ f32 func_8024DDD8(s32 arg0, f32 arg1){ return mlNormalizeAngle((D_80280EC0[1] + arg1) + 90.0); } -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_EAF0/func_8024DE1C.s") +f32 func_8024DE1C(f32 arg0, f32 arg1, f32 arg2[3], f32 arg3[3]) { + f32 sp24; + static f32 D_8028101C; + static f32 D_80281020; + static f32 D_80281024; + + if ((D_80275D20 != D_8028101C) || (D_80275D28 != D_80281020)) { + sp24 = (D_80275D20 * M_PI) / 360.0; + D_80281024 = (500.0 + D_80275D28) / (((framebuffer_height / (f32)2) / sinf(sp24)) * cosf(sp24)); + D_8028101C = D_80275D20;\ + D_80281020 = D_80275D28; + } + arg0 = arg0 - (framebuffer_width / (f32)2); + arg1 = (framebuffer_height / (f32)2) - arg1; + arg3[0] = D_80280EC0[0]; + arg3[1] = D_80280EC0[1]; + arg3[2] = D_80280EC0[2]; + arg2[0] = arg0 * D_80281024; + arg2[1] = arg1 * D_80281024; + arg2[2] = (-500.0 - D_80275D28); + ml_vec3f_pitch_rotate_copy(arg2, arg2, arg3[0]); + ml_vec3f_yaw_rotate_copy(arg2, arg2, arg3[1]); + + arg2[0] += D_80280EB0[0]; + arg2[1] += D_80280EB0[1]; + arg2[2] += D_80280EB0[2]; + return D_80281024; +} + +f32 D_80281028[3]; +f32 D_80281038[3]; +f32 D_80281048[3]; +f32 D_80281058[3]; +f32 D_80281068[3]; +f32 D_80281078[3]; +f32 D_80281088[3]; +f32 D_80281098[4][4]; bool func_8024E030(f32 arg0[3], f32 *arg1) { diff --git a/src/core2/code_83340.c b/src/core2/code_83340.c index a2dec832..48cae2d8 100644 --- a/src/core2/code_83340.c +++ b/src/core2/code_83340.c @@ -132,7 +132,6 @@ void func_8030A6B0(void){//clear D_80382394 = NULL; } - void func_8030A78C(void){//init struct_7AF80_0* iPtr; struct_7AF80_1* jPtr; @@ -201,7 +200,6 @@ void func_8030AA6C(void) { } } - void func_8030ABA4(void) { s32 temp_lo; s32 temp_t7; @@ -227,4 +225,3 @@ void func_8030ABA4(void) { } } } -