Skip to content

Commit ea57190

Browse files
authored
Fix TerrainInstanceInfo v0 reading and writing (#24)
1 parent 9ba5f0e commit ea57190

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

Source/SharpNeedle/HedgehogEngine/Mirage/TerrainInstanceInfo.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@ public override void Read(BinaryObjectReader reader)
2626
ModelName = reader.ReadStringOffset();
2727
Transform = Matrix4x4.Transpose(reader.ReadValueOffset<Matrix4x4>());
2828
Name = reader.ReadStringOffset();
29-
LightGroups = DataVersion >= 5
30-
? reader.ReadObject<BinaryList<BinaryPointer<LightIndexMeshGroup>>>().Unwind()
31-
: new List<LightIndexMeshGroup>(2) { reader.ReadObject<LightIndexMeshGroup>() };
29+
30+
if (DataVersion >= 5)
31+
LightGroups = reader.ReadObject<BinaryList<BinaryPointer<LightIndexMeshGroup>>>().Unwind();
32+
else if(DataVersion > 0)
33+
LightGroups = new List<LightIndexMeshGroup>(2) { reader.ReadObject<LightIndexMeshGroup>() };
3234
}
3335

3436
public override void Write(BinaryObjectWriter writer)
@@ -45,7 +47,7 @@ public override void Write(BinaryObjectWriter writer)
4547
writer.WriteObjectOffset(group);
4648
});
4749
}
48-
else
50+
else if (DataVersion > 0)
4951
{
5052
if (LightGroups.Count == 1)
5153
LightGroups[0].Write(writer);

0 commit comments

Comments
 (0)