aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics
diff options
context:
space:
mode:
authorRobert Adams2013-08-20 08:14:08 -0700
committerRobert Adams2013-09-11 09:12:02 -0700
commit4781297b4ee5908b76039ce3b38291eb2e89e157 (patch)
tree02eda7c6afb4137afbffacb82dc1507a778ffe0f /OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics
parentBulletSim: adjust avatar capsule height calculation to be closer to defined S... (diff)
downloadopensim-SC_OLD-4781297b4ee5908b76039ce3b38291eb2e89e157.zip
opensim-SC_OLD-4781297b4ee5908b76039ce3b38291eb2e89e157.tar.gz
opensim-SC_OLD-4781297b4ee5908b76039ce3b38291eb2e89e157.tar.bz2
opensim-SC_OLD-4781297b4ee5908b76039ce3b38291eb2e89e157.tar.xz
BulletSim: Extension parameters passed through the classes made to pass just and array of objects rather than a mixture of parameters and array. Makes understanding and parsing what is being passed much easier.
Diffstat (limited to 'OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics')
-rwxr-xr-xOpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs23
1 files changed, 18 insertions, 5 deletions
diff --git a/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs b/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs
index d035f7b..90cf15a 100755
--- a/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs
@@ -315,7 +315,8 @@ public class ExtendedPhysics : INonSharedRegionModule
315 315
316 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor)) 316 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor))
317 { 317 {
318 ret = MakeIntError(rootPhysActor.Extension(PhysFunctChangeLinkType, childPhysActor, typeCode)); 318 object[] parms = { childPhysActor, typeCode };
319 ret = MakeIntError(rootPhysActor.Extension(PhysFunctChangeLinkType, parms));
319 } 320 }
320 321
321 return ret; 322 return ret;
@@ -323,7 +324,7 @@ public class ExtendedPhysics : INonSharedRegionModule
323 324
324 // physGetLinkType(integer linkNum) 325 // physGetLinkType(integer linkNum)
325 [ScriptInvocation] 326 [ScriptInvocation]
326 public int physGetLinkType(UUID hostID, UUID scriptID, int linkNum, int typeCode) 327 public int physGetLinkType(UUID hostID, UUID scriptID, int linkNum)
327 { 328 {
328 int ret = -1; 329 int ret = -1;
329 if (!Enabled) return ret; 330 if (!Enabled) return ret;
@@ -333,7 +334,8 @@ public class ExtendedPhysics : INonSharedRegionModule
333 334
334 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor)) 335 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor))
335 { 336 {
336 ret = MakeIntError(rootPhysActor.Extension(PhysFunctGetLinkType, childPhysActor)); 337 object[] parms = { childPhysActor };
338 ret = MakeIntError(rootPhysActor.Extension(PhysFunctGetLinkType, parms));
337 } 339 }
338 340
339 return ret; 341 return ret;
@@ -352,7 +354,8 @@ public class ExtendedPhysics : INonSharedRegionModule
352 354
353 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor)) 355 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor))
354 { 356 {
355 ret = MakeIntError(rootPhysActor.Extension(PhysFunctChangeLinkType, childPhysActor, PHYS_LINK_TYPE_FIXED)); 357 object[] parms = { childPhysActor , PHYS_LINK_TYPE_FIXED };
358 ret = MakeIntError(rootPhysActor.Extension(PhysFunctChangeLinkType, parms));
356 } 359 }
357 360
358 return ret; 361 return ret;
@@ -409,7 +412,8 @@ public class ExtendedPhysics : INonSharedRegionModule
409 412
410 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor)) 413 if (GetRootAndChildPhysActors(hostID, linkNum, out rootPhysActor, out childPhysActor))
411 { 414 {
412 ret = MakeIntError(rootPhysActor.Extension(PhysFunctChangeLinkParams, childPhysActor, parms)); 415 object[] parms2 = AddToBeginningOfArray(childPhysActor, parms);
416 ret = MakeIntError(rootPhysActor.Extension(PhysFunctChangeLinkParams, parms2));
413 } 417 }
414 418
415 return ret; 419 return ret;
@@ -513,6 +517,15 @@ public class ExtendedPhysics : INonSharedRegionModule
513 return ret; 517 return ret;
514 } 518 }
515 519
520 // Return an array of objects with the passed object as the first object of a new array
521 private object[] AddToBeginningOfArray(object firstOne, object[] prevArray)
522 {
523 object[] newArray = new object[1 + prevArray.Length];
524 newArray[0] = firstOne;
525 prevArray.CopyTo(newArray, 1);
526 return newArray;
527 }
528
516 // Extension() returns an object. Convert that object into the integer error we expect to return. 529 // Extension() returns an object. Convert that object into the integer error we expect to return.
517 private int MakeIntError(object extensionRet) 530 private int MakeIntError(object extensionRet)
518 { 531 {