Skip to content

Commit

Permalink
sub_0201E34C to CalcLinearFov
Browse files Browse the repository at this point in the history
  • Loading branch information
Gudf committed Jan 30, 2025
1 parent 0e3bac5 commit ac81792
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 14 deletions.
2 changes: 1 addition & 1 deletion include/unk_0201E190.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ fx32 FX_Max(fx32 a, fx32 b);
fx32 VEC_AngleBetween(const VecFx32 *param0, const VecFx32 *param1);
void MTX_Rot33Vec(MtxFx33 *outRot, VecFx32 *angles);
void MTX_Rot33Angles(MtxFx33 *outRot, u16 alpha, u16 beta, u16 gamma);
void sub_0201E34C(u16 param0, fx32 param1, fx32 param2, fx32 *param3, fx32 *param4);
void CalcLinearFov(u16 angularFov, fx32 distance, fx32 aspectRatio, fx32 *outWidth, fx32 *outHeight);

#endif // POKEPLATINUM_UNK_0201E190_H
2 changes: 1 addition & 1 deletion src/overlay005/ov5_021D5EB8.c
Original file line number Diff line number Diff line change
Expand Up @@ -1667,7 +1667,7 @@ static void ov5_021D7028(fx32 *param0, fx32 *param1, UnkStruct_ov5_021DB4B8 *par
v6 = (v0.z - param2->unk_B8C.z);
v8 = FX_Div(FX32_CONST(4), FX32_CONST(3));

sub_0201E34C(Camera_GetFOV(param2->unk_00->fieldSystem->camera), Camera_GetDistance(param2->unk_00->fieldSystem->camera), v8, &v3, &v4);
CalcLinearFov(Camera_GetFOV(param2->unk_00->fieldSystem->camera), Camera_GetDistance(param2->unk_00->fieldSystem->camera), v8, &v3, &v4);
v3 = FX_Div(v3, 256 * FX32_ONE);

if (v6 <= 0) {
Expand Down
2 changes: 1 addition & 1 deletion src/overlay113/ov113_0225C700.c
Original file line number Diff line number Diff line change
Expand Up @@ -1174,7 +1174,7 @@ static void ov113_0225D9FC(UnkStruct_ov113_0225DBCC *param0)
v2 = Camera_GetDistance(param0->camera);
v3 = FX32_ONE * 4 / 3;

sub_0201E34C(v1, v2, v3, &v4, &v5);
CalcLinearFov(v1, v2, v3, &v4, &v5);

param0->unk_D0 = v4;
param0->unk_D4 = v5;
Expand Down
18 changes: 7 additions & 11 deletions src/unk_0201E190.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,17 +71,13 @@ void MTX_Rot33Angles(MtxFx33 *outRot, u16 alpha, u16 beta, u16 gamma)
MTX_Concat33(outRot, &tmp, outRot);
}

void sub_0201E34C(u16 param0, fx32 param1, fx32 param2, fx32 *param3, fx32 *param4)
void CalcLinearFov(u16 angularFov, fx32 distance, fx32 aspectRatio, fx32 *outWidth, fx32 *outHeight)
{
fx32 v0;
fx32 v1;
fx32 v2;
fx32 sin = FX_SinIdx(angularFov);
fx32 cos = FX_CosIdx(angularFov);
fx32 tan = FX_Div(sin, cos);

v0 = FX_SinIdx(param0);
v1 = FX_CosIdx(param0);
v2 = FX_Div(v0, v1);

*param4 = FX_Mul(param1, v2);
*param4 = FX_Mul(*param4, 2 * FX32_ONE);
*param3 = FX_Mul(*param4, param2);
*outHeight = FX_Mul(distance, tan);
*outHeight = FX_Mul(*outHeight, 2 * FX32_ONE);
*outWidth = FX_Mul(*outHeight, aspectRatio);
}

0 comments on commit ac81792

Please sign in to comment.