diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 174 |
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; |