客户端问题修改
This commit is contained in:
@@ -179,7 +179,11 @@ void Curve::eval(float t, float* out) const {
|
||||
const int first = (degree == 1) ? (i - 1) : (i - 2);
|
||||
|
||||
// 拷本 span 的控制点(越界按端点 clamp),四元数做半球连续化
|
||||
float cp[3 * 4]; // 最多 3 点 × dim4
|
||||
// Metin2 的 ScaleShearCurve 是 9 维;旧的 3*4 缓冲区会在这里发生
|
||||
// 栈溢出(degree=2 时写入 27 个 float),随后被 __stack_chk_fail 终止。
|
||||
// 目前支持的曲线维度为 position=3、orientation=4、scale/shear=9。
|
||||
if (dim > 9) return;
|
||||
float cp[3 * 9];
|
||||
for (int s = 0; s < span; ++s) {
|
||||
int ci = first + s;
|
||||
ci = ci < 0 ? 0 : (ci >= (int)n ? (int)n - 1 : ci);
|
||||
|
||||
Reference in New Issue
Block a user