thief-mission-viewer/project/code/TMV/Utils.cs

18 lines
612 B
C#

using System.Numerics;
namespace KeepersCompound.TMV;
public static class Utils
{
const float InverseScale = 4.0f;
public static Godot.Vector3 ToGodotVec3(this Vector3 vec, bool scale = true)
{
return new Godot.Vector3(vec.Y, vec.Z, vec.X) / (scale ? InverseScale : 1.0f);
}
public static Godot.Transform3D ToGodotTransform3D(this Matrix4x4 mat, bool scale = true)
{
var t = mat.Translation / (scale ? InverseScale : 1.0f);
return new Godot.Transform3D(mat.M22, mat.M32, mat.M12, mat.M23, mat.M33, mat.M13, mat.M21, mat.M31, mat.M11, t.Y, t.Z, t.X);
}
}