diff options
author | SignpostMarv | 2012-09-06 11:45:52 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-09-08 00:44:27 +0100 |
commit | e041f09750419f60c819ee7e7a99044fe43a811c (patch) | |
tree | 85653d0f58246db0da634c3a84152d94259ea906 | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC_OLD-e041f09750419f60c819ee7e7a99044fe43a811c.zip opensim-SC_OLD-e041f09750419f60c819ee7e7a99044fe43a811c.tar.gz opensim-SC_OLD-e041f09750419f60c819ee7e7a99044fe43a811c.tar.bz2 opensim-SC_OLD-e041f09750419f60c819ee7e7a99044fe43a811c.tar.xz |
refactoring to allow Scene.GetLandData to accept Vector3 as an argument. Note that the prior work on LSL_Vector implicit operators means one does not need to explicitly cast a LSL_Vector to Vector3
5 files changed, 22 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a2d553d..ff3d3af 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -4334,6 +4334,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
4334 | return LandChannel.GetLandObject(x, y).LandData; | 4334 | return LandChannel.GetLandObject(x, y).LandData; |
4335 | } | 4335 | } |
4336 | 4336 | ||
4337 | /// <summary> | ||
4338 | /// Get LandData by position. | ||
4339 | /// </summary> | ||
4340 | /// <param name="pos"></param> | ||
4341 | /// <returns></returns> | ||
4342 | public LandData GetLandData(Vector3 pos) | ||
4343 | { | ||
4344 | return GetLandData(pos.X, pos.Y); | ||
4345 | } | ||
4346 | |||
4337 | public LandData GetLandData(uint x, uint y) | 4347 | public LandData GetLandData(uint x, uint y) |
4338 | { | 4348 | { |
4339 | m_log.DebugFormat("[SCENE]: returning land for {0},{1}", x, y); | 4349 | m_log.DebugFormat("[SCENE]: returning land for {0},{1}", x, y); |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs index 7fafdc6..37ab35a 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs | |||
@@ -447,7 +447,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
447 | // settings allow voice, then whether parcel allows | 447 | // settings allow voice, then whether parcel allows |
448 | // voice, if all do retrieve or obtain the parcel | 448 | // voice, if all do retrieve or obtain the parcel |
449 | // voice channel | 449 | // voice channel |
450 | LandData land = scene.GetLandData(avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y); | 450 | LandData land = scene.GetLandData(avatar.AbsolutePosition); |
451 | 451 | ||
452 | //m_log.DebugFormat("[FreeSwitchVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}", | 452 | //m_log.DebugFormat("[FreeSwitchVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}", |
453 | // scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param); | 453 | // scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param); |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs index a36fd74..c5fcef4 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs | |||
@@ -623,7 +623,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice | |||
623 | // settings allow voice, then whether parcel allows | 623 | // settings allow voice, then whether parcel allows |
624 | // voice, if all do retrieve or obtain the parcel | 624 | // voice, if all do retrieve or obtain the parcel |
625 | // voice channel | 625 | // voice channel |
626 | LandData land = scene.GetLandData(avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y); | 626 | LandData land = scene.GetLandData(avatar.AbsolutePosition); |
627 | 627 | ||
628 | m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}", | 628 | m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}", |
629 | scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param); | 629 | scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 83c9739..11826bd 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1959,8 +1959,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1959 | // this could possibly be done in the above else-if block, but we're doing the check here to keep the code easier to read. | 1959 | // this could possibly be done in the above else-if block, but we're doing the check here to keep the code easier to read. |
1960 | 1960 | ||
1961 | Vector3 objectPos = m_host.ParentGroup.RootPart.AbsolutePosition; | 1961 | Vector3 objectPos = m_host.ParentGroup.RootPart.AbsolutePosition; |
1962 | LandData here = World.GetLandData((float)objectPos.X, (float)objectPos.Y); | 1962 | LandData here = World.GetLandData(objectPos); |
1963 | LandData there = World.GetLandData((float)pos.x, (float)pos.y); | 1963 | LandData there = World.GetLandData(pos); |
1964 | 1964 | ||
1965 | // we're only checking prim limits if it's moving to a different parcel under the assumption that if the object got onto the parcel without exceeding the prim limits. | 1965 | // we're only checking prim limits if it's moving to a different parcel under the assumption that if the object got onto the parcel without exceeding the prim limits. |
1966 | 1966 | ||
@@ -9770,20 +9770,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9770 | switch ((ParcelMediaCommandEnum) aList.Data[i]) | 9770 | switch ((ParcelMediaCommandEnum) aList.Data[i]) |
9771 | { | 9771 | { |
9772 | case ParcelMediaCommandEnum.Url: | 9772 | case ParcelMediaCommandEnum.Url: |
9773 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL)); | 9773 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaURL)); |
9774 | break; | 9774 | break; |
9775 | case ParcelMediaCommandEnum.Desc: | 9775 | case ParcelMediaCommandEnum.Desc: |
9776 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description)); | 9776 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).Description)); |
9777 | break; | 9777 | break; |
9778 | case ParcelMediaCommandEnum.Texture: | 9778 | case ParcelMediaCommandEnum.Texture: |
9779 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID.ToString())); | 9779 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaID.ToString())); |
9780 | break; | 9780 | break; |
9781 | case ParcelMediaCommandEnum.Type: | 9781 | case ParcelMediaCommandEnum.Type: |
9782 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaType)); | 9782 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaType)); |
9783 | break; | 9783 | break; |
9784 | case ParcelMediaCommandEnum.Size: | 9784 | case ParcelMediaCommandEnum.Size: |
9785 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaWidth)); | 9785 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaWidth)); |
9786 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaHeight)); | 9786 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaHeight)); |
9787 | break; | 9787 | break; |
9788 | default: | 9788 | default: |
9789 | ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; | 9789 | ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; |
@@ -10398,7 +10398,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10398 | public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param) | 10398 | public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param) |
10399 | { | 10399 | { |
10400 | m_host.AddScriptLPS(1); | 10400 | m_host.AddScriptLPS(1); |
10401 | LandData land = World.GetLandData((float)pos.x, (float)pos.y); | 10401 | LandData land = World.GetLandData(pos); |
10402 | if (land == null) | 10402 | if (land == null) |
10403 | { | 10403 | { |
10404 | return new LSL_List(0); | 10404 | return new LSL_List(0); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 2e1e5b6..8b73cd9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2941,7 +2941,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2941 | ScenePresence presence = World.GetScenePresence(avatarId); | 2941 | ScenePresence presence = World.GetScenePresence(avatarId); |
2942 | if (presence != null) | 2942 | if (presence != null) |
2943 | { | 2943 | { |
2944 | LandData land = World.GetLandData((float)pos.X, (float)pos.Y); | 2944 | LandData land = World.GetLandData(pos); |
2945 | if ((land.Flags & (uint)ParcelFlags.AllowDamage) == (uint)ParcelFlags.AllowDamage) | 2945 | if ((land.Flags & (uint)ParcelFlags.AllowDamage) == (uint)ParcelFlags.AllowDamage) |
2946 | { | 2946 | { |
2947 | float health = presence.Health; | 2947 | float health = presence.Health; |