Justin Clark-Casey (justincc)
014a86c26b
Adding commented out log messages and some minor formatting for future bug hunting. No functional changes.
2012-01-02 19:46:30 +00:00
Melanie
c9dbcfbb31
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
2011-12-24 01:43:44 +01:00
Melanie
f2855d3668
Add setter for Acceleration on physics objects.
2011-12-24 01:41:32 +01:00
Melanie
b8a914b15b
Merge branch 'master' into careminster
2011-12-23 01:00:34 +00:00
Justin Clark-Casey (justincc)
790ca65c84
Align default ODE_STEPSIZE with that already used through OpenSimDefaults.ini
2011-12-22 20:22:15 +00:00
Melanie
b970d4f976
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-22 16:37:25 +00:00
Dan Lake
41b02a7208
Remove unused SetAcceleration and add set on Acceleration parameter
2011-12-20 14:45:32 -08:00
Melanie
ca6113a4d5
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
2011-12-20 21:51:43 +00:00
Diva Canto
dd69c9fd20
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-12-20 09:53:05 -08:00
Diva Canto
25cbba9bca
Fixed bug of avie going under the terrain when crossing regions in certain directions. This was a 1-off bug: the terrain was being placed in 127, 127 resulting in a bounding box if -2, 256. I placed it in 128, 128 resulting in a bounding box of -1, 257.
2011-12-20 09:43:39 -08:00
Melanie
759f1d2dbe
Merge branch 'master' into careminster
2011-12-18 10:49:45 +00:00
Justin Clark-Casey (justincc)
5d79f857b0
Comment out accidentally left in "Adding physics prim" log message
2011-12-16 20:54:28 +00:00
Justin Clark-Casey (justincc)
8013c0d2f5
Stop pointlessly setting the m_colliderarr[] to false in the ODECharacter constructor
2011-12-15 22:33:14 +00:00
Justin Clark-Casey (justincc)
c0ba99e5ad
Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() when we've already passed size information to the avatar at PhysicsScene.AddAvatar()
...
Eliminate some copypasta for height setting in OdeCharacter
2011-12-15 22:29:36 +00:00
Justin Clark-Casey (justincc)
937c06db54
Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacter
...
Stop hiding RemoveAvatar failure, add log messages when characters are removed through defects or re-added unexpectedly.
Add commented out log lines for future use.
Use automatic property for PhysicsActor for better code readability and simplicity
2011-12-15 21:57:22 +00:00
Justin Clark-Casey (justincc)
6f2d80cc93
minor: add some currently commented log lines for use in debugging
2011-12-14 21:27:47 +00:00
Melanie
69f29cb53e
Merge branch 'master' into careminster
2011-12-14 19:50:43 +00:00
Justin Clark-Casey (justincc)
e830a77860
Simplify some manipulation of _taintedActors in OdeScene
2011-12-14 18:33:44 +00:00
Justin Clark-Casey (justincc)
a110a7bd6a
Eliminate _taintedPrimsH and _taintedPrimsL (and _taintedPrimLock) in favour of just a _taintedPrims HashSet.
...
There's no point maintaining a list because any pending taint operations are all carried out in the same call anyway.
2011-12-14 18:03:25 +00:00
Melanie
898549d13e
Merge branch 'master' into careminster
2011-12-14 08:57:55 +00:00
Justin Clark-Casey (justincc)
4dfd2c7d47
minor: remove pointless comment from OdeScene.cs
2011-12-12 19:31:50 +00:00
Melanie
b60ff651a3
Merge branch 'master' into bigmerge
2011-12-01 12:16:59 +00:00
Justin Clark-Casey (justincc)
a17f93ff44
minor: remove mono compile warning, a Vector3 can never be null since it's a struct
2011-11-29 16:31:10 +00:00
Melanie
dc612d0f08
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-11-28 11:06:38 +00:00
Justin Clark-Casey (justincc)
b785f204ce
remove some mono compiler warnings
2011-11-25 22:19:57 +00:00
Melanie
a8270cb48c
Merge branch 'master' into bigmerge
2011-11-24 01:16:37 +00:00
Justin Clark-Casey (justincc)
b56410285b
Log error if we attempt to add/remove an OdeCharacter from the _characters list inappropriately
2011-11-22 22:46:25 +00:00
Justin Clark-Casey (justincc)
ace4324e75
Stop removing actor from the hash maps in OdeScene.RemoveCharacter() since this is now being down in OdeCharacter.DestroyOdeStructures()
2011-11-22 22:37:06 +00:00
Justin Clark-Casey (justincc)
af90b52731
Comment out uncalled OdeScene.UnCombine()
2011-11-22 22:28:46 +00:00
Justin Clark-Casey (justincc)
daf99f8c0a
slightly simplify OdeScene.Simulate() by removing bool processtaints, since we can inspect count of taint lists instead.
...
also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
2011-11-22 21:51:00 +00:00
Justin Clark-Casey (justincc)
c4e4a29478
Slightly improve "Unable to space collide" logging message, though I don't think I've ever seen this.
2011-11-21 21:31:26 +00:00
Justin Clark-Casey (justincc)
4ddff7eb0f
Get rid of OdeCharacter != null checks since OdeScene._characters can never contain a null character.
...
Ignoring the ancient code glyphs not to do this....
2011-11-21 21:29:56 +00:00
Justin Clark-Casey (justincc)
82dc7886fc
remove unnecessary OdeScene._activeprims locking. Code is single-threaded
2011-11-21 21:15:15 +00:00
Justin Clark-Casey (justincc)
7480f2fd0e
Restore defects list. In hindsight, the reason for this is becuase we can't remove the character whilst iterating over the list.
...
This commit also removes locking on OdeScene._characters since code is single threaded
2011-11-21 21:04:24 +00:00
Justin Clark-Casey (justincc)
546259b2ff
simplify operation of OdeScene._perloopContact
2011-11-21 20:30:37 +00:00
Justin Clark-Casey (justincc)
25d9001de1
don't bother locking OdeScene._perloopContact in single threaded code
2011-11-21 20:17:36 +00:00
Justin Clark-Casey (justincc)
e33b0fa35b
don't lock OdeScene.contacts since only ever accessed by a single thread
2011-11-21 20:12:04 +00:00
Justin Clark-Casey (justincc)
e67ba0ad06
rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to match existing DestroyOdeStructures()
2011-11-21 20:01:34 +00:00
Justin Clark-Casey (justincc)
063f0f5d97
refactor: Eliminate one line ODECharacter.doForce() method for code clarity
2011-11-21 19:58:37 +00:00
Justin Clark-Casey (justincc)
225b925f4e
Comment out calls to OdeScene.waitForSpaceUnlock() since that method does nothing right now
2011-11-21 19:48:31 +00:00
Justin Clark-Casey (justincc)
54789706f4
Reduce complexity of OdeScene.Simulate() by fully removing bad characters at point of detection rather than later on.
2011-11-21 19:45:22 +00:00
Justin Clark-Casey (justincc)
3becda919e
move geom/actor map maintenance into DestroyODEStructures()/AvatarGeomAndBodyCreation().
...
This saves us having to do it separately when a character capsule size is changed
2011-11-21 19:31:29 +00:00
Justin Clark-Casey (justincc)
4faac1f090
When changing avatar size in ODE, remove the old actor from the name and actor maps
2011-11-21 19:06:53 +00:00
Justin Clark-Casey (justincc)
898904d83d
When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove the actor reference in OdeScene.actor_name_map rather than leaving it dangling.
...
This also largely centralizes adds/removes in OdeScene.AddCharacter()/RemoveCharacter()
2011-11-21 18:27:41 +00:00
Justin Clark-Casey (justincc)
cead87005b
Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of maintaining their own properties
2011-11-21 18:06:04 +00:00
Justin Clark-Casey (justincc)
4fdcfd79e4
Actually remove PhysicsActor.SOPDescription this time
2011-11-21 17:55:54 +00:00
Justin Clark-Casey (justincc)
4485007fce
Instead of generating a new list for bad characters on every physics pass, keep reusing the same list.
2011-11-21 17:04:54 +00:00
Melanie
31736b1aac
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
2011-11-17 19:04:27 +00:00
Justin Clark-Casey (justincc)
b6d83e9c0f
Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId!
...
Instead, just have both subclasses use the PhysicsActor.LocalID property.
This restores collision functionality that fell away in 45c7789
yesterday
2011-11-16 23:01:59 +00:00
Justin Clark-Casey (justincc)
e16d7fe1da
Instead of having scene add/remove collision events directly to the OdeScene collision event dictionary, marshall them via a change dictionary first.
...
This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where
1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing
2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments
3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.
2011-11-15 20:02:09 +00:00
Justin Clark-Casey (justincc)
45c7789b54
use a more efficient dictionary in OdeScene._collisionEventPrim rather than a list
2011-11-15 19:42:33 +00:00
Melanie
2cf6172689
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-11-05 11:05:32 +00:00
Justin Clark-Casey (justincc)
f7b8c54c24
Add comment for experimental effect of removing the Thread.Sleep(20) in ODEPrim.changevelocity()
2011-11-04 23:43:17 +00:00
Melanie
b9f7aebde3
Merge branch 'master' into bigmerge
2011-11-04 23:21:19 +00:00
Justin Clark-Casey (justincc)
ccca6ba935
Stop llPushObject() from causing problems by adding force via a taint rather than directly.
...
This isn't a perfect solution since there can be a race between the taint processing and taint setting, as force needs to be reset after processing.
Needs careful locking in the future.
2011-11-04 23:12:01 +00:00
Melanie
083b28de8c
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-30 10:16:25 +00:00
Justin Clark-Casey (justincc)
9fdd1753fa
Add taint target velocity for ODECharacters as is already done for ODECharacter position and position and velocity for ODEPrims.
...
This is to help stop surprises if the velocity is set in the middle of physics calculations, though this probably isn't a huge problem.
It's more for consistency and for the next step of removing some scene locks
2011-10-29 02:30:33 +01:00
Justin Clark-Casey (justincc)
ef8370fb8e
tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment directly where possible, instead of transferring X, Y and Z components separately
...
some of this is probably a hold over from using ODE.Vector3, which is still necessary in some places.
2011-10-29 02:07:28 +01:00
Justin Clark-Casey (justincc)
a5ea9f8830
Move position set from taint to logically better position at top of ODECharacter.ProcessTaints() though this makes no practical difference
2011-10-29 01:46:22 +01:00
Justin Clark-Casey (justincc)
5ae8de3c00
Stop setting _position as well as m_taint_position in ODECharacter.Position
...
setting position at the same time as taint appears to undermine the whole purpose of taint
testing doesn't reveal any obvious regressions in doing this
2011-10-29 01:39:48 +01:00
Melanie
b975cbcbed
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-27 18:14:38 +01:00
Justin Clark-Casey (justincc)
820242bc49
Fix a bug I introduced yesterday in ODE physics where prim scripts would only receive the very first collision.
2011-10-27 02:05:59 +01:00
Melanie
6a96c9546d
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-26 17:48:51 +01:00
Melanie
fd22159d0c
Merge branch 'master' into bigmerge
...
Conflicts:
OpenSim/Framework/Watchdog.cs
2011-10-26 01:27:24 +01:00
Justin Clark-Casey (justincc)
6a74a4c12b
Clear OdeCharacter CollisionEventUpdate when we subscribe or unsubscribe from collision events
2011-10-25 22:46:42 +01:00
Justin Clark-Casey (justincc)
0f83f87233
Remove unused fields from CollisionEventUpdate
2011-10-25 22:39:08 +01:00
Justin Clark-Casey (justincc)
c825c9a945
Get rid of the pointless null checks on collision listeners. Add warning about synchronicity for PhysicsActor.OnCollisionUpdate event doc
2011-10-25 22:35:00 +01:00
Justin Clark-Casey (justincc)
b9f106f484
When sending object collision updates, don't null out and recreate the CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead.
2011-10-25 22:28:40 +01:00
Justin Clark-Casey (justincc)
5d37f0471e
For ScenePresence collision events, instead of creating a new CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead.
...
This assumes that the listener is using the data synchronously, which is currently the case.
2011-10-25 22:19:17 +01:00
Justin Clark-Casey (justincc)
7b6b36cee9
Fix bug where collision event listeners were not removed once the listener had gone away.
...
This was causing continuous use of temporary memory even when all avatars had left the scene.
Memory does leak but it does cause more calls to the garbage collector, which would pause the scene thread for a very short while during collection.
2011-10-25 21:40:51 +01:00
Justin Clark-Casey (justincc)
1fbb379536
minor: rename a parameter in OdeScene.Simulate() from actor -> prim since it's an OdePrim
2011-10-25 21:15:37 +01:00
Melanie
0531b73695
Merge commit '4241ee5dfab99d4e247624a2f368a8a931d2e54c' into bigmerge
2011-10-25 03:18:10 +01:00
Melanie
564563d273
Merge commit '30fe66d3ab534422407415817b570a66096c543b' into bigmerge
2011-10-25 03:18:04 +01:00
Melanie
6d4480c1ca
Merge commit '9c430208769ab7fd7877093e278e8fcae02ecef3' into bigmerge
2011-10-25 03:17:59 +01:00
Melanie
e35835602f
Merge commit 'b63ec987b0a1692da4c5e84facf0ea149d4cfe90' into bigmerge
2011-10-25 03:17:40 +01:00
Melanie
71b4486356
Merge commit '581885da75c57250201b34e2d585d32c8f07089a' into bigmerge
2011-10-25 02:55:46 +01:00
Melanie
6a01246cc6
Merge commit '03202ada2918c0c0837e8de50e3a0436e4407c91' into bigmerge
2011-10-25 02:55:38 +01:00
Melanie
10dff1da7f
Merge commit '1d4cd76e8a8c64da71fc384ff9c654d7f4f849c1' into bigmerge
2011-10-25 02:55:25 +01:00
Melanie
2134f23da0
Merge commit 'f10a824e47549806c1fa647c4e9fba4c8cf6ad13' into bigmerge
2011-10-25 02:55:19 +01:00
Melanie
43751d0cfd
Merge commit '5515c45e3b42497f64f8e5846697471b1de952c5' into bigmerge
2011-10-25 02:55:14 +01:00
Melanie
7ac9463e35
Merge commit '71d221cdc090cdedf371ead534421bb7074908cd' into bigmerge
2011-10-25 02:55:01 +01:00
Melanie
e2de57ca29
Merge commit '0c041ce12f393367e2754e88d9b8dad5e45f88c4' into bigmerge
...
Conflicts:
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:26:56 +01:00
Melanie
077e3500b2
Merge commit '978fb3d482072d840e6280aa5acd090b67ee6205' into bigmerge
2011-10-25 01:52:42 +01:00
Melanie
a09e72c8cc
Merge commit '9cc2694776e261868138c325a82ce5481c2908ec' into bigmerge
2011-10-25 01:52:26 +01:00
Melanie
63cbdb9b2a
Merge commit 'f2132329a358db2c66c29501d35ef54eae8d6eed' into bigmerge
2011-10-25 01:52:19 +01:00
Melanie
f4e4026a7a
Merge commit '4bfc2f5cdea4b739110cae3b37945d88ad527334' into bigmerge
2011-10-25 01:51:49 +01:00
Melanie
24e260744a
Merge commit '77c65951e06c1d309f2bc8f6d2451b2b9a82c9df' into bigmerge
2011-10-25 01:51:06 +01:00
Melanie
747786aac0
Merge commit '20da04fd0c909a00c0cdc2585f242e95c868801a' into bigmerge
2011-10-25 01:43:05 +01:00
Melanie
d68b73bfba
Merge commit '227db07f2ff8a1ba840a0d3018bb242a34d6038f' into bigmerge
2011-10-25 01:42:56 +01:00
Justin Clark-Casey (justincc)
4241ee5dfa
very minor removal of old commented out line of code in OdeScene
2011-10-21 00:04:36 +01:00
Justin Clark-Casey (justincc)
30fe66d3ab
remove unnecessary null check on _collisionEventPrim
2011-10-20 20:58:29 +01:00
Justin Clark-Casey (justincc)
9c43020876
Get OdeScene to use passed in time step rather than hard-coded 0.089
...
However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
2011-10-20 20:48:51 +01:00
Justin Clark-Casey (justincc)
b63ec987b0
For now, stop passing timeStep into methods where it's not actually used.
2011-10-20 17:54:32 +01:00
Justin Clark-Casey (justincc)
581885da75
Temporarily put in log lines to record time taken to set terrain in OdeScene.
2011-10-18 21:21:15 +01:00
Justin Clark-Casey (justincc)
03202ada29
Store scene identifier passed in to OdeScene for later debug messages
2011-10-18 21:11:13 +01:00
Justin Clark-Casey (justincc)
1d4cd76e8a
Don't bother taking OdeLock during OdeScene construction, since there can be no contention until the object is constructed.
2011-10-18 21:03:41 +01:00
Justin Clark-Casey (justincc)
f10a824e47
Remove unnecessary lock of OdeLock in OdePrim.changeadd()
...
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.
2011-10-18 20:58:59 +01:00
Justin Clark-Casey (justincc)
5515c45e3b
minor: method doc to explain a lock of OdeLock
2011-10-18 20:56:11 +01:00
Justin Clark-Casey (justincc)
71d221cdc0
Remove the unused CollisionLocker from ODE
...
Despite its name, this wasn't actually being used in any collision checking
2011-10-18 17:35:58 +01:00
Justin Clark-Casey (justincc)
0c041ce12f
Implement osNpcSit(). This is still in development so don't trust it
...
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00