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
							parent
							
								
									a2a46a18ae
								
							
						
					
					
						commit
						f8612b0d1b
					
				|  | @ -4301,6 +4301,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             return LandChannel.GetLandObject(x, y).LandData; | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Get LandData by position. | ||||
|         /// </summary> | ||||
|         /// <param name="pos"></param> | ||||
|         /// <returns></returns> | ||||
|         public LandData GetLandData(Vector3 pos) | ||||
|         { | ||||
|             return GetLandData(pos.X, pos.Y); | ||||
|         } | ||||
| 
 | ||||
|         public LandData GetLandData(uint x, uint y) | ||||
|         { | ||||
|             m_log.DebugFormat("[SCENE]: returning land for {0},{1}", x, y); | ||||
|  |  | |||
|  | @ -447,7 +447,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
|                 // settings allow voice, then whether parcel allows | ||||
|                 // voice, if all do retrieve or obtain the parcel | ||||
|                 // voice channel | ||||
|                 LandData land = scene.GetLandData(avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y); | ||||
|                 LandData land = scene.GetLandData(avatar.AbsolutePosition); | ||||
| 
 | ||||
|                 //m_log.DebugFormat("[FreeSwitchVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}", | ||||
|                 //                  scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param); | ||||
|  |  | |||
|  | @ -623,7 +623,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice | |||
|                 // settings allow voice, then whether parcel allows | ||||
|                 // voice, if all do retrieve or obtain the parcel | ||||
|                 // voice channel | ||||
|                 LandData land = scene.GetLandData(avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y); | ||||
|                 LandData land = scene.GetLandData(avatar.AbsolutePosition); | ||||
| 
 | ||||
|                 m_log.DebugFormat("[VivoxVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": request: {4}, path: {5}, param: {6}", | ||||
|                                   scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, request, path, param); | ||||
|  |  | |||
|  | @ -1979,8 +1979,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             // 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. | ||||
| 
 | ||||
|             Vector3 objectPos = m_host.ParentGroup.RootPart.AbsolutePosition; | ||||
|             LandData here = World.GetLandData((float)objectPos.X, (float)objectPos.Y); | ||||
|             LandData there = World.GetLandData((float)pos.x, (float)pos.y); | ||||
|             LandData here = World.GetLandData(objectPos); | ||||
|             LandData there = World.GetLandData(pos); | ||||
| 
 | ||||
|             // 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. | ||||
| 
 | ||||
|  | @ -9699,20 +9699,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|                     switch ((ParcelMediaCommandEnum) aList.Data[i]) | ||||
|                     { | ||||
|                         case ParcelMediaCommandEnum.Url: | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL)); | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaURL)); | ||||
|                             break; | ||||
|                         case ParcelMediaCommandEnum.Desc: | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description)); | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).Description)); | ||||
|                             break; | ||||
|                         case ParcelMediaCommandEnum.Texture: | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID.ToString())); | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaID.ToString())); | ||||
|                             break; | ||||
|                         case ParcelMediaCommandEnum.Type: | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaType)); | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaType)); | ||||
|                             break; | ||||
|                         case ParcelMediaCommandEnum.Size: | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaWidth)); | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaHeight)); | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaWidth)); | ||||
|                             list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition).MediaHeight)); | ||||
|                             break; | ||||
|                         default: | ||||
|                             ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; | ||||
|  | @ -10329,7 +10329,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|         public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param) | ||||
|         { | ||||
|             m_host.AddScriptLPS(1); | ||||
|             LandData land = World.GetLandData((float)pos.x, (float)pos.y); | ||||
|             LandData land = World.GetLandData(pos); | ||||
|             if (land == null) | ||||
|             { | ||||
|                 return new LSL_List(0); | ||||
|  |  | |||
|  | @ -2911,7 +2911,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             ScenePresence presence = World.GetScenePresence(avatarId);  | ||||
|             if (presence != null) | ||||
|             { | ||||
|                 LandData land = World.GetLandData((float)pos.X, (float)pos.Y); | ||||
|                 LandData land = World.GetLandData(pos); | ||||
|                 if ((land.Flags & (uint)ParcelFlags.AllowDamage) == (uint)ParcelFlags.AllowDamage) | ||||
|                 { | ||||
|                     float health = presence.Health; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 SignpostMarv
						SignpostMarv