Fix potential field align error when dereferencing pointers.
This commit is contained in:
@@ -575,9 +575,9 @@ namespace Cryville.Crtr {
|
|||||||
case 1:
|
case 1:
|
||||||
num = op.AsNumber();
|
num = op.AsNumber();
|
||||||
return new Vector4(num, num, num, num);
|
return new Vector4(num, num, num, num);
|
||||||
case 2: return op.As<Vector2>();
|
case 2: return new Vector4(op.AsNumber(), op.AsNumber(sizeof(float)), 0, 0);
|
||||||
case 3: return op.As<Vector3>();
|
case 3: return new Vector4(op.AsNumber(), op.AsNumber(sizeof(float)), op.AsNumber(2 * sizeof(float)), 0);
|
||||||
default: return op.As<Vector4>();
|
default: return new Vector4(op.AsNumber(), op.AsNumber(sizeof(float)), op.AsNumber(2 * sizeof(float)), op.AsNumber(3 * sizeof(float)));
|
||||||
}
|
}
|
||||||
default: throw new ArgumentException("Not animatable");
|
default: throw new ArgumentException("Not animatable");
|
||||||
}
|
}
|
||||||
@@ -899,9 +899,9 @@ namespace Cryville.Crtr {
|
|||||||
switch ((op.Length - sizeof(int)) / sizeof(float)) {
|
switch ((op.Length - sizeof(int)) / sizeof(float)) {
|
||||||
case 0: return null;
|
case 0: return null;
|
||||||
case 1: return new Vector4(op.AsNumber(), 0, 0, 0);
|
case 1: return new Vector4(op.AsNumber(), 0, 0, 0);
|
||||||
case 2: return op.As<Vector2>();
|
case 2: return new Vector4(op.AsNumber(), op.AsNumber(sizeof(float)), 0, 0);
|
||||||
case 3: return op.As<Vector3>();
|
case 3: return new Vector4(op.AsNumber(), op.AsNumber(sizeof(float)), op.AsNumber(2 * sizeof(float)), 0);
|
||||||
default: return op.As<Vector4>();
|
default: return new Vector4(op.AsNumber(), op.AsNumber(sizeof(float)), op.AsNumber(2 * sizeof(float)), op.AsNumber(3 * sizeof(float)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (op.Type == PdtInternalType.Number) {
|
else if (op.Type == PdtInternalType.Number) {
|
||||||
|
|||||||
Reference in New Issue
Block a user