Fix offset error on function anim.
This commit is contained in:
@@ -527,7 +527,7 @@ namespace Cryville.Crtr {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var ret = GetReturnFrame(PdtInternalType.Vector, dim0 * sizeof(float) + sizeof(int));
|
var ret = GetReturnFrame(PdtInternalType.Vector, dim0 * sizeof(float) + sizeof(int));
|
||||||
for (int i = 0; i < dim0; i++) {
|
for (int i = 0; i < dim0 * sizeof(float); i += sizeof(float)) {
|
||||||
ret.SetNumber(op1.AsNumber(i) * (1 - time) + op2.AsNumber(i) * time, i);
|
ret.SetNumber(op1.AsNumber(i) * (1 - time) + op2.AsNumber(i) * time, i);
|
||||||
}
|
}
|
||||||
ret.SetArraySuffix(PdtInternalType.Number);
|
ret.SetArraySuffix(PdtInternalType.Number);
|
||||||
@@ -537,11 +537,11 @@ namespace Cryville.Crtr {
|
|||||||
switch (op.Type) {
|
switch (op.Type) {
|
||||||
case PdtInternalType.Number: return 1;
|
case PdtInternalType.Number: return 1;
|
||||||
case PdtInternalType.Vector:
|
case PdtInternalType.Vector:
|
||||||
int arrtype, pc;
|
int arrtype, _;
|
||||||
op.GetArraySuffix(out arrtype, out pc);
|
op.GetArraySuffix(out arrtype, out _);
|
||||||
if (arrtype != PdtInternalType.Number)
|
if (arrtype != PdtInternalType.Number)
|
||||||
throw new ArgumentException("Not animatable");
|
throw new ArgumentException("Not animatable");
|
||||||
return pc;
|
return (op.Length - sizeof(int)) / sizeof(float);
|
||||||
default: throw new ArgumentException("Not animatable");
|
default: throw new ArgumentException("Not animatable");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user