From 57c334d521d5cfc114b6b607d40ec652137603b3 Mon Sep 17 00:00:00 2001 From: PikminGuts92 Date: Mon, 5 Sep 2022 21:19:51 -0400 Subject: [PATCH] Support reading bones for v34 mesh --- Src/Core/Mackiloha/IO/Serializers/MeshSerializer.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Src/Core/Mackiloha/IO/Serializers/MeshSerializer.cs b/Src/Core/Mackiloha/IO/Serializers/MeshSerializer.cs index 7ef0930..6eef660 100644 --- a/Src/Core/Mackiloha/IO/Serializers/MeshSerializer.cs +++ b/Src/Core/Mackiloha/IO/Serializers/MeshSerializer.cs @@ -9,7 +9,7 @@ namespace Mackiloha.IO.Serializers public class MeshSerializer : AbstractSerializer { public MeshSerializer(MiloSerializer miloSerializer) : base(miloSerializer) { } - + public override void ReadFromStream(AwesomeReader ar, ISerializable data) { var mesh = data as Mesh; @@ -33,7 +33,7 @@ public override void ReadFromStream(AwesomeReader ar, ISerializable data) break; default: throw new Exception($"Unexpected number, got {mesh.Unknown}"); - } + } var num = ar.ReadInt32(); if (!(num == 0 || num == 1)) @@ -121,7 +121,7 @@ public override void ReadFromStream(AwesomeReader ar, ISerializable data) if (groupSizes.Select(x => (int)x).Sum() != mesh.Faces.Count) throw new Exception("Sum should equal count of faces"); - + var charCount = ar.ReadInt32(); ar.BaseStream.Position -= 4; @@ -129,7 +129,7 @@ public override void ReadFromStream(AwesomeReader ar, ISerializable data) mesh.Bones.Clear(); if (charCount > 0) { - if (version >= 36) + if (version >= 34) { // Uses variable length bone count ar.BaseStream.Position += 4; @@ -272,7 +272,7 @@ public override void WriteToStream(AwesomeWriter aw, ISerializable data) // Write group sizes aw.Write((int)mesh.Groups.Count); mesh.Groups.ForEach(x => aw.Write((byte)x.Size)); - + const int boneCount = 4; // Always 4? var bones = mesh.Bones .Take(boneCount)