Replace TrustedAsOfLength with safe As and Set.

This commit is contained in:
2023-02-10 15:47:20 +08:00
parent c04e50e959
commit b437925f92
7 changed files with 65 additions and 33 deletions

View File

@@ -390,9 +390,8 @@ namespace Cryville.Crtr {
var ray = new Ray(ctx.position, ctx.rotation * Vector3.forward);
ChartPlayer.frustumPlanes[(int)GetOperand(0).AsNumber()].Raycast(ray, out dist);
var ret = GetReturnFrame(PdtInternalType.Vector, sizeof(Vector3) + sizeof(int));
var ptr = (Vector3*)ret.TrustedAsOfLength(sizeof(Vector3) + sizeof(int));
*ptr++ = ray.GetPoint(dist);
*(int*)ptr = PdtInternalType.Number;
ret.Set(ray.GetPoint(dist));
ret.SetArraySuffix(PdtInternalType.Number);
}
}
class func_int : PdtOperator {