diff options
3 files changed, 19 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 64a5811..35e7c45 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -99,6 +99,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
99 | /// </summary> | 99 | /// </summary> |
100 | public partial class SceneObjectGroup : EntityBase, ISceneObject | 100 | public partial class SceneObjectGroup : EntityBase, ISceneObject |
101 | { | 101 | { |
102 | // Axis selection bitmask used by SetAxisRotation() | ||
103 | // Just happen to be the same bits used by llSetStatus() and defined in ScriptBaseClass. | ||
104 | public enum axisSelect : int | ||
105 | { | ||
106 | STATUS_ROTATE_X = 0x002, | ||
107 | STATUS_ROTATE_Y = 0x004, | ||
108 | STATUS_ROTATE_Z = 0x008, | ||
109 | } | ||
110 | |||
102 | // private PrimCountTaintedDelegate handlerPrimCountTainted = null; | 111 | // private PrimCountTaintedDelegate handlerPrimCountTainted = null; |
103 | 112 | ||
104 | /// <summary> | 113 | /// <summary> |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index af7fae3..7a97e5f 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1918,11 +1918,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1918 | public int GetAxisRotation(int axis) | 1918 | public int GetAxisRotation(int axis) |
1919 | { | 1919 | { |
1920 | //Cannot use ScriptBaseClass constants as no referance to it currently. | 1920 | //Cannot use ScriptBaseClass constants as no referance to it currently. |
1921 | if (axis == 2)//STATUS_ROTATE_X | 1921 | if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) |
1922 | return STATUS_ROTATE_X; | 1922 | return STATUS_ROTATE_X; |
1923 | if (axis == 4)//STATUS_ROTATE_Y | 1923 | if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) |
1924 | return STATUS_ROTATE_Y; | 1924 | return STATUS_ROTATE_Y; |
1925 | if (axis == 8)//STATUS_ROTATE_Z | 1925 | if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) |
1926 | return STATUS_ROTATE_Z; | 1926 | return STATUS_ROTATE_Z; |
1927 | 1927 | ||
1928 | return 0; | 1928 | return 0; |
@@ -2671,13 +2671,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
2671 | ParentGroup.SetAxisRotation(axis, rotate); | 2671 | ParentGroup.SetAxisRotation(axis, rotate); |
2672 | 2672 | ||
2673 | //Cannot use ScriptBaseClass constants as no referance to it currently. | 2673 | //Cannot use ScriptBaseClass constants as no referance to it currently. |
2674 | if (axis == 2)//STATUS_ROTATE_X | 2674 | if ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) != 0) |
2675 | STATUS_ROTATE_X = rotate; | 2675 | STATUS_ROTATE_X = rotate; |
2676 | 2676 | ||
2677 | if (axis == 4)//STATUS_ROTATE_Y | 2677 | if ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) != 0) |
2678 | STATUS_ROTATE_Y = rotate; | 2678 | STATUS_ROTATE_Y = rotate; |
2679 | 2679 | ||
2680 | if (axis == 8)//STATUS_ROTATE_Z | 2680 | if ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) != 0) |
2681 | STATUS_ROTATE_Z = rotate; | 2681 | STATUS_ROTATE_Z = rotate; |
2682 | } | 2682 | } |
2683 | 2683 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 4108588..837779d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1334,19 +1334,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1334 | return 0; | 1334 | return 0; |
1335 | 1335 | ||
1336 | case ScriptBaseClass.STATUS_ROTATE_X: | 1336 | case ScriptBaseClass.STATUS_ROTATE_X: |
1337 | if (m_host.GetAxisRotation(2) == 2) | 1337 | // if (m_host.GetAxisRotation(2) != 0) |
1338 | if (m_host.GetAxisRotation((int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) != 0) | ||
1338 | return 1; | 1339 | return 1; |
1339 | else | 1340 | else |
1340 | return 0; | 1341 | return 0; |
1341 | 1342 | ||
1342 | case ScriptBaseClass.STATUS_ROTATE_Y: | 1343 | case ScriptBaseClass.STATUS_ROTATE_Y: |
1343 | if (m_host.GetAxisRotation(4) == 4) | 1344 | if (m_host.GetAxisRotation((int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) != 0) |
1344 | return 1; | 1345 | return 1; |
1345 | else | 1346 | else |
1346 | return 0; | 1347 | return 0; |
1347 | 1348 | ||
1348 | case ScriptBaseClass.STATUS_ROTATE_Z: | 1349 | case ScriptBaseClass.STATUS_ROTATE_Z: |
1349 | if (m_host.GetAxisRotation(8) == 8) | 1350 | if (m_host.GetAxisRotation((int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) != 0) |
1350 | return 1; | 1351 | return 1; |
1351 | else | 1352 | else |
1352 | return 0; | 1353 | return 0; |