core2/code_BE2C0.c done
This commit is contained in:
@@ -212,7 +212,7 @@ void func_802DD484(f32 dst[3], f32 arg1, f32 avg, f32 range) {
|
||||
s32 i;
|
||||
|
||||
for(i = 0; i < 3; i++){
|
||||
dst[i] = avg + range * (0.5 + 0.5 * sinf( (2.0*RARE_PI) * func_80257A44((arg1 + 2.0 * ((f32)i / 3.0)), 2.0f)));
|
||||
dst[i] = avg + range * (0.5 + 0.5 * sinf( (2.0*BAD_PI) * func_80257A44((arg1 + 2.0 * ((f32)i / 3.0)), 2.0f)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -2,31 +2,134 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern f32 func_80255D70(f32);
|
||||
|
||||
#define LENGTH_SQ_VEC4F(v) (v[0]*v[0] + v[1]*v[1] + v[2]*v[2] + v[3]*v[3])
|
||||
/* public */
|
||||
|
||||
|
||||
/* .data */
|
||||
extern s32 D_80371ED0[3];
|
||||
|
||||
/* .code */
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BE2C0/func_80345250.s")
|
||||
//vec4f_copy
|
||||
void func_80345250(f32 dst[4], f32 src[4]){
|
||||
dst[0] = src[0];
|
||||
dst[1] = src[1];
|
||||
dst[2] = src[2];
|
||||
dst[3] = src[3];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BE2C0/func_80345274.s")
|
||||
void func_80345274(f32 arg0[4], f32 arg1[3][3]) {
|
||||
f32 var_f18;
|
||||
f32 sp40;
|
||||
f32 sp3C;
|
||||
f32 sp38;
|
||||
f32 temp_f12;
|
||||
f32 temp_f2;
|
||||
f32 temp_f20;
|
||||
f32 sp28;
|
||||
f32 sp24;
|
||||
f32 sp20;
|
||||
f32 sp1C;
|
||||
f32 temp_f0_2;
|
||||
f32 temp_f12_2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BE2C0/func_80345434.s")
|
||||
if ((arg0[0] == 0.0f) && (arg0[1] == 0.0f) && (arg0[2] == 0.0f) && (arg0[3] == 0.0f)) {
|
||||
var_f18 = 2.0f;
|
||||
} else {
|
||||
var_f18 = 2.0 / LENGTH_SQ_VEC4F(arg0);
|
||||
}
|
||||
temp_f12 = arg0[0] * var_f18;
|
||||
temp_f2 = arg0[1] * var_f18;
|
||||
temp_f20 = arg0[2] * var_f18;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BE2C0/func_803454D0.s")
|
||||
sp40 = temp_f12 * arg0[3];
|
||||
sp3C = temp_f2 * arg0[3];
|
||||
sp38 = temp_f20 * arg0[3];
|
||||
sp28 = temp_f12 * arg0[0];
|
||||
sp24 = temp_f2 * arg0[0];
|
||||
sp20 = temp_f20 * arg0[0];
|
||||
sp1C = temp_f2 * arg0[1];
|
||||
|
||||
temp_f12_2 = temp_f20 * arg0[1];
|
||||
temp_f0_2 = temp_f20 * arg0[2];
|
||||
|
||||
arg1[0][0] = 1.0 - (sp1C + temp_f0_2);
|
||||
arg1[0][1] = sp24 + sp38;
|
||||
arg1[0][2] = sp20 - sp3C;
|
||||
|
||||
arg1[1][0] = sp24 - sp38;
|
||||
arg1[1][1] = 1.0 - (sp28 + temp_f0_2);
|
||||
arg1[1][2] = temp_f12_2 + sp40;
|
||||
|
||||
arg1[2][0] = sp20 + sp3C;
|
||||
arg1[2][1] = temp_f12_2 - sp40;
|
||||
arg1[2][2] = 1.0 - (sp28 + sp1C);
|
||||
}
|
||||
|
||||
bool func_80345434(f32 arg0[4]){
|
||||
return ((arg0[0] == 0.0f)
|
||||
&& (arg0[1] == 0.0f)
|
||||
&& (arg0[2] == 0.0f)
|
||||
&& (arg0[3] == 1.0f));
|
||||
}
|
||||
|
||||
bool func_803454D0(f32 arg0[4]) {
|
||||
return (((0.0f <= arg0[0]) ? arg0[0] : - arg0[0]) < 0.01)
|
||||
&& (((0.0f <= arg0[1]) ? arg0[1] : - arg0[1]) < 0.01)
|
||||
&& (((0.0f <= arg0[1]) ? arg0[1] : - arg0[1]) < 0.01)
|
||||
&& (((0.0f <= arg0[3]) ? arg0[3] : - arg0[3]) < 1.01)
|
||||
&& (((0.0f <= arg0[3]) ? arg0[3] : - arg0[3]) > 0.99);
|
||||
}
|
||||
|
||||
void func_80345630(f32 arg0[4]){
|
||||
arg0[0] = arg0[1] = arg0[2] = 0.0f;
|
||||
arg0[3] = 1.0f;
|
||||
}
|
||||
|
||||
void func_80345650(f32[4], f32[4], f32[4], f32);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BE2C0/func_80345650.s")
|
||||
void func_80345650(f32 arg0[4], f32 arg1[4], f32 arg2[4], f32 arg3) {
|
||||
f32 temp_f12;
|
||||
f32 sp48;
|
||||
f32 sp44;
|
||||
f32 sp40;
|
||||
f32 sp3C;
|
||||
|
||||
temp_f12 = (arg1[0]*arg2[0]) + (arg1[1]*arg2[1]) + (arg1[2]*arg2[2]) + (arg1[3]*arg2[3]);
|
||||
if (0.00001 < (1.0 + temp_f12)) {
|
||||
if (0.00001 < (1.0 - temp_f12)) {
|
||||
sp3C = (BAD_PI/180.0) * func_80255D70(temp_f12);
|
||||
sp40 = sinf(sp3C);
|
||||
if (0.0f != sp40) {
|
||||
sp48 = sinf((1.0 - arg3) * sp3C) / sp40;
|
||||
sp48 = sp48;
|
||||
sp44 = sinf(arg3 * sp3C) / sp40;
|
||||
} else {
|
||||
sp44 = arg3;
|
||||
sp48 = 1.0 - arg3;
|
||||
}
|
||||
} else {
|
||||
sp44 = arg3;
|
||||
sp48 = 1.0 - arg3;
|
||||
}
|
||||
arg0[0] = sp48*arg1[0] + sp44*arg2[0];
|
||||
arg0[1] = sp48*arg1[1] + sp44*arg2[1];
|
||||
arg0[2] = sp48*arg1[2] + sp44*arg2[2];
|
||||
arg0[3] = sp48*arg1[3] + sp44*arg2[3];
|
||||
}
|
||||
else{
|
||||
|
||||
arg0[0] = -arg1[1];
|
||||
arg0[1] = arg1[0];
|
||||
arg0[2] = -arg1[3];
|
||||
arg0[3] = arg1[2];
|
||||
|
||||
sp48 = sinf((1.0 - arg3) * (BAD_PI/2.0f));
|
||||
sp44 = sinf(arg3 * (BAD_PI/2.0f));
|
||||
arg0[0] = sp48*arg1[0] + sp44*arg0[0];
|
||||
arg0[1] = sp48*arg1[1] + sp44*arg0[1];
|
||||
arg0[2] = sp48*arg1[2] + sp44*arg0[2];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void func_803458E4(f32 arg0[4], f32 arg1[4], f32 arg2[4], f32 arg3) {
|
||||
f32 var_f0;
|
||||
@@ -57,7 +160,6 @@ void func_803458E4(f32 arg0[4], f32 arg1[4], f32 arg2[4], f32 arg3) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
void func_80345A44(f32 arg0[4], f32 arg1[4][4]) {
|
||||
f32 temp_f0;
|
||||
f32 temp_f2;
|
||||
@@ -95,7 +197,6 @@ void func_80345A44(f32 arg0[4], f32 arg1[4][4]) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void func_80345C78(s32 arg0, f32 arg1[3]) {
|
||||
mlMtxIdent();
|
||||
mlMtxRotYaw(arg1[1]);
|
||||
@@ -104,7 +205,6 @@ void func_80345C78(s32 arg0, f32 arg1[3]) {
|
||||
func_80345A44(arg0, func_80251488());
|
||||
}
|
||||
|
||||
|
||||
void func_80345CD4(f32 arg0[4], f32 arg1[4]){
|
||||
mlMtxIdent();
|
||||
mlMtxRotRoll(arg1[2]);
|
||||
|
@@ -92,20 +92,20 @@ void func_8034E8E4(Struct73s *arg0, BKModel *arg1, s32 arg2) {
|
||||
|
||||
sp38 = time_getDelta();
|
||||
arg0->unk4 += sp38;
|
||||
cos = cosf(arg0->unk4 * 0.2 * RARE_PI);
|
||||
sin = sinf(arg0->unk4 * 0.08 * RARE_PI);
|
||||
cos = cosf(arg0->unk4 * 0.2 * BAD_PI);
|
||||
sin = sinf(arg0->unk4 * 0.08 * BAD_PI);
|
||||
sp30[0] = (sin*100.0f + 150.0f*cos)*0.8;
|
||||
|
||||
|
||||
sin = sinf(arg0->unk4 * 0.5 * RARE_PI);
|
||||
cos = cosf(arg0->unk4 * 0.22 * RARE_PI);
|
||||
sin = sinf(arg0->unk4 * 0.5 * BAD_PI);
|
||||
cos = cosf(arg0->unk4 * 0.22 * BAD_PI);
|
||||
sp30[1] = (cos* 100.0f + 50.0f*sin)*0.8;
|
||||
|
||||
arg0->d_tc[0] = (sp30[0] >= 0.0) ? sp30[0] + 0.5 : sp30[0] - 0.5;
|
||||
arg0->d_tc[1] = (sp30[1] >= 0.0) ? sp30[1] + 0.5 : sp30[1] - 0.5;
|
||||
|
||||
cos = cosf(arg0->unk4 * 0.5 * RARE_PI);
|
||||
sin = sinf(arg0->unk4 * 0.11 * RARE_PI);
|
||||
cos = cosf(arg0->unk4 * 0.5 * BAD_PI);
|
||||
sin = sinf(arg0->unk4 * 0.11 * BAD_PI);
|
||||
sp28 = sin*(arg0->unk8 * 0.25) + (arg0->unk8* 0.75)*cos;
|
||||
|
||||
if (arg0->unk14 < arg0->unk1C) {
|
||||
|
@@ -95,9 +95,9 @@ void func_80352114(Struct_core2_CB050_0 *arg0, s32 arg1, f32 arg2) {
|
||||
}
|
||||
arg0->unk6C = FALSE;
|
||||
}
|
||||
arg0->unk28[1] = sinf(((arg0->unk64 * arg0->unk0) / 180.0) * RARE_PI) * 10.0f;
|
||||
arg0->unk4[0] = cosf(((arg0->unk64 * arg0->unk0) / 180.0) * RARE_PI) * 4.5;
|
||||
arg0->unk4[1] = sinf(((arg0->unk64 * arg0->unk0) / 180.0) * RARE_PI) * 2;
|
||||
arg0->unk28[1] = sinf(((arg0->unk64 * arg0->unk0) / 180.0) * BAD_PI) * 10.0f;
|
||||
arg0->unk4[0] = cosf(((arg0->unk64 * arg0->unk0) / 180.0) * BAD_PI) * 4.5;
|
||||
arg0->unk4[1] = sinf(((arg0->unk64 * arg0->unk0) / 180.0) * BAD_PI) * 2;
|
||||
if (map_get() == MAP_22_CC_INSIDE_CLANKER) {
|
||||
sp40[0] = arg0->unk4C[0];
|
||||
sp40[1] = arg0->unk4C[1] + 1000.0f;
|
||||
|
Reference in New Issue
Block a user