diff options
4 files changed, 6 insertions, 38 deletions
diff --git a/OpenSim/Data/MySQL/MySQLRegionData.cs b/OpenSim/Data/MySQL/MySQLRegionData.cs index 8a24fec..b13813f 100644 --- a/OpenSim/Data/MySQL/MySQLRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLRegionData.cs | |||
@@ -196,7 +196,6 @@ namespace OpenSim.Data.MySQL | |||
196 | "ColorR, ColorG, ColorB, ColorA, "+ | 196 | "ColorR, ColorG, ColorB, ColorA, "+ |
197 | "ParticleSystem, ClickAction, Material, "+ | 197 | "ParticleSystem, ClickAction, Material, "+ |
198 | "CollisionSound, CollisionSoundVolume, "+ | 198 | "CollisionSound, CollisionSoundVolume, "+ |
199 | "PassTouches, "+ | ||
200 | "LinkNumber) values (" + "?UUID, "+ | 199 | "LinkNumber) values (" + "?UUID, "+ |
201 | "?CreationDate, ?Name, ?Text, "+ | 200 | "?CreationDate, ?Name, ?Text, "+ |
202 | "?Description, ?SitName, ?TouchName, "+ | 201 | "?Description, ?SitName, ?TouchName, "+ |
@@ -228,7 +227,7 @@ namespace OpenSim.Data.MySQL | |||
228 | "?SaleType, ?ColorR, ?ColorG, "+ | 227 | "?SaleType, ?ColorR, ?ColorG, "+ |
229 | "?ColorB, ?ColorA, ?ParticleSystem, "+ | 228 | "?ColorB, ?ColorA, ?ParticleSystem, "+ |
230 | "?ClickAction, ?Material, ?CollisionSound, "+ | 229 | "?ClickAction, ?Material, ?CollisionSound, "+ |
231 | "?CollisionSoundVolume, ?PassTouches, ?LinkNumber)"; | 230 | "?CollisionSoundVolume, ?LinkNumber)"; |
232 | 231 | ||
233 | FillPrimCommand(cmd, prim, obj.UUID, regionUUID); | 232 | FillPrimCommand(cmd, prim, obj.UUID, regionUUID); |
234 | 233 | ||
@@ -951,9 +950,6 @@ namespace OpenSim.Data.MySQL | |||
951 | 950 | ||
952 | prim.CollisionSound = new UUID(row["CollisionSound"].ToString()); | 951 | prim.CollisionSound = new UUID(row["CollisionSound"].ToString()); |
953 | prim.CollisionSoundVolume = Convert.ToSingle(row["CollisionSoundVolume"]); | 952 | prim.CollisionSoundVolume = Convert.ToSingle(row["CollisionSoundVolume"]); |
954 | |||
955 | if (Convert.ToInt16(row["PassTouches"]) != 0) | ||
956 | prim.PassTouches = true; | ||
957 | prim.LinkNum = Convert.ToInt32(row["LinkNumber"]); | 953 | prim.LinkNum = Convert.ToInt32(row["LinkNumber"]); |
958 | 954 | ||
959 | return prim; | 955 | return prim; |
@@ -1276,12 +1272,6 @@ namespace OpenSim.Data.MySQL | |||
1276 | 1272 | ||
1277 | cmd.Parameters.AddWithValue("CollisionSound", prim.CollisionSound.ToString()); | 1273 | cmd.Parameters.AddWithValue("CollisionSound", prim.CollisionSound.ToString()); |
1278 | cmd.Parameters.AddWithValue("CollisionSoundVolume", prim.CollisionSoundVolume); | 1274 | cmd.Parameters.AddWithValue("CollisionSoundVolume", prim.CollisionSoundVolume); |
1279 | |||
1280 | if (prim.PassTouches) | ||
1281 | cmd.Parameters.AddWithValue("PassTouches", 1); | ||
1282 | else | ||
1283 | cmd.Parameters.AddWithValue("PassTouches", 0); | ||
1284 | |||
1285 | cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum); | 1275 | cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum); |
1286 | } | 1276 | } |
1287 | 1277 | ||
@@ -1544,4 +1534,4 @@ namespace OpenSim.Data.MySQL | |||
1544 | } | 1534 | } |
1545 | } | 1535 | } |
1546 | } | 1536 | } |
1547 | } | 1537 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index 8bf47e7..4c99873 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |||
@@ -251,16 +251,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
251 | 251 | ||
252 | // If the touched prim handles touches, deliver it | 252 | // If the touched prim handles touches, deliver it |
253 | // If not, deliver to root prim | 253 | // If not, deliver to root prim |
254 | if ((part.ScriptEvents & scriptEvents.touch_start) != 0) | 254 | if ((part.ScriptEvents & scriptEvents.touch_start) != 0) |
255 | EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); | 255 | EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); |
256 | // Deliver to the root prim if the touched prim doesn't handle touches | 256 | else |
257 | // or if we're meant to pass on touches anyway. Don't send to root prim | ||
258 | // if prim touched is the root prim as we just did it | ||
259 | if (((part.ScriptEvents & scriptEvents.touch_start) == 0) || | ||
260 | (part.PassTouches && (part.LocalId != obj.RootPart.LocalId))) | ||
261 | { | ||
262 | EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); | 257 | EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); |
263 | } | ||
264 | 258 | ||
265 | return; | 259 | return; |
266 | } | 260 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 719b028..9a455ae 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -102,6 +102,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
102 | 102 | ||
103 | #region Fields | 103 | #region Fields |
104 | 104 | ||
105 | [XmlIgnore] | ||
105 | public bool AllowedDrop = false; | 106 | public bool AllowedDrop = false; |
106 | 107 | ||
107 | [XmlIgnore] | 108 | [XmlIgnore] |
@@ -215,9 +216,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
215 | private readonly UndoStack<UndoState> m_undo = new UndoStack<UndoState>(5); | 216 | private readonly UndoStack<UndoState> m_undo = new UndoStack<UndoState>(5); |
216 | private UUID _creatorID; | 217 | private UUID _creatorID; |
217 | 218 | ||
218 | |||
219 | private bool m_passTouches = false; | ||
220 | |||
221 | /// <summary> | 219 | /// <summary> |
222 | /// Only used internally to schedule client updates. | 220 | /// Only used internally to schedule client updates. |
223 | /// 0 - no update is scheduled | 221 | /// 0 - no update is scheduled |
@@ -433,17 +431,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
433 | } | 431 | } |
434 | } | 432 | } |
435 | 433 | ||
436 | public bool PassTouches | ||
437 | { | ||
438 | get { return m_passTouches; } | ||
439 | set | ||
440 | { | ||
441 | m_passTouches = value; | ||
442 | if (ParentGroup != null) | ||
443 | ParentGroup.HasGroupChanged = true; | ||
444 | } | ||
445 | } | ||
446 | |||
447 | public ulong RegionHandle | 434 | public ulong RegionHandle |
448 | { | 435 | { |
449 | get { return m_regionHandle; } | 436 | get { return m_regionHandle; } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f4a944c..f932dbe 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3705,10 +3705,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3705 | public void llPassTouches(int pass) | 3705 | public void llPassTouches(int pass) |
3706 | { | 3706 | { |
3707 | m_host.AddScriptLPS(1); | 3707 | m_host.AddScriptLPS(1); |
3708 | if (pass != 0) | 3708 | NotImplemented("llPassTouches"); |
3709 | m_host.PassTouches = true; | ||
3710 | else | ||
3711 | m_host.PassTouches = false; | ||
3712 | } | 3709 | } |
3713 | 3710 | ||
3714 | public LSL_String llRequestAgentData(string id, int data) | 3711 | public LSL_String llRequestAgentData(string id, int data) |