aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs174
1 files changed, 89 insertions, 85 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index 7161942..31e0e29 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -1926,116 +1926,120 @@ namespace OpenSim.Region.ClientStack
1926 1926
1927 for (int i = 0; i < multipleupdate.ObjectData.Length; i++) 1927 for (int i = 0; i < multipleupdate.ObjectData.Length; i++)
1928 { 1928 {
1929 if (tScene.PermissionsMngr.CanEditObjectPosition(simClient.AgentId, tScene.GetSceneObjectPart(multipleupdate.ObjectData[i].ObjectLocalID).UUID)) 1929 // Can't act on Null Data
1930 if (multipleupdate.ObjectData[i].Data != null)
1930 { 1931 {
1931 #region position 1932 if (tScene.PermissionsMngr.CanEditObjectPosition(simClient.AgentId, tScene.GetSceneObjectPart(multipleupdate.ObjectData[i].ObjectLocalID).UUID))
1932
1933 if (multipleupdate.ObjectData[i].Type == 9) //change position
1934 { 1933 {
1935 if (OnUpdatePrimGroupPosition != null) 1934 #region position
1935
1936 if (multipleupdate.ObjectData[i].Type == 9) //change position
1936 { 1937 {
1937 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0); 1938 if (OnUpdatePrimGroupPosition != null)
1938 OnUpdatePrimGroupPosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this); 1939 {
1940 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0);
1941 OnUpdatePrimGroupPosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this);
1942 }
1939 } 1943 }
1940 } 1944 else if (multipleupdate.ObjectData[i].Type == 1) //single item of group change position
1941 else if (multipleupdate.ObjectData[i].Type == 1) //single item of group change position
1942 {
1943 if (OnUpdatePrimSinglePosition != null)
1944 { 1945 {
1945 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0); 1946 if (OnUpdatePrimSinglePosition != null)
1946 // System.Console.WriteLine("new movement position is " + pos.X + " , " + pos.Y + " , " + pos.Z); 1947 {
1947 OnUpdatePrimSinglePosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this); 1948 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0);
1949 // System.Console.WriteLine("new movement position is " + pos.X + " , " + pos.Y + " , " + pos.Z);
1950 OnUpdatePrimSinglePosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this);
1951 }
1948 } 1952 }
1949 } 1953 #endregion position
1950 #endregion position 1954 #region rotation
1951 #region rotation
1952 1955
1953 else if (multipleupdate.ObjectData[i].Type == 2) // single item of group rotation from tab 1956 else if (multipleupdate.ObjectData[i].Type == 2) // single item of group rotation from tab
1954 {
1955 if (OnUpdatePrimSingleRotation != null)
1956 { 1957 {
1957 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 0, true); 1958 if (OnUpdatePrimSingleRotation != null)
1958 //System.Console.WriteLine("new tab rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 1959 {
1959 OnUpdatePrimSingleRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this); 1960 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 0, true);
1961 //System.Console.WriteLine("new tab rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
1962 OnUpdatePrimSingleRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this);
1963 }
1960 } 1964 }
1961 } 1965 else if (multipleupdate.ObjectData[i].Type == 3) // single item of group rotation from mouse
1962 else if (multipleupdate.ObjectData[i].Type == 3) // single item of group rotation from mouse
1963 {
1964 if (OnUpdatePrimSingleRotation != null)
1965 { 1966 {
1966 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 12, true); 1967 if (OnUpdatePrimSingleRotation != null)
1967 //System.Console.WriteLine("new mouse rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 1968 {
1968 OnUpdatePrimSingleRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this); 1969 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 12, true);
1970 //System.Console.WriteLine("new mouse rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
1971 OnUpdatePrimSingleRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this);
1972 }
1969 } 1973 }
1970 } 1974 else if (multipleupdate.ObjectData[i].Type == 10) //group rotation from object tab
1971 else if (multipleupdate.ObjectData[i].Type == 10) //group rotation from object tab
1972 {
1973 if (OnUpdatePrimGroupRotation != null)
1974 { 1975 {
1975 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 0, true); 1976 if (OnUpdatePrimGroupRotation != null)
1976 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 1977 {
1977 OnUpdatePrimGroupRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this); 1978 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 0, true);
1979 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
1980 OnUpdatePrimGroupRotation(multipleupdate.ObjectData[i].ObjectLocalID, rot, this);
1981 }
1978 } 1982 }
1979 } 1983 else if (multipleupdate.ObjectData[i].Type == 11) //group rotation from mouse
1980 else if (multipleupdate.ObjectData[i].Type == 11) //group rotation from mouse
1981 {
1982 if (OnUpdatePrimGroupMouseRotation != null)
1983 { 1984 {
1984 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0); 1985 if (OnUpdatePrimGroupMouseRotation != null)
1985 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 12, true); 1986 {
1986 //Console.WriteLine("new rotation position is " + pos.X + " , " + pos.Y + " , " + pos.Z); 1987 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0);
1987 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 1988 LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 12, true);
1988 OnUpdatePrimGroupMouseRotation(multipleupdate.ObjectData[i].ObjectLocalID, pos, rot, this); 1989 //Console.WriteLine("new rotation position is " + pos.X + " , " + pos.Y + " , " + pos.Z);
1990 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
1991 OnUpdatePrimGroupMouseRotation(multipleupdate.ObjectData[i].ObjectLocalID, pos, rot, this);
1992 }
1989 } 1993 }
1990 } 1994 #endregion
1991 #endregion 1995 #region scale
1992 #region scale
1993 1996
1994 else if (multipleupdate.ObjectData[i].Type == 13) //group scale from object tab 1997 else if (multipleupdate.ObjectData[i].Type == 13) //group scale from object tab
1995 {
1996 if (OnUpdatePrimScale != null)
1997 { 1998 {
1998 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12); 1999 if (OnUpdatePrimScale != null)
1999 //Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); 2000 {
2000 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this); 2001 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12);
2001 2002 //Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z);
2002 // Change the position based on scale (for bug number 246) 2003 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this);
2003 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0); 2004
2004 // System.Console.WriteLine("new movement position is " + pos.X + " , " + pos.Y + " , " + pos.Z); 2005 // Change the position based on scale (for bug number 246)
2005 OnUpdatePrimSinglePosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this); 2006 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0);
2007 // System.Console.WriteLine("new movement position is " + pos.X + " , " + pos.Y + " , " + pos.Z);
2008 OnUpdatePrimSinglePosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this);
2009 }
2006 } 2010 }
2007 } 2011 else if (multipleupdate.ObjectData[i].Type == 29) //group scale from mouse
2008 else if (multipleupdate.ObjectData[i].Type == 29) //group scale from mouse
2009 {
2010 if (OnUpdatePrimScale != null)
2011 { 2012 {
2012 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12); 2013 if (OnUpdatePrimScale != null)
2013 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z ); 2014 {
2014 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this); 2015 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12);
2015 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0); 2016 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z );
2016 OnUpdatePrimSinglePosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this); 2017 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this);
2018 LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0);
2019 OnUpdatePrimSinglePosition(multipleupdate.ObjectData[i].ObjectLocalID, pos, this);
2020 }
2017 } 2021 }
2018 } 2022 else if (multipleupdate.ObjectData[i].Type == 5) //single prim scale from object tab
2019 else if (multipleupdate.ObjectData[i].Type == 5) //single prim scale from object tab
2020 {
2021 if (OnUpdatePrimScale != null)
2022 { 2023 {
2023 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12); 2024 if (OnUpdatePrimScale != null)
2024 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); 2025 {
2025 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this); 2026 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12);
2027 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z);
2028 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this);
2029 }
2026 } 2030 }
2027 } 2031 else if (multipleupdate.ObjectData[i].Type == 21) //single prim scale from mouse
2028 else if (multipleupdate.ObjectData[i].Type == 21) //single prim scale from mouse
2029 {
2030 if (OnUpdatePrimScale != null)
2031 { 2032 {
2032 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12); 2033 if (OnUpdatePrimScale != null)
2033 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); 2034 {
2034 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this); 2035 LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12);
2036 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z);
2037 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this);
2038 }
2035 } 2039 }
2036 }
2037 2040
2038 #endregion 2041 #endregion
2042 }
2039 } 2043 }
2040 } 2044 }
2041 return true; 2045 return true;