Weird Access violation (no exception) when using StreamReader
internal static IEnumerable<Object3d> CreateModel(string path, string spritePath, uint startTime)
{
using var archive = ZipFile.OpenRead(Paths.AssetArchive);
using StreamReader read = new(archive.GetEntry(path).Open());
List<Vector3> vertices = [];
string line;
while ((line = read.ReadLine()) is not null)
{
var values = line.Trim().Split(' ');
if (values[0].Equals("v")) vertices.Add(new(float.Parse(values[1]), -float.Parse(values[3]), float.Parse(values[2])));
else if (values[0].Equals("f"))
{
List<Vector3> faceVertices = [];
for (var i = 1; i < values.Length; ++i) faceVertices.Add(vertices[int.Parse(values[i].Split('/')[0]) - 1]);
for (var i = 1; i <= faceVertices.Count; ++i)
{
Line3d sprite = new()
{
SpritePath = spritePath,
UseDistanceFade = false
};
sprite.StartPosition.Add(startTime, faceVertices[i == faceVertices.Count ? 0 : i]);
sprite.EndPosition.Add(startTime, faceVertices[i - 1]);
sprite.Thickness.Add(startTime, 2);
yield return sprite;
}
}
}
}internal static IEnumerable<Object3d> CreateModel(string path, string spritePath, uint startTime)
{
using var archive = ZipFile.OpenRead(Paths.AssetArchive);
using StreamReader read = new(archive.GetEntry(path).Open());
List<Vector3> vertices = [];
string line;
while ((line = read.ReadLine()) is not null)
{
var values = line.Trim().Split(' ');
if (values[0].Equals("v")) vertices.Add(new(float.Parse(values[1]), -float.Parse(values[3]), float.Parse(values[2])));
else if (values[0].Equals("f"))
{
List<Vector3> faceVertices = [];
for (var i = 1; i < values.Length; ++i) faceVertices.Add(vertices[int.Parse(values[i].Split('/')[0]) - 1]);
for (var i = 1; i <= faceVertices.Count; ++i)
{
Line3d sprite = new()
{
SpritePath = spritePath,
UseDistanceFade = false
};
sprite.StartPosition.Add(startTime, faceVertices[i == faceVertices.Count ? 0 : i]);
sprite.EndPosition.Add(startTime, faceVertices[i - 1]);
sprite.Thickness.Add(startTime, 2);
yield return sprite;
}
}
}
}I have no idea why reading from this stream and then referencing from the vertices list is causing a memory violation, I need help