From bb09afe4ed9ee3a3f844d1efada0fa99ac037bf8 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sat, 12 Jan 2008 02:06:33 +0000 Subject: [PATCH] [libsecondlife] * Fixed a bug causing negative PathShears to be read incorrectly [libprimrender] * More rendering bugfixes, coupled with the PathShear fix prims should be rendering identical to the SL viewer now git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1618 52acb1d6-8a22-11de-b505-999d5b087335 --- libsecondlife/LLObject.cs | 2 +- libsecondlife/ObjectManager.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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++]);