diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | 184 |
1 files changed, 138 insertions, 46 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index a8a4ff5..5792ae6 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | |||
@@ -1,68 +1,113 @@ | |||
1 | PROBLEMS TO LOOK INTO | ||
2 | ================================================= | ||
3 | Nebadon vehicle ride, get up, ride again. Second time vehicle does not act correctly. | ||
4 | Have to rez new vehicle and delete the old to fix situation. | ||
5 | Hitting RESET on Nebadon's vehicle while riding causes vehicle to get into odd | ||
6 | position state where it will not settle onto ground properly, etc | ||
7 | Two of Nebadon vehicles in a sim max the CPU. This is new. | ||
8 | A sitting, active vehicle bobs up and down a small amount. | ||
9 | |||
1 | CURRENT PRIORITIES | 10 | CURRENT PRIORITIES |
2 | ================================================= | 11 | ================================================= |
3 | Redo BulletSimAPI to allow native C# implementation of Bullet option. | 12 | Use the HACD convex hull routine in Bullet rather than the C# version. |
4 | Avatar movement | 13 | Speed up hullifying large meshes. |
5 | flying into a wall doesn't stop avatar who keeps appearing to move through the obstacle | ||
6 | walking up stairs is not calibrated correctly (stairs out of Kepler cabin) | ||
7 | avatar capsule rotation completed | ||
8 | llMoveToTarget | ||
9 | Enable vehicle border crossings (at least as poorly as ODE) | 14 | Enable vehicle border crossings (at least as poorly as ODE) |
10 | Terrain skirts | 15 | Terrain skirts |
11 | Avatar created in previous region and not new region when crossing border | 16 | Avatar created in previous region and not new region when crossing border |
12 | Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) | 17 | Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) |
13 | Vehicle movement on terrain smoothness | 18 | Deleting a linkset while standing on the root will leave the physical shape of the root behind. |
19 | Not sure if it is because standing on it. Done with large prim linksets. | ||
20 | Linkset child rotations. | ||
21 | Nebadon spiral tube has middle sections which are rotated wrong. | ||
22 | Select linked spiral tube. Delink and note where the middle section ends up. | ||
23 | Refarb compound linkset creation to create a pseudo-root for center-of-mass | ||
24 | Let children change their shape to physical indendently and just add shapes to compound | ||
25 | Vehicle angular vertical attraction | ||
26 | vehicle angular banking | ||
27 | Center-of-gravity | ||
28 | Vehicle angular deflection | ||
29 | Preferred orientation angular correction fix | ||
30 | when should angular and linear motor targets be zeroed? when selected? | ||
31 | Need a vehicle.clear()? Or an 'else' in prestep if not physical. | ||
32 | Teravus llMoveToTarget script debug | ||
33 | Mixing of hover, buoyancy/gravity, moveToTarget, into one force | ||
34 | Setting hover height to zero disables hover even if hover flags are on (from SL wiki) | ||
35 | limitMotorUp calibration (more down?) | ||
36 | llRotLookAt | ||
37 | llLookAt | ||
38 | Avatars walking up stairs (HALF DONE) | ||
39 | Avatar movement | ||
40 | flying into a wall doesn't stop avatar who keeps appearing to move through the obstacle (DONE) | ||
41 | walking up stairs is not calibrated correctly (stairs out of Kepler cabin) (DONE) | ||
42 | avatar capsule rotation completed (NOT DONE - Bullet's capsule shape is not the solution) | ||
14 | Vehicle script tuning/debugging | 43 | Vehicle script tuning/debugging |
15 | Avanti speed script | 44 | Avanti speed script |
16 | Weapon shooter script | 45 | Weapon shooter script |
17 | limitMotorUp calibration (more down?) | 46 | Move material definitions (friction, ...) into simulator. |
18 | Boats float low in the water | ||
19 | Add material densities to the material types. | 47 | Add material densities to the material types. |
20 | 48 | One sided meshes? Should terrain be built into a closed shape? | |
21 | CRASHES | 49 | When meshes get partially wedged into the terrain, they cannot push themselves out. |
22 | ================================================= | 50 | It is possible that Bullet processes collisions whether entering or leaving a mesh. |
23 | 20121129.1411: editting/moving phys object across region boundries causes crash | 51 | Ref: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4869 |
24 | getPos-> btRigidBody::upcast -> getBodyType -> BOOM | ||
25 | 20121128.1600: mesh object not rezzing (no physics mesh). | ||
26 | Causes many errors. Doesn't stop after first error with box shape. | ||
27 | Eventually crashes when deleting the object. | ||
28 | 20121206.1434: rez Sam-pan into OSGrid BulletSim11 region | ||
29 | Immediate simulator crash. Mono does not output any stacktrace and | ||
30 | log just stops after reporting taint-time linking of the linkset. | ||
31 | 52 | ||
32 | VEHICLES TODO LIST: | 53 | VEHICLES TODO LIST: |
33 | ================================================= | 54 | ================================================= |
34 | Angular motor direction is global coordinates rather than local coordinates | 55 | LINEAR_MOTOR_DIRECTION values should be clamped to reasonable numbers. |
56 | What are the limits in SL? | ||
57 | Same for other velocity settings. | ||
58 | UBit improvements to remove rubber-banding of avatars sitting on vehicle child prims: | ||
59 | https://github.com/UbitUmarov/Ubit-opensim | ||
35 | Border crossing with linked vehicle causes crash | 60 | Border crossing with linked vehicle causes crash |
61 | 20121129.1411: editting/moving phys object across region boundries causes crash | ||
62 | getPos-> btRigidBody::upcast -> getBodyType -> BOOM | ||
36 | Vehicles (Move smoothly) | 63 | Vehicles (Move smoothly) |
37 | Add vehicle collisions so IsColliding is properly reported. | ||
38 | Needed for banking, limitMotorUp, movementLimiting, ... | ||
39 | VehicleAddForce is not scaled by the simulation step but it is only | ||
40 | applied for one step. Should it be scaled? | ||
41 | Some vehicles should not be able to turn if no speed or off ground. | 64 | Some vehicles should not be able to turn if no speed or off ground. |
65 | What to do if vehicle and prim buoyancy differ? | ||
42 | Cannot edit/move a vehicle being ridden: it jumps back to the origional position. | 66 | Cannot edit/move a vehicle being ridden: it jumps back to the origional position. |
43 | Neb car jiggling left and right | 67 | Neb car jiggling left and right |
44 | Happens on terrain and any other mesh object. Flat cubes are much smoother. | 68 | Happens on terrain and any other mesh object. Flat cubes are much smoother. |
45 | This has been reduced but not eliminated. | 69 | This has been reduced but not eliminated. |
46 | Implement referenceFrame for all the motion routines. | 70 | Implement referenceFrame for all the motion routines. |
47 | Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. | 71 | For limitMotorUp, use raycast down to find if vehicle is in the air. |
48 | Verify that angular motion specified around Z moves in the vehicle coordinates. | ||
49 | Verify llGetVel() is returning a smooth and good value for vehicle movement. | 72 | Verify llGetVel() is returning a smooth and good value for vehicle movement. |
50 | llGetVel() should return the root's velocity if requested in a child prim. | 73 | llGetVel() should return the root's velocity if requested in a child prim. |
51 | Implement function efficiency for lineaar and angular motion. | 74 | Implement function efficiency for lineaar and angular motion. |
52 | After getting off a vehicle, the root prim is phantom (can be walked through) | 75 | After getting off a vehicle, the root prim is phantom (can be walked through) |
53 | Need to force a position update for the root prim after compound shape destruction | 76 | Need to force a position update for the root prim after compound shape destruction |
54 | Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint) | 77 | Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint) |
55 | For limitMotorUp, use raycast down to find if vehicle is in the air. | ||
56 | Remove vehicle angular velocity zeroing in BSPrim.UpdateProperties(). | 78 | Remove vehicle angular velocity zeroing in BSPrim.UpdateProperties(). |
57 | A kludge that isn't fixing the real problem of Bullet adding extra motion. | 79 | A kludge that isn't fixing the real problem of Bullet adding extra motion. |
58 | Incorporate inter-relationship of angular corrections. For instance, angularDeflection | 80 | Incorporate inter-relationship of angular corrections. For instance, angularDeflection |
59 | and angularMotorUp will compute same X or Y correction. When added together | 81 | and angularMotorUp will compute same X or Y correction. When added together |
60 | creates over-correction and over-shoot and wabbling. | 82 | creates over-correction and over-shoot and wabbling. |
83 | Vehicle attributes are not restored when a vehicle is rezzed on region creation | ||
84 | Create vehicle, setup vehicle properties, restart region, vehicle is not reinitialized. | ||
61 | 85 | ||
62 | BULLETSIM TODO LIST: | 86 | GENERAL TODO LIST: |
63 | ================================================= | 87 | ================================================= |
88 | Explore btGImpactMeshShape as alternative to convex hulls for simplified physical objects. | ||
89 | Regular triangle meshes don't do physical collisions. | ||
90 | Resitution of a prim works on another prim but not on terrain. | ||
91 | The dropped prim doesn't bounce properly on the terrain. | ||
92 | Add a sanity check for PIDTarget location. | ||
93 | Level-of-detail for mesh creation. Prims with circular interiors require lod of 32. | ||
94 | Is much saved with lower LODs? At the moment, all set to 32. | ||
95 | Collisions are inconsistant: arrows are supposed to hit and report collision. Often don't. | ||
96 | If arrow show at prim, collision reported about 1/3 of time. If collision reported, | ||
97 | both arrow and prim report it. The arrow bounces off the prim 9 out of 10 times. | ||
98 | Shooting 5m sphere "arrows" at 60m/s. | ||
99 | llMoveToTarget objects are not effected by gravity until target is removed. | ||
100 | Compute CCD parameters based on body size | ||
101 | Can solver iterations be changed per body/shape? Can be for constraints but what | ||
102 | about regular vehicles? | ||
103 | Implement llSetPhysicalMaterial. | ||
104 | extend it with Center-of-mass, rolling friction, density | ||
105 | Implement llSetForceAndTorque. | ||
106 | Change BSPrim.moveToTarget to used forces rather than changing position | ||
107 | Changing position allows one to move through walls | ||
64 | Implement an avatar mesh shape. The Bullet capsule is way too limited. | 108 | Implement an avatar mesh shape. The Bullet capsule is way too limited. |
65 | Consider just hand creating a vertex/index array in a new BSShapeAvatar. | 109 | Consider just hand creating a vertex/index array in a new BSShapeAvatar. |
110 | Verify/fix phantom, volume-detect objects do not fall to infinity. Should stop at terrain. | ||
66 | Revisit CollisionMargin. Builders notice the 0.04 spacing between prims. | 111 | Revisit CollisionMargin. Builders notice the 0.04 spacing between prims. |
67 | Duplicating a physical prim causes old prim to jump away | 112 | Duplicating a physical prim causes old prim to jump away |
68 | Dup a phys prim and the original become unselected and thus interacts w/ selected prim. | 113 | Dup a phys prim and the original become unselected and thus interacts w/ selected prim. |
@@ -86,6 +131,8 @@ setForce should set a constant force. Different than AddImpulse. | |||
86 | Implement raycast. | 131 | Implement raycast. |
87 | Implement ShapeCollection.Dispose() | 132 | Implement ShapeCollection.Dispose() |
88 | Implement water as a plain so raycasting and collisions can happen with same. | 133 | Implement water as a plain so raycasting and collisions can happen with same. |
134 | Add collision penetration return | ||
135 | Add field passed back by BulletSim.dll and fill with info in ManifoldConstact.GetDistance() | ||
89 | Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE | 136 | Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE |
90 | Also osGetPhysicsEngineVerion() maybe. | 137 | Also osGetPhysicsEngineVerion() maybe. |
91 | Linkset.Position and Linkset.Orientation requre rewrite to properly return | 138 | Linkset.Position and Linkset.Orientation requre rewrite to properly return |
@@ -107,6 +154,12 @@ Physical and phantom will drop through the terrain | |||
107 | 154 | ||
108 | LINKSETS | 155 | LINKSETS |
109 | ====================================================== | 156 | ====================================================== |
157 | Child prims do not report collisions | ||
158 | Allow children of a linkset to be phantom: | ||
159 | http://opensim-dev.2196679.n2.nabble.com/Setting-a-single-child-prim-to-Phantom-tp7578513.html | ||
160 | Add OS_STATUS_PHANTOM_PRIM to llSetLinkPrimitaveParamsFast. | ||
161 | Editing a child of a linkset causes the child to go phantom | ||
162 | Move a child prim once when it is physical and can never move it again without it going phantom | ||
110 | Offset the center of the linkset to be the geometric center of all the prims | 163 | Offset the center of the linkset to be the geometric center of all the prims |
111 | Not quite the same as the center-of-gravity | 164 | Not quite the same as the center-of-gravity |
112 | Linksets should allow collisions to individual children | 165 | Linksets should allow collisions to individual children |
@@ -117,11 +170,9 @@ LinksetCompound: when one of the children changes orientation (like tires | |||
117 | Verify/think through scripts in children of linksets. What do they reference | 170 | Verify/think through scripts in children of linksets. What do they reference |
118 | and return when getting position, velocity, ... | 171 | and return when getting position, velocity, ... |
119 | Confirm constraint linksets still work after making all the changes for compound linksets. | 172 | Confirm constraint linksets still work after making all the changes for compound linksets. |
173 | Use PostTaint callback to do rebuilds for constraint linksets to reduce rebuilding | ||
120 | Add 'changed' flag or similar to reduce the number of times a linkset is rebuilt. | 174 | Add 'changed' flag or similar to reduce the number of times a linkset is rebuilt. |
121 | For compound linksets, add ability to remove or reposition individual child shapes. | 175 | For compound linksets, add ability to remove or reposition individual child shapes. |
122 | Disable activity of passive linkset children. | ||
123 | Since the linkset is a compound object, the old prims are left lying | ||
124 | around and need to be phantomized so they don't collide, ... | ||
125 | Speed up creation of large physical linksets | 176 | Speed up creation of large physical linksets |
126 | For instance, sitting in Neb's car (130 prims) takes several seconds to become physical. | 177 | For instance, sitting in Neb's car (130 prims) takes several seconds to become physical. |
127 | REALLY bad for very large physical linksets (freezes the sim for many seconds). | 178 | REALLY bad for very large physical linksets (freezes the sim for many seconds). |
@@ -131,25 +182,28 @@ Eliminate collisions between objects in a linkset. (LinksetConstraint) | |||
131 | 182 | ||
132 | MORE | 183 | MORE |
133 | ====================================================== | 184 | ====================================================== |
134 | Test avatar walking up stairs. How does compare with SL. | 185 | Compute avatar size and scale correctly. Now it is a bit off from the capsule size. |
135 | Radius of the capsule affects ability to climb edges. | 186 | Create tests for different interface components |
187 | Have test objects/scripts measure themselves and turn color if correct/bad | ||
188 | Test functions in SL and calibrate correctness there | ||
189 | Create auto rezzer and tracker to run through the tests | ||
190 | Do we need to do convex hulls all the time? Can complex meshes be left meshes? | ||
191 | There is some problem with meshes and collisions | ||
192 | Hulls are not as detailed as meshes. Hulled vehicles insides are different shape. | ||
136 | Debounce avatar contact so legs don't keep folding up when standing. | 193 | Debounce avatar contact so legs don't keep folding up when standing. |
137 | Implement LSL physics controls. Like STATUS_ROTATE_X. | 194 | Implement LSL physics controls. Like STATUS_ROTATE_X. |
138 | Add border extensions to terrain to help region crossings and objects leaving region. | 195 | Add border extensions to terrain to help region crossings and objects leaving region. |
139 | Use a different capsule shape for avatar when sitting | 196 | Use a different capsule shape for avatar when sitting |
140 | LL uses a pyrimidal shape scaled by the avatar's bounding box | 197 | LL uses a pyrimidal shape scaled by the avatar's bounding box |
141 | http://wiki.secondlife.com/wiki/File:Avmeshforms.png | 198 | http://wiki.secondlife.com/wiki/File:Avmeshforms.png |
142 | |||
143 | Performance test with lots of avatars. Can BulletSim support a thousand? | 199 | Performance test with lots of avatars. Can BulletSim support a thousand? |
144 | Optimize collisions in C++: only send up to the object subscribed to collisions. | 200 | Optimize collisions in C++: only send up to the object subscribed to collisions. |
145 | Use collision subscription and remove the collsion(A,B) and collision(B,A) | 201 | Use collision subscription and remove the collsion(A,B) and collision(B,A) |
146 | Check whether SimMotionState needs large if statement (see TODO). | 202 | Check whether SimMotionState needs large if statement (see TODO). |
147 | |||
148 | Implement 'top colliders' info. | 203 | Implement 'top colliders' info. |
149 | Avatar jump | 204 | Avatar jump |
150 | Performance measurement and changes to make quicker. | 205 | Performance measurement and changes to make quicker. |
151 | Implement detailed physics stats (GetStats()). | 206 | Implement detailed physics stats (GetStats()). |
152 | |||
153 | Measure performance improvement from hulls | 207 | Measure performance improvement from hulls |
154 | Test not using ghost objects for volume detect implementation. | 208 | Test not using ghost objects for volume detect implementation. |
155 | Performance of closures and delegates for taint processing | 209 | Performance of closures and delegates for taint processing |
@@ -157,9 +211,7 @@ Performance of closures and delegates for taint processing | |||
157 | Is any slowdown introduced by the existing implementation significant? | 211 | Is any slowdown introduced by the existing implementation significant? |
158 | Is there are more efficient method of implementing pre and post step actions? | 212 | Is there are more efficient method of implementing pre and post step actions? |
159 | See http://www.codeproject.com/Articles/29922/Weak-Events-in-C | 213 | See http://www.codeproject.com/Articles/29922/Weak-Events-in-C |
160 | |||
161 | Physics Arena central pyramid: why is one side permiable? | 214 | Physics Arena central pyramid: why is one side permiable? |
162 | |||
163 | In SL, perfect spheres don't seem to have rolling friction. Add special case. | 215 | In SL, perfect spheres don't seem to have rolling friction. Add special case. |
164 | Enforce physical parameter min/max: | 216 | Enforce physical parameter min/max: |
165 | Gravity: [-1, 28] | 217 | Gravity: [-1, 28] |
@@ -168,9 +220,12 @@ Enforce physical parameter min/max: | |||
168 | Restitution [0, 1] | 220 | Restitution [0, 1] |
169 | http://wiki.secondlife.com/wiki/Physics_Material_Settings_test | 221 | http://wiki.secondlife.com/wiki/Physics_Material_Settings_test |
170 | Avatar attachments have no mass? http://forums-archive.secondlife.com/54/f0/31796/1.html | 222 | Avatar attachments have no mass? http://forums-archive.secondlife.com/54/f0/31796/1.html |
223 | Keep avatar scaling correct. http://pennycow.blogspot.fr/2011/07/matter-of-scale.html | ||
171 | 224 | ||
172 | INTERNAL IMPROVEMENT/CLEANUP | 225 | INTERNAL IMPROVEMENT/CLEANUP |
173 | ================================================= | 226 | ================================================= |
227 | Can the 'inTaintTime' flag be cleaned up and used? For instance, a call to | ||
228 | BSScene.TaintedObject() could immediately execute the callback if already in taint time. | ||
174 | Create the physical wrapper classes (BulletBody, BulletShape) by methods on | 229 | Create the physical wrapper classes (BulletBody, BulletShape) by methods on |
175 | BSAPITemplate and make their actual implementation Bullet engine specific. | 230 | BSAPITemplate and make their actual implementation Bullet engine specific. |
176 | For the short term, just call the existing functions in ShapeCollection. | 231 | For the short term, just call the existing functions in ShapeCollection. |
@@ -190,22 +245,19 @@ Generalize Dynamics and PID with standardized motors. | |||
190 | Generalize Linkset and vehicles into PropertyManagers | 245 | Generalize Linkset and vehicles into PropertyManagers |
191 | Methods for Refresh, RemoveBodyDependencies, RestoreBodyDependencies | 246 | Methods for Refresh, RemoveBodyDependencies, RestoreBodyDependencies |
192 | Potentially add events for shape destruction, etc. | 247 | Potentially add events for shape destruction, etc. |
193 | Complete implemention of preStepActions | 248 | Better mechanism for resetting linkset set and vehicle parameters when body rebuilt. |
194 | Replace vehicle step call with prestep event. | 249 | BSPrim.CreateGeomAndObject is kludgy with the callbacks, etc. |
195 | Is there a need for postStepActions? postStepTaints? | ||
196 | Implement linkset by setting position of children when root updated. (LinksetManual) | 250 | Implement linkset by setting position of children when root updated. (LinksetManual) |
197 | Linkset implementation using manual prim movement. | 251 | Linkset implementation using manual prim movement. |
198 | LinkablePrim class? Would that simplify/centralize the linkset logic? | 252 | LinkablePrim class? Would that simplify/centralize the linkset logic? |
199 | BSScene.UpdateParameterSet() is broken. How to set params on objects? | 253 | BSScene.UpdateParameterSet() is broken. How to set params on objects? |
200 | Remove HeightmapInfo from terrain specification | ||
201 | Since C++ code does not need terrain height, this structure et al are not needed. | ||
202 | Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will | 254 | Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will |
203 | bob at the water level. BSPrim.PositionSanityCheck(). | 255 | bob at the water level. BSPrim.PositionSanityCheck() |
204 | Should taints check for existance or activeness of target? | 256 | Should taints check for existance or activeness of target? |
205 | When destroying linksets/etc, taints can be generated for objects that are | 257 | When destroying linksets/etc, taints can be generated for objects that are |
206 | actually gone when the taint happens. Crashes don't happen because the taint closure | 258 | actually gone when the taint happens. Crashes don't happen because the taint closure |
207 | keeps the object from being freed, but that is just an accident. | 259 | keeps the object from being freed, but that is just an accident. |
208 | Possibly have and 'active' flag that is checked by the taint processor? | 260 | Possibly have an 'active' flag that is checked by the taint processor? |
209 | Parameters for physics logging should be moved from BSScene to BSParam (at least boolean ones) | 261 | Parameters for physics logging should be moved from BSScene to BSParam (at least boolean ones) |
210 | Can some of the physical wrapper classes (BulletBody, BulletWorld, BulletShape) be 'sealed'? | 262 | Can some of the physical wrapper classes (BulletBody, BulletWorld, BulletShape) be 'sealed'? |
211 | There are TOO MANY interfaces from BulletSim core to Bullet itself | 263 | There are TOO MANY interfaces from BulletSim core to Bullet itself |
@@ -270,3 +322,43 @@ llSetBuoyancy() (DONE) | |||
270 | (Resolution: Bullet resets object gravity when added to world. Moved set gravity) | 322 | (Resolution: Bullet resets object gravity when added to world. Moved set gravity) |
271 | Avatar density is WAY off. Compare and calibrate with what's in SL. (DONE) | 323 | Avatar density is WAY off. Compare and calibrate with what's in SL. (DONE) |
272 | (Resolution: set default density to 3.5 (from 60) which is closer to SL) | 324 | (Resolution: set default density to 3.5 (from 60) which is closer to SL) |
325 | Redo BulletSimAPI to allow native C# implementation of Bullet option (DONE) | ||
326 | (Resolution: added BSAPITemplate and then interfaces for C++ Bullet and C# BulletXNA | ||
327 | Meshes rendering as bounding boxes (DONE) | ||
328 | (Resolution: Added test for mesh/sculpties in native shapes so it didn't think it was a box) | ||
329 | llMoveToTarget (Resolution: added simple motor to update the position.) | ||
330 | Angular motor direction is global coordinates rather than local coordinates (DONE) | ||
331 | Add vehicle collisions so IsColliding is properly reported. (DONE) | ||
332 | Needed for banking, limitMotorUp, movementLimiting, ... | ||
333 | (Resolution: added CollisionFlags.BS_VEHICLE_COLLISION and code to use it) | ||
334 | VehicleAddForce is not scaled by the simulation step but it is only | ||
335 | applied for one step. Should it be scaled? (DONE) | ||
336 | (Resolution: use force for timed things, Impulse for immediate, non-timed things) | ||
337 | Complete implemention of preStepActions (DONE) | ||
338 | Replace vehicle step call with prestep event. | ||
339 | Is there a need for postStepActions? postStepTaints? | ||
340 | Disable activity of passive linkset children. (DONE) | ||
341 | Since the linkset is a compound object, the old prims are left lying | ||
342 | around and need to be phantomized so they don't collide, ... | ||
343 | Remove HeightmapInfo from terrain specification (DONE) | ||
344 | Since C++ code does not need terrain height, this structure et al are not needed. | ||
345 | Surfboard go wonky when turning (DONE) | ||
346 | Angular motor direction is global coordinates rather than local coordinates? | ||
347 | (Resolution: made angular motor direction correct coordinate system) | ||
348 | Mantis 6040 script http://opensimulator.org/mantis/view.php?id=6040 (DONE) | ||
349 | Msg Kayaker on OSGrid when working | ||
350 | (Resolution: LINEAR_DIRECTION is in vehicle coords. Test script does the | ||
351 | same in SL as in OS/BulletSim) | ||
352 | Boats float low in the water (DONE) | ||
353 | Boats floating at proper level (DONE) | ||
354 | When is force introduced by SetForce removed? The prestep action could go forever. (DONE) | ||
355 | (Resolution: setForce registers a prestep action which keeps applying the force) | ||
356 | Child movement in linkset (don't rebuild linkset) (DONE 20130122)) | ||
357 | Avatar standing on a moving object should start to move with the object. (DONE 20130125) | ||
358 | Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. | ||
359 | Verify that angular motion specified around Z moves in the vehicle coordinates. | ||
360 | DONE 20130120: BulletSim properly applies force in vehicle relative coordinates. | ||
361 | Nebadon vehicles turning funny in arena (DONE) | ||
362 | Lock axis (DONE 20130401) | ||
363 | Terrain detail: double terrain mesh detail (DONE) | ||
364 | |||