aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorKitto Flora2010-01-21 19:31:02 -0500
committerKitto Flora2010-01-21 19:31:02 -0500
commit1abb70cc73c997c08a416fecf689b83453f853d0 (patch)
tree1b8afb44aa5c280f28b0fc9b00486cd43b7dd1a2 /OpenSim
parentChODE Object Linear Motion update (diff)
downloadopensim-SC_OLD-1abb70cc73c997c08a416fecf689b83453f853d0.zip
opensim-SC_OLD-1abb70cc73c997c08a416fecf689b83453f853d0.tar.gz
opensim-SC_OLD-1abb70cc73c997c08a416fecf689b83453f853d0.tar.bz2
opensim-SC_OLD-1abb70cc73c997c08a416fecf689b83453f853d0.tar.xz
Add glue for llSetVehicleFlags(), llRemoveVehicleFlags(). ChODE: Add associated methods.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs18
-rw-r--r--OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs10
-rw-r--r--OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs10
-rw-r--r--OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs10
-rw-r--r--OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs10
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs10
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/ODEDynamics.cs10
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs12
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs12
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs10
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs10
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSCharacter.cs10
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSPrim.cs10
-rw-r--r--OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs20
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs16
15 files changed, 174 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 4c97467..04be9fc 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2963,7 +2963,23 @@ namespace OpenSim.Region.Framework.Scenes
2963 PhysActor.VehicleRotationParam(param, rotation); 2963 PhysActor.VehicleRotationParam(param, rotation);
2964 } 2964 }
2965 } 2965 }
2966 2966
2967 public void SetVehicleFlags(int flags)
2968 {
2969 if (PhysActor != null)
2970 {
2971 PhysActor.VehicleFlagsSet(flags);
2972 }
2973 }
2974
2975 public void RemoveVehicleFlags(int flags)
2976 {
2977 if (PhysActor != null)
2978 {
2979 PhysActor.VehicleFlagsRemove(flags);
2980 }
2981 }
2982
2967 public void SetGroup(UUID groupID, IClientAPI client) 2983 public void SetGroup(UUID groupID, IClientAPI client)
2968 { 2984 {
2969 _groupID = groupID; 2985 _groupID = groupID;
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs
index 31366db..25b9099 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs
@@ -184,7 +184,17 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
184 { 184 {
185 185
186 } 186 }
187
188 public override void VehicleFlagsSet(int flags)
189 {
190
191 }
192
193 public override void VehicleFlagsRemove(int flags)
194 {
187 195
196 }
197
188 public override void SetVolumeDetect(int param) 198 public override void SetVolumeDetect(int param)
189 { 199 {
190 200
diff --git a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs
index a3344dd..120d040 100644
--- a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs
+++ b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs
@@ -361,7 +361,17 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin
361 { 361 {
362 362
363 } 363 }
364
365 public override void VehicleFlagsSet(int flags)
366 {
367
368 }
369
370 public override void VehicleFlagsRemove(int flags)
371 {
364 372
373 }
374
365 public override void SetVolumeDetect(int param) 375 public override void SetVolumeDetect(int param)
366 { 376 {
367 377
diff --git a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs
index 9603ea4..f430def 100644
--- a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs
+++ b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs
@@ -396,7 +396,17 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin
396 { 396 {
397 //TODO: 397 //TODO:
398 } 398 }
399
400 public override void VehicleFlagsSet(int flags)
401 {
402
403 }
404
405 public override void VehicleFlagsRemove(int flags)
406 {
399 407
408 }
409
400 public override void SetVolumeDetect(int param) 410 public override void SetVolumeDetect(int param)
401 { 411 {
402 //TODO: GhostObject 412 //TODO: GhostObject
diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
index d5d146e..9113ebe 100644
--- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
+++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
@@ -984,7 +984,17 @@ namespace OpenSim.Region.Physics.BulletXPlugin
984 { 984 {
985 985
986 } 986 }
987
988 public override void VehicleFlagsSet(int flags)
989 {
990
991 }
992
993 public override void VehicleFlagsRemove(int flags)
994 {
987 995
996 }
997
988 public override void SetVolumeDetect(int param) 998 public override void SetVolumeDetect(int param)
989 { 999 {
990 1000
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs
index aa0acb7..2eb519f 100644
--- a/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs
@@ -733,7 +733,17 @@ namespace OpenSim.Region.Physics.OdePlugin
733 { 733 {
734 734
735 } 735 }
736
737 public override void VehicleFlagsSet(int flags)
738 {
736 739
740 }
741
742 public override void VehicleFlagsRemove(int flags)
743 {
744
745 }
746
737 public override void SetVolumeDetect(int param) 747 public override void SetVolumeDetect(int param)
738 { 748 {
739 749
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODEDynamics.cs b/OpenSim/Region/Physics/ChOdePlugin/ODEDynamics.cs
index 9e145ec..14d5caa 100644
--- a/OpenSim/Region/Physics/ChOdePlugin/ODEDynamics.cs
+++ b/OpenSim/Region/Physics/ChOdePlugin/ODEDynamics.cs
@@ -286,7 +286,17 @@ namespace OpenSim.Region.Physics.OdePlugin
286 } 286 }
287 287
288 }//end ProcessRotationVehicleParam 288 }//end ProcessRotationVehicleParam
289
290 internal void ProcessFlagsVehicleSet(int flags)
291 {
292 m_flags |= (VehicleFlag)flags;
293 }
289 294
295 internal void ProcessFlagsVehicleRemove(int flags)
296 {
297 m_flags &= ~((VehicleFlag)flags);
298 }
299
290 internal void ProcessTypeChange(Vehicle pType) 300 internal void ProcessTypeChange(Vehicle pType)
291 { 301 {
292 // Set Defaults For Type 302 // Set Defaults For Type
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
index 6e6b44f..29a3dd9 100644
--- a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
@@ -2415,7 +2415,17 @@ Console.WriteLine(" JointCreateFixed");
2415 { 2415 {
2416 m_vehicle.ProcessRotationVehicleParam((Vehicle) param, rotation); 2416 m_vehicle.ProcessRotationVehicleParam((Vehicle) param, rotation);
2417 } 2417 }
2418 2418
2419 public override void VehicleFlagsSet(int flags)
2420 {
2421 m_vehicle.ProcessFlagsVehicleSet(flags);
2422 }
2423
2424 public override void VehicleFlagsRemove(int flags)
2425 {
2426 m_vehicle.ProcessFlagsVehicleRemove(flags);
2427 }
2428
2419 public override void SetVolumeDetect(int param) 2429 public override void SetVolumeDetect(int param)
2420 { 2430 {
2421 lock (_parent_scene.OdeLock) 2431 lock (_parent_scene.OdeLock)
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
index 9c192ed..f43de48 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
@@ -208,6 +208,8 @@ namespace OpenSim.Region.Physics.Manager
208 public abstract void VehicleFloatParam(int param, float value); 208 public abstract void VehicleFloatParam(int param, float value);
209 public abstract void VehicleVectorParam(int param, Vector3 value); 209 public abstract void VehicleVectorParam(int param, Vector3 value);
210 public abstract void VehicleRotationParam(int param, Quaternion rotation); 210 public abstract void VehicleRotationParam(int param, Quaternion rotation);
211 public abstract void VehicleFlagsSet(int flags);
212 public abstract void VehicleFlagsRemove(int flags);
211 213
212 public abstract void SetVolumeDetect(int param); // Allows the detection of collisions with inherently non-physical prims. see llVolumeDetect for more 214 public abstract void SetVolumeDetect(int param); // Allows the detection of collisions with inherently non-physical prims. see llVolumeDetect for more
213 215
@@ -351,7 +353,17 @@ namespace OpenSim.Region.Physics.Manager
351 { 353 {
352 354
353 } 355 }
356
357 public override void VehicleFlagsSet(int flags)
358 {
359
360 }
361
362 public override void VehicleFlagsRemove(int flags)
363 {
354 364
365 }
366
355 public override void SetVolumeDetect(int param) 367 public override void SetVolumeDetect(int param)
356 { 368 {
357 369
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index a38fccc..b713142 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -733,7 +733,17 @@ namespace OpenSim.Region.Physics.OdePlugin
733 { 733 {
734 734
735 } 735 }
736
737 public override void VehicleFlagsSet(int flags)
738 {
739
740 }
741
742 public override void VehicleFlagsRemove(int flags)
743 {
736 744
745 }
746
737 public override void SetVolumeDetect(int param) 747 public override void SetVolumeDetect(int param)
738 { 748 {
739 749
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 567fd0e..010d97f 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -2352,6 +2352,16 @@ Console.WriteLine(" JointCreateFixed");
2352 { 2352 {
2353 m_vehicle.ProcessRotationVehicleParam((Vehicle) param, rotation); 2353 m_vehicle.ProcessRotationVehicleParam((Vehicle) param, rotation);
2354 } 2354 }
2355
2356 public override void VehicleFlagsSet(int flags)
2357 {
2358
2359 }
2360
2361 public override void VehicleFlagsRemove(int flags)
2362 {
2363
2364 }
2355 2365
2356 public override void SetVolumeDetect(int param) 2366 public override void SetVolumeDetect(int param)
2357 { 2367 {
diff --git a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
index 566b4e7..491e200 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
@@ -181,7 +181,17 @@ namespace OpenSim.Region.Physics.POSPlugin
181 { 181 {
182 182
183 } 183 }
184
185 public override void VehicleFlagsSet(int flags)
186 {
187
188 }
189
190 public override void VehicleFlagsRemove(int flags)
191 {
184 192
193 }
194
185 public override void SetVolumeDetect(int param) 195 public override void SetVolumeDetect(int param)
186 { 196 {
187 197
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
index edccf47..f8d49f9 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
@@ -138,7 +138,17 @@ namespace OpenSim.Region.Physics.POSPlugin
138 { 138 {
139 139
140 } 140 }
141
142 public override void VehicleFlagsSet(int flags)
143 {
141 144
145 }
146
147 public override void VehicleFlagsRemove(int flags)
148 {
149
150 }
151
142 public override void SetVolumeDetect(int param) 152 public override void SetVolumeDetect(int param)
143 { 153 {
144 154
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
index 24eb6b1..e54065c 100644
--- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
+++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
@@ -370,7 +370,17 @@ namespace OpenSim.Region.Physics.PhysXPlugin
370 { 370 {
371 371
372 } 372 }
373
374 public override void VehicleFlagsSet(int flags)
375 {
376
377 }
378
379 public override void VehicleFlagsRemove(int flags)
380 {
373 381
382 }
383
374 public override void SetVolumeDetect(int param) 384 public override void SetVolumeDetect(int param)
375 { 385 {
376 386
@@ -774,7 +784,17 @@ namespace OpenSim.Region.Physics.PhysXPlugin
774 { 784 {
775 785
776 } 786 }
787
788 public override void VehicleFlagsSet(int flags)
789 {
790
791 }
792
793 public override void VehicleFlagsRemove(int flags)
794 {
777 795
796 }
797
778 public override void SetVolumeDetect(int param) 798 public override void SetVolumeDetect(int param)
779 { 799 {
780 800
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index a5aecd8..33218aa 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6315,13 +6315,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6315 public void llSetVehicleFlags(int flags) 6315 public void llSetVehicleFlags(int flags)
6316 { 6316 {
6317 m_host.AddScriptLPS(1); 6317 m_host.AddScriptLPS(1);
6318 NotImplemented("llSetVehicleFlags"); 6318 if (m_host.ParentGroup != null)
6319 {
6320 if (!m_host.ParentGroup.IsDeleted)
6321 {
6322 m_host.ParentGroup.RootPart.SetVehicleFlags(flags);
6323 }
6324 }
6319 } 6325 }
6320 6326
6321 public void llRemoveVehicleFlags(int flags) 6327 public void llRemoveVehicleFlags(int flags)
6322 { 6328 {
6323 m_host.AddScriptLPS(1); 6329 m_host.AddScriptLPS(1);
6324 NotImplemented("llRemoveVehicleFlags"); 6330 if (m_host.ParentGroup != null)
6331 {
6332 if (!m_host.ParentGroup.IsDeleted)
6333 {
6334 m_host.ParentGroup.RootPart.RemoveVehicleFlags(flags);
6335 }
6336 }
6325 } 6337 }
6326 6338
6327 public void llSitTarget(LSL_Vector offset, LSL_Rotation rot) 6339 public void llSitTarget(LSL_Vector offset, LSL_Rotation rot)