Skip to content

Commit ee792ec

Browse files
committed
Beta v2.3.4.8b
2 parents c66d94e + 8c40100 commit ee792ec

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

xivModdingFramework/Models/DataContainers/TTModel.cs

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1869,6 +1869,35 @@ public static void SaveFullToFile(string filePath, XivRace race, List<TTModel> m
18691869
}
18701870
}
18711871

1872+
// Shape Parts
1873+
foreach (var shpKv in p.ShapeParts)
1874+
{
1875+
if (!shpKv.Key.StartsWith("shp_")) continue;
1876+
var shp = shpKv.Value;
1877+
1878+
query = @"insert into shape_vertices ( mesh, part, shape, vertex_id, position_x, position_y, position_z)
1879+
values($mesh, $part, $shape, $vertex_id, $position_x, $position_y, $position_z);";
1880+
using (var cmd = new SQLiteCommand(query, db))
1881+
{
1882+
foreach (var vKv in shp.VertexReplacements)
1883+
{
1884+
var v = shp.Vertices[vKv.Value];
1885+
cmd.Parameters.AddWithValue("part", partIdx);
1886+
cmd.Parameters.AddWithValue("mesh", meshIdx);
1887+
cmd.Parameters.AddWithValue("shape", shpKv.Key);
1888+
cmd.Parameters.AddWithValue("vertex_id", vKv.Key);
1889+
1890+
cmd.Parameters.AddWithValue("position_x", v.Position.X);
1891+
cmd.Parameters.AddWithValue("position_y", v.Position.Y);
1892+
cmd.Parameters.AddWithValue("position_z", v.Position.Z);
1893+
1894+
1895+
cmd.ExecuteScalar();
1896+
vIdx++;
1897+
}
1898+
}
1899+
}
1900+
18721901
partIdx++;
18731902
}
18741903

@@ -1986,7 +2015,14 @@ public static TTModel FromRaw(XivMdl rawMdl, Action<bool, string> loggingFunctio
19862015
ModelModifiers.MergeGeometryData(ttModel, rawMdl, loggingFunction);
19872016
ModelModifiers.MergeAttributeData(ttModel, rawMdl, loggingFunction);
19882017
ModelModifiers.MergeMaterialData(ttModel, rawMdl, loggingFunction);
1989-
ModelModifiers.MergeShapeData(ttModel, rawMdl, loggingFunction);
2018+
try
2019+
{
2020+
ModelModifiers.MergeShapeData(ttModel, rawMdl, loggingFunction);
2021+
} catch(Exception ex)
2022+
{
2023+
loggingFunction(true, "Unable to load shape data: " + ex.Message);
2024+
ModelModifiers.ClearShapeData(ttModel, loggingFunction);
2025+
}
19902026
ttModel.Source = rawMdl.MdlPath;
19912027

19922028
return ttModel;

xivModdingFramework/Models/FileTypes/Mdl.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3254,7 +3254,7 @@ internal async Task<byte[]> MakeNewMdlFile(TTModel ttModel, XivMdl ogMdl, Action
32543254

32553255
var shapeDataCount = 0;
32563256
// Write the shape data if it exists.
3257-
if (ttModel.HasShapeData && !addedMesh && lodNum == 0)
3257+
if (ttModel.HasShapeData && lodNum == 0)
32583258
{
32593259
var entrySizeSum = meshData.MeshInfo.VertexDataEntrySize0 + meshData.MeshInfo.VertexDataEntrySize1;
32603260
if (!isAlreadyModified)
@@ -3835,7 +3835,7 @@ internal async Task<byte[]> MakeNewMdlFile(TTModel ttModel, XivMdl ogMdl, Action
38353835
}
38363836
catch (Exception ex)
38373837
{
3838-
throw ex;
3838+
throw;
38393839
}
38403840
}
38413841

0 commit comments

Comments
 (0)