Fix offset error on function anim.

This commit is contained in:
2023-03-09 22:02:34 +08:00
parent 536a3066b2
commit 613ca467d0

View File

@@ -527,7 +527,7 @@ namespace Cryville.Crtr {
}
else {
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.SetArraySuffix(PdtInternalType.Number);
@@ -537,11 +537,11 @@ namespace Cryville.Crtr {
switch (op.Type) {
case PdtInternalType.Number: return 1;
case PdtInternalType.Vector:
int arrtype, pc;
op.GetArraySuffix(out arrtype, out pc);
int arrtype, _;
op.GetArraySuffix(out arrtype, out _);
if (arrtype != PdtInternalType.Number)
throw new ArgumentException("Not animatable");
return pc;
return (op.Length - sizeof(int)) / sizeof(float);
default: throw new ArgumentException("Not animatable");
}
}