diff --git a/libsecondlife/LLObject.cs b/libsecondlife/LLObject.cs index f59deccd..b2819e5d 100644 --- a/libsecondlife/LLObject.cs +++ b/libsecondlife/LLObject.cs @@ -520,7 +520,7 @@ namespace libsecondlife return (float)(200 - pathScale) * SCALE_QUANTA; } - public static float UnpackPathShear(byte pathShear) + public static float UnpackPathShear(sbyte pathShear) { return (float)pathShear * SHEAR_QUANTA; } diff --git a/libsecondlife/ObjectManager.cs b/libsecondlife/ObjectManager.cs index a0d884cd..f1ef172e 100644 --- a/libsecondlife/ObjectManager.cs +++ b/libsecondlife/ObjectManager.cs @@ -1307,8 +1307,8 @@ namespace libsecondlife data.PathEnd = LLObject.UnpackEndCut(block.PathEnd); data.PathScaleX = LLObject.UnpackPathScale(block.PathScaleX); data.PathScaleY = LLObject.UnpackPathScale(block.PathScaleY); - data.PathShearX = LLObject.UnpackPathShear(block.PathShearX); - data.PathShearY = LLObject.UnpackPathShear(block.PathShearY); + data.PathShearX = LLObject.UnpackPathShear((sbyte)block.PathShearX); + data.PathShearY = LLObject.UnpackPathShear((sbyte)block.PathShearY); data.PathTwist = LLObject.UnpackPathTwist(block.PathTwist); data.PathTwistBegin = LLObject.UnpackPathTwist(block.PathTwistBegin); data.PathRadiusOffset = LLObject.UnpackPathTwist(block.PathRadiusOffset); @@ -1981,8 +1981,8 @@ namespace libsecondlife prim.Data.PathEnd = LLObject.UnpackEndCut(pathEnd); prim.Data.PathScaleX = LLObject.UnpackPathScale(block.Data[i++]); prim.Data.PathScaleY = LLObject.UnpackPathScale(block.Data[i++]); - prim.Data.PathShearX = LLObject.UnpackPathShear(block.Data[i++]); - prim.Data.PathShearY = LLObject.UnpackPathShear(block.Data[i++]); + prim.Data.PathShearX = LLObject.UnpackPathShear((sbyte)block.Data[i++]); + prim.Data.PathShearY = LLObject.UnpackPathShear((sbyte)block.Data[i++]); prim.Data.PathTwist = LLObject.UnpackPathTwist((sbyte)block.Data[i++]); prim.Data.PathTwistBegin = LLObject.UnpackPathTwist((sbyte)block.Data[i++]); prim.Data.PathRadiusOffset = LLObject.UnpackPathTwist((sbyte)block.Data[i++]);