Files
7d2dXG/Mods/0B-CustomParticleLoader/Scripts/Utilities/StreamUtilsCompressed.cs
Nathaniel Cosford e06f2bd282 Add All Mods
2025-05-29 23:33:28 +09:30

32 lines
1020 B
C#

using System.IO;
using UnityEngine;
public static class StreamUtilsCompressed
{
public static void Write(BinaryWriter _bw, Vector3 vec)
{
_bw.Write(Mathf.FloatToHalf(vec.x));
_bw.Write(Mathf.FloatToHalf(vec.y));
_bw.Write(Mathf.FloatToHalf(vec.z));
}
public static Vector3 ReadHalfVector3(BinaryReader _br)
{
return new Vector3(Mathf.HalfToFloat(_br.ReadUInt16()), Mathf.HalfToFloat(_br.ReadUInt16()), Mathf.HalfToFloat(_br.ReadUInt16()));
}
public static void Write(BinaryWriter _bw, Quaternion rot)
{
_bw.Write(Mathf.FloatToHalf(rot.x));
_bw.Write(Mathf.FloatToHalf(rot.y));
_bw.Write(Mathf.FloatToHalf(rot.z));
_bw.Write(Mathf.FloatToHalf(rot.w));
}
public static Quaternion ReadHalfQuaternion(BinaryReader _br)
{
return new Quaternion(Mathf.HalfToFloat(_br.ReadUInt16()), Mathf.HalfToFloat(_br.ReadUInt16()), Mathf.HalfToFloat(_br.ReadUInt16()), Mathf.HalfToFloat(_br.ReadUInt16()));
}
}