diff --git a/src/SPV3/Chimera.cs b/src/SPV3/Chimera.cs index 62e7b59e..f0e48d65 100644 --- a/src/SPV3/Chimera.cs +++ b/src/SPV3/Chimera.cs @@ -30,10 +30,11 @@ public class Chimera : File { private const int Length = 2056; - public byte Interpolation { get; set; } = 8; + public byte Interpolation { get; set; } = 8; public bool AnisotropicFiltering { get; set; } = false; - public bool UncapCinematic { get; set; } = true; - public bool BlockLOD { get; set; } = false; + public bool UncapCinematic { get; set; } = true; + public bool BlockLOD { get; set; } = false; + public byte Throttle { get; set; } = 0; /// /// Saves object state to the inbound file. @@ -58,6 +59,11 @@ public void Save() ms.Position = 0x1F; bw.Write(BlockLOD ? (byte) 1 : (byte) 0); + /* + * ms.Position = 0xFF; + * bw.Write(Throttle); + */ + bw.Write(new byte[Length - ms.Position]); /* padding */ ms.Position = 0; @@ -76,15 +82,17 @@ public void Load() { fs.CopyTo(ms); - ms.Position = 0x0F; - Interpolation = br.ReadByte(); - ms.Position = 0x02; - AnisotropicFiltering = br.ReadByte() == 1; - ms.Position = 0x1E; - UncapCinematic = br.ReadByte() == 1; - ms.Position = 0x1F; - BlockLOD = br.ReadByte() == 1; - } + ms.Position = 0x0F; + Interpolation = br.ReadByte(); + ms.Position = 0x02; + AnisotropicFiltering = br.ReadByte() == 1; + ms.Position = 0x1E; + UncapCinematic = br.ReadByte() == 1; + ms.Position = 0x1F; + BlockLOD = br.ReadByte() == 1; + //ms.Position = 0xFF; + //Throttle =br.ReadByte() == 1; + } } ///