mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-11-12 23:32:42 -05:00
Allocation-safe asset reading
Try to not pre-allocate memory during asset reading
This commit is contained in:
@ -39,7 +39,7 @@ namespace CubismLive2DExtractor
|
||||
for (int frameIndex = 1; frameIndex < streamedFrames.Count - 1; frameIndex++)
|
||||
{
|
||||
var frame = streamedFrames[frameIndex];
|
||||
for (int curveIndex = 0; curveIndex < frame.keyList.Length; curveIndex++)
|
||||
for (int curveIndex = 0; curveIndex < frame.keyList.Count; curveIndex++)
|
||||
{
|
||||
ReadStreamedData(iAnim, m_ClipBindingConstant, frame.time, frame.keyList[curveIndex]);
|
||||
}
|
||||
@ -90,7 +90,7 @@ namespace CubismLive2DExtractor
|
||||
GetLive2dPath(binding, out var target, out var boneName);
|
||||
if (string.IsNullOrEmpty(boneName))
|
||||
{
|
||||
Logger.Warning($"[Motion Converter] \"{iAnim.Name}\" read fail on binding {Array.IndexOf(m_ClipBindingConstant.genericBindings, binding)}");
|
||||
Logger.Warning($"[Motion Converter] \"{iAnim.Name}\" read fail on binding {m_ClipBindingConstant.genericBindings.FindIndex(x => x == binding)}");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ namespace CubismLive2DExtractor
|
||||
GetLive2dPath(binding, out var target, out var boneName);
|
||||
if (string.IsNullOrEmpty(boneName))
|
||||
{
|
||||
Logger.Warning($"[Motion Converter] \"{iAnim.Name}\" read fail on binding {Array.IndexOf(m_ClipBindingConstant.genericBindings, binding)}");
|
||||
Logger.Warning($"[Motion Converter] \"{iAnim.Name}\" read fail on binding {m_ClipBindingConstant.genericBindings.FindIndex(x => x == binding)}");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -116,7 +116,7 @@ namespace CubismLive2DExtractor
|
||||
// [Optional] Time of the overall Fade-Out for easing in seconds.
|
||||
FadeOutTime = fadeMotion.FadeOutTime,
|
||||
// The total number of curves.
|
||||
CurveCount = (int)fadeMotion.ParameterCurves.LongCount(x => x.m_Curve.Length > 0),
|
||||
CurveCount = (int)fadeMotion.ParameterCurves.LongCount(x => x.m_Curve.Count > 0),
|
||||
// [Optional] The total number of UserData.
|
||||
UserDataCount = 0
|
||||
};
|
||||
@ -128,7 +128,7 @@ namespace CubismLive2DExtractor
|
||||
var actualCurveCount = 0;
|
||||
for (var i = 0; i < fadeMotion.ParameterCurves.Length; i++)
|
||||
{
|
||||
if (fadeMotion.ParameterCurves[i].m_Curve.Length == 0)
|
||||
if (fadeMotion.ParameterCurves[i].m_Curve.Count == 0)
|
||||
continue;
|
||||
|
||||
string target;
|
||||
@ -174,7 +174,7 @@ namespace CubismLive2DExtractor
|
||||
fadeMotion.ParameterCurves[i].m_Curve[0].value
|
||||
}
|
||||
};
|
||||
for (var j = 1; j < fadeMotion.ParameterCurves[i].m_Curve.Length; j++)
|
||||
for (var j = 1; j < fadeMotion.ParameterCurves[i].m_Curve.Count; j++)
|
||||
{
|
||||
var curve = fadeMotion.ParameterCurves[i].m_Curve[j];
|
||||
var preCurve = fadeMotion.ParameterCurves[i].m_Curve[j - 1];
|
||||
|
||||
Reference in New Issue
Block a user