Try to dispose rarc properly
This commit is contained in:
parent
83e1911f3c
commit
9011f2a4c7
Binary file not shown.
@ -361,6 +361,9 @@ namespace FirstPlugin
|
|||||||
{
|
{
|
||||||
writer.Write((uint)_exportStringTable.Count);
|
writer.Write((uint)_exportStringTable.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
writer.Dispose();
|
||||||
|
GC.SuppressFinalize(writer);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void WriteDirectories()
|
private void WriteDirectories()
|
||||||
|
@ -434,7 +434,6 @@ namespace FirstPlugin
|
|||||||
LoadComponents(Format);
|
LoadComponents(Format);
|
||||||
|
|
||||||
uint ImageSize = reader.ReadUInt32();
|
uint ImageSize = reader.ReadUInt32();
|
||||||
Console.WriteLine(ImageSize);
|
|
||||||
|
|
||||||
reader.Position = 0;
|
reader.Position = 0;
|
||||||
ImageData = reader.ReadBytes((int)ImageSize);
|
ImageData = reader.ReadBytes((int)ImageSize);
|
||||||
@ -567,8 +566,6 @@ namespace FirstPlugin
|
|||||||
|
|
||||||
public override byte[] GetImageData(int ArrayLevel = 0, int MipLevel = 0)
|
public override byte[] GetImageData(int ArrayLevel = 0, int MipLevel = 0)
|
||||||
{
|
{
|
||||||
uint bpp = GetBytesPerPixel(Format);
|
|
||||||
|
|
||||||
if (image.Is3DS)
|
if (image.Is3DS)
|
||||||
{
|
{
|
||||||
PlatformSwizzle = PlatformSwizzle.Platform_3DS;
|
PlatformSwizzle = PlatformSwizzle.Platform_3DS;
|
||||||
@ -576,6 +573,8 @@ namespace FirstPlugin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
uint bpp = GetBytesPerPixel(Format);
|
||||||
|
|
||||||
GX2.GX2Surface surf = new GX2.GX2Surface();
|
GX2.GX2Surface surf = new GX2.GX2Surface();
|
||||||
surf.bpp = bpp;
|
surf.bpp = bpp;
|
||||||
surf.height = image.Height;
|
surf.height = image.Height;
|
||||||
|
@ -497,7 +497,7 @@ namespace Toolbox.Library
|
|||||||
short SmoothIndex, short RigidIndex, bool IsRoot, ref Assimp.Matrix4x4 rootTransform)
|
short SmoothIndex, short RigidIndex, bool IsRoot, ref Assimp.Matrix4x4 rootTransform)
|
||||||
{
|
{
|
||||||
Matrix4x4 trafo = node.Transform;
|
Matrix4x4 trafo = node.Transform;
|
||||||
Matrix4x4 world = trafo * rootTransform;
|
Matrix4x4 world = trafo;
|
||||||
var transformMat = AssimpHelper.TKMatrix(world);
|
var transformMat = AssimpHelper.TKMatrix(world);
|
||||||
|
|
||||||
int matchedBoneIndex = skeleton.bones.FindIndex(item => item.Name == node.Name);
|
int matchedBoneIndex = skeleton.bones.FindIndex(item => item.Name == node.Name);
|
||||||
@ -508,6 +508,7 @@ namespace Toolbox.Library
|
|||||||
|
|
||||||
STBone bone = new STBone();
|
STBone bone = new STBone();
|
||||||
bone.skeletonParent = skeleton;
|
bone.skeletonParent = skeleton;
|
||||||
|
bone.RotationType = STBone.BoneRotationType.Euler;
|
||||||
skeleton.bones.Add(bone);
|
skeleton.bones.Add(bone);
|
||||||
|
|
||||||
if (DaeHelper.IDMapToName.ContainsKey(node.Name))
|
if (DaeHelper.IDMapToName.ContainsKey(node.Name))
|
||||||
@ -545,11 +546,11 @@ namespace Toolbox.Library
|
|||||||
var rotation = transformMat.ExtractRotation();
|
var rotation = transformMat.ExtractRotation();
|
||||||
var position = transformMat.ExtractTranslation();
|
var position = transformMat.ExtractTranslation();
|
||||||
|
|
||||||
var rotEular = AssimpHelper.ToEular(rotation);
|
var rotEular = STMath.ToEulerAngles(rotation);
|
||||||
|
|
||||||
bone.position = new float[] { position.X, position.Y, position.Z };
|
bone.position = new float[] { position.X, position.Y, position.Z };
|
||||||
bone.scale = new float[] { scale.X, scale.Y, scale.Z };
|
bone.scale = new float[] { scale.X, scale.Y, scale.Z };
|
||||||
bone.rotation = new float[] { rotEular.X, rotEular.Y, rotEular.Z, 0 };
|
bone.rotation = new float[] { rotEular.X, rotEular.Y, rotEular.Z, 1 };
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -116,7 +116,8 @@ namespace Toolbox.Library
|
|||||||
input.A3, input.B3, input.C3, input.D3,
|
input.A3, input.B3, input.C3, input.D3,
|
||||||
input.A4, input.B4, input.C4, input.D4);
|
input.A4, input.B4, input.C4, input.D4);
|
||||||
}
|
}
|
||||||
public static Vector3 ToEular(OpenTK.Quaternion q)
|
|
||||||
|
public static Vector3 ToEulerAngles(OpenTK.Quaternion q)
|
||||||
{
|
{
|
||||||
Matrix4 mat = Matrix4.CreateFromQuaternion(q);
|
Matrix4 mat = Matrix4.CreateFromQuaternion(q);
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
|
@ -936,7 +936,7 @@ namespace ColladaHelper
|
|||||||
mat.ClearTranslation();
|
mat.ClearTranslation();
|
||||||
mat.Invert();
|
mat.Invert();
|
||||||
var quat = mat.ExtractRotation();
|
var quat = mat.ExtractRotation();
|
||||||
rot = Toolbox.Library.AssimpHelper.ToEular(quat);
|
rot = Toolbox.Library.AssimpHelper.ToEulerAngles(quat);
|
||||||
if (float.IsNaN(rot.X)) rot.X = 0;
|
if (float.IsNaN(rot.X)) rot.X = 0;
|
||||||
if (float.IsNaN(rot.Y)) rot.Y = 0;
|
if (float.IsNaN(rot.Y)) rot.Y = 0;
|
||||||
if (float.IsNaN(rot.Z)) rot.Z = 0;
|
if (float.IsNaN(rot.Z)) rot.Z = 0;
|
||||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user