Commit Graph

569 Commits (f8603a215d142f3b83a5ff1dc022b716b3e48f99)

Author SHA1 Message Date
Melanie b4cd8b491b Merge branch 'avination' into careminster 2012-05-17 13:34:47 +01:00
UbitUmarov 6af78836a5 trigger collision sounds on active agent position for better spatial effect without using the detailed collision position. (current error will be half max physical prim size). Moved some checks from sop to collisionSound code 2012-05-17 12:17:29 +01:00
UbitUmarov b743835f9e default colisionVolume is 0, use it only for user specified sound 2012-05-17 01:36:42 +01:00
UbitUmarov 7cbc54d92a default collision sounds. Incomplete, untested, needs revision 2012-05-17 01:04:30 +01:00
UbitUmarov 0de7219485 collision sounds: simplify send code a bit and limit sending rate to 5 per sec per part ??? 2012-05-16 23:36:37 +01:00
Melanie 597f99bca7 Merge branch 'master' into careminster 2012-05-16 12:40:45 +01:00
UbitUmarov ea47b03625 Added a invalidCollisionSoundUUID so that scripts can stop all collision sounds with llCollisionSound("",...). UUID.Zero means defaults should be used. In case part has several scripts with confliting llCollisionSound result depende on exec order. Specially on reset the efect of "" depends on reset order, it should override the others. This is intermediate improve(?) since collisions sounds seem to need a deaper revision. 2012-05-16 12:27:49 +01:00
Justin Clark-Casey (justincc) e644e34545 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-15 23:47:42 +01:00
Justin Clark-Casey (justincc) 1b5ce8c10e Fix issue where loading OARs could sometimes result in link numbers being reordered.
This was because the parts in scene objects were sometimes not serialized in link order.
This is perfectly fine since the parts still have the right link numbers, but an extra fix to adjust for this
had not been done in the SerialiserModule methods that OAR loading used.
Add regression test for same.
Addresses http://opensimulator.org/mantis/view.php?id=5948, http://opensimulator.org/mantis/view.php?id=5749
2012-05-15 23:43:59 +01:00
Melanie 81ce169dfe Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-05-15 21:24:27 +01:00
Melanie a36c487c79 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2012-05-15 21:19:06 +01:00
UbitUmarov 81d7844f51 use part VolumeDetectActive and not rootPart.VolumeDetectActive to be coerent with other places in case of future changes. Should be equivalent if all is well. 2012-05-15 17:01:00 +01:00
UbitUmarov accab1e086 sop colisions don't play sounds on volume detectors 2012-05-15 16:56:43 +01:00
UbitUmarov ca14534b91 sop: - added UpdatePhysicsSubscribedEvents() to update physics ator collision events subcription where needed. Made it consider also VolumeDtc and phantom cases. - added extra calls to it on physics ator proprieties changes. - Fixed land collisions reports. - Handle the case of physics sending a last zero colisions reports to trigger collision_end. - Made the physics collisions report rate be 20 per second. (needs review/testing) 2012-05-15 15:54:02 +01:00
Melanie 65e1d7b2d7 Guard against null root part on SQLite. This really needs to be fixed so SQLite
loads roots before children like MySQL does.
2012-05-15 03:16:12 +01:00
Melanie 069bcd45e5 Try to fix sqlite breakage 2012-05-15 02:27:21 +01:00
Melanie 995cd25f30 Port the mel/dahlia fix 2012-05-15 02:36:11 +02:00
UbitUmarov 325973d36f don't send colision events to volume detectors 2012-05-15 01:40:46 +01:00
Melanie e7819ce909 Port Avination's collision fixes to core. 2012-05-15 01:02:38 +01:00
Melanie 71115c32ad Merge branch 'avination' into careminster 2012-05-14 23:33:16 +01:00
Melanie e9e797b681 Fix an omission 2012-05-15 00:15:44 +02:00
Melanie e3c376156c Completely revamp collision handling. Now works as it is supposed to. 2012-05-14 22:45:54 +02:00
Melanie 50321fb7bf Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
2012-05-09 00:43:33 +01:00
Justin Clark-Casey (justincc) e5dbb652d5 Remove physics actor related race conditions in SetVehicleFlags() and SetPhysicsAxisRotation()
sop.PhysActor can currently become null at any time.
2012-05-09 00:11:10 +01:00
Melanie e6e12c2d42 Merge branch 'avination' 2012-05-02 00:32:28 +02:00
Melanie 98e9f22544 Preserve attachment rotation on objects rezzed via a script. Makes toasters
work right, finally.
2012-05-02 00:29:56 +02:00
Melanie 174fa4a70f Merge branch 'avination' 2012-04-29 01:33:40 +02:00
UbitUmarov dd745f60c2 fix llGetCenterOfMass ( checked with ubitODE only) 2012-04-28 21:36:38 +01:00
Melanie 159b3b27ca Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2012-04-23 21:13:08 +01:00
Melanie e903709847 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2012-04-23 20:44:41 +01:00
Justin Clark-Casey (justincc) 8205fe79ce Fix bug where setting phantom on a prim would result in a server log message rather than setting phantom.
This was an oversight when removing some race conditions from PhysicsActor setting recently.
Regression tests extended to probe this code path.
Extending regression tests required implementation of a BasicPhysicsPrim (there was none before).  However, BasicPhysics plugin is still of no current practical use other than to fill in as a component for other parts of regression testing.
2012-04-22 19:51:51 +01:00
Melanie 8df4bd14f5 Merge branch 'master' into careminster 2012-04-22 15:06:06 +01:00
Justin Clark-Casey (justincc) d5c724e5b8 Add regression test for prim status when root prim in a new linkset is non-physical 2012-04-21 01:51:57 +01:00
Justin Clark-Casey (justincc) 06552f217e Add TestSetPhysics() to SOP status tests 2012-04-21 00:54:48 +01:00
UbitUmarov 3b56c44453 changed seletion code. SOP now knows about parts selection. UI actions are sent to SOP and this reports to SOG. Group is selected if any part is selected.sop.isSelect get() is only used in SOG. Will need to be improved for better performance on largelinksets. *UNTESTED* NEEDS CHECKING for side efects 2012-04-20 18:51:32 +01:00
UbitUmarov aeb5aed5b7 changed - VolumeDetect and phantom setting interaction. Script VD(true) forces phantom ON. UI phantom off turns off VD. Other transitions should only change specific parameter. This is not as current SL. - Fixed volumedetect prims being wrongly removed from physics. 2012-04-19 23:01:22 +01:00
UbitUmarov c4a9eae961 make llGetGeometricCenter() work as in current SL. Now this is not real geom center but a average of positions relative to root prim ignoring prims details, so no need to use physics engine. 2012-04-09 23:33:42 +01:00
UbitUmarov ad544bdd3d sop.AddToPhysics(..) fixed and in use. For now it seems it needs to set sop.PhysActor, so made it return void. 2012-04-09 18:03:37 +01:00
Melanie b39de2425c Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/CoreModules/World/Land/LandObject.cs
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-04-07 04:52:14 +01:00
Justin Clark-Casey (justincc) cce760dbfc Rather than having a FromFolderID property on every single prim and only ever using the root prim one, store on SOG instead.
This reduces pointless memory usage.
2012-04-07 00:40:55 +01:00
Justin Clark-Casey (justincc) 7d8bb33c5b Store FromItemID for attachments once on SOG instead of on every SOP and only ever using the root part entry.
This eliminates some pointless memory use.
2012-04-07 00:33:02 +01:00
Justin Clark-Casey (justincc) 70b5a2dace refactor: Eliminate unnecessary SOP.m_physActor 2012-04-06 23:49:23 +01:00
Justin Clark-Casey (justincc) 3af1cd65f9 Fix llGetLinkPrimParams for PRIM_POS_LOCAL for child prims whether in scene or attachments.
Return relative position to root prim rather than 0,0,0.
Should fix same issue with llGetLocalPos()
http://opensimulator.org/mantis/view.php?id=5951
2012-04-06 22:41:35 +01:00
UbitUmarov 016079ef27 minor changes.. a few physicsactor -> pa and a use a constant with |'ed bit fields in place of 6 individual checks ||'ed 2012-04-04 18:24:56 +01:00
UbitUmarov 867d50d14c remove more merge artefacts 2012-04-04 17:01:29 +01:00
UbitUmarov 787cc0d076 reverted changes to llApplyRotationalImpulse execution in SOP/SOG. This functions naming is misleading, Here Apply means to apply a instante impulse that may add to previus unprocessed ones and not setting a permanente torque (that is done by llSetTorque). 2012-04-04 16:38:29 +01:00
Melanie 726915e9ef Fix the last merge artefacts 2012-04-03 23:38:12 +02:00
Melanie dbec5e9859 Fix more merge artefacts 2012-04-03 23:22:47 +02:00
Melanie 7154d480b9 Remove duplicate implementation of Material { get; set; } 2012-04-03 23:18:07 +02:00
Melanie 1c4bcf3fed Fix merge artefacts 2012-04-03 23:13:48 +02:00
Melanie 63c44719f7 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-04-03 23:52:53 +01:00
Justin Clark-Casey (justincc) 633f4bb3d8 remove possible PhysActor unexpectedly null race conditions when changing prim collision status
factor out common SOP physics scene adding code into a common SOP.AddToPhysics() that is the counterpart to the existing RemoveFromPhysics()
2012-04-03 09:28:17 +01:00
Justin Clark-Casey (justincc) 7468299673 Eliminate race condition where many callers would check SOP.PhysicsActor != null then assume it was still not null in later code.
Another thread could come and turn off physics for a part (null PhysicsActor) at any point.
Had to turn off localCopy on warp3D CoreModules section in prebuild.xml since on current nant this copies all DLLs in bin/ which can be a very large number with compiled DLLs
No obvious reason for doing that copy - nothing else does it.
2012-04-03 05:51:38 +01:00
UbitUmarov 68736aa460 fix a bad reset of shapetype on pbshape change, added missing checksculpload ( to reload mesh on change ) 2012-03-21 15:27:33 +00:00
UbitUmarov f6cbafcaf0 Changes of PrimShapeType should now work with UbitOde ( almost untested ) 2012-03-21 02:39:16 +00:00
UbitUmarov 11ed932263 Tell physics about physics shape when creating. Added some virtual methods to get/set density,gravmod, frition,bounce and shape type ( not in use ). UbitOde now should do convex type on creation or everytime the mesh is changed ( as in change size, shape, etc ) 2012-03-21 01:46:41 +00:00
Melanie 70c0d6cf0b Merge branch 'ubitwork'
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2012-03-20 18:07:24 +01:00
Melanie 7f7801ecb9 Cover the case where prims are loaded and ParentGroup is not yet set 2012-03-20 18:02:43 +01:00
UbitUmarov efd7ff3146 add some more notifications about changes on physical parameters ( still incomple and there should be a better away ) 2012-03-20 16:46:16 +00:00
Melanie f2d17433bb Cause prims to be saved if extra physics parameters are changed 2012-03-20 12:34:06 +01:00
UbitUmarov ae8e089b9c some more work on costs 2012-03-16 15:33:49 +00:00
UbitUmarov 84ca09f7c5 added ObjectPhysicsProperties http event message to send viewer that data. For now on caps/EventQueue, and still only used on a material change... 2012-03-15 02:24:13 +00:00
UbitUmarov cf9ebd301c bug fixs, added a default physics shape estimator based on being a mesh or not and use it on unlink if new root part as type none. Viewer doesn't get updated even with fullupdates we are missing something still 2012-03-14 18:24:04 +00:00
UbitUmarov 741badc4fa let PhysicsShapeType none remove physics remove physics on child parts **UnTested** 2012-03-13 19:24:41 +00:00
UbitUmarov 3de3b9e63c initial suport for ExtraPhysical parts parameters. Reading from llclientView to SOP including SOPserialization (not to databases). No action on physics still. No send to viewer, etc 2012-03-13 17:56:32 +00:00
Melanie ebcd4910a2 Refactor, move OjectChangeData into it's own file and rename
ObjectChnageWhat what into ObjectChangeType change. What is
no name for a variable or type!
2012-03-13 13:08:32 +01:00
UbitUmarov a35e00e81e allocate UndoRedoStore only on demand 2012-03-12 07:50:14 +00:00
UbitUmarov 7832889437 Physical phantoms testable with chOde. Volume detection was changed and also needs testing. Started making it more independent of phantom acording to new sl. ** 99.999...% UNTESTED *** 2012-03-11 11:01:38 +00:00
UbitUmarov ab235abc46 Changed undo redo internals. moved exec code to UndoState.cs from sop that now only sees a unified UndoRedoStore class, added size limit on buffers so only last 5 undo/redo are kept. (5 is hardcode like it was ) ***UNTESTED*** 2012-03-11 00:36:34 +00:00
UbitUmarov 908abb1c3d BIG MESS. changed Iclient interface so only one event is used to inform scene about position scale or rotation change by client (others can be added). Its served at SceneGraph that does permition checks, undostore and sends down to SOG. changed values are stored in a class (ObjectChangeData) and what is changed as a enum (ObjectChangeWhat) with bit fields and 'macros' of this for better readability (at top of scenegraph.cs lasy to find better place for now) this can be extended for other things clients changes and need undo/redo. SOG process acording to what is changed. Changed UNDO/redo to use this also (warning is only storing what is changed, previus stored all, this must be checked for side efects. to save all PRS change commented line in scenegraph). Still have excessive calls to ScheduleGroupForTerseUpdate. **** UNTESTED **** 2012-03-10 20:32:19 +00:00
Melanie e1be1c5263 Merge branch 'ubitwork' 2012-03-09 02:11:25 +01:00
UbitUmarov 05cdf9bda9 more changes in undo/redo. Basicly moved control to llclientview.cs. later we can move back to a dispatcher function on SOG that handles the several cases( in a viwer independent way (?)) and calls current exec funtions. made cosmetic changes replacing decimals by hexs so bits are easier to read. Changed behavour of case 12 and 28 ( 0x0c and 0x1c) to make identical to 0x0d and 0x1d ( scale only and scale plus position). DOn't see 12 and 28 in use... cases 1c and 1d still broken 2012-03-09 01:53:58 +00:00
Melanie 3089344114 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2012-03-08 19:09:11 +00:00
UbitUmarov 3d3b81e676 changes on undo/redo (untested/incomplete). Think we may consider moving this mfrom SOP to client side. At least does seem to work a bit better ( again there wwas a issue on sop.copy ) 2012-03-07 07:31:26 +00:00
Melanie f8b1b86c3a Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2012-03-07 01:05:32 +00:00
Melanie 7769362687 Always zero the PhysActor on dupes to prevent side effects on the orignal prim 2012-03-07 01:03:26 +00:00
Melanie 17b1454d6f Null PhysActor on SOP.Copy() to prevent clobbering the original one 2012-03-06 20:20:12 +01:00
UbitUmarov cca94aaefc make copied parts have diferent LocalIds than original. More building control for ubitODE. for all let physics know about linking of physical parts. Assume UNTESTED 2012-03-06 05:13:39 +00:00
Melanie aee4ca2f1c Fix vehicles going physical stopping llTargetOmega parts (boat radar) 2012-02-27 08:50:19 +01:00
Melanie fca8c82232 Move KeyframeMotion from SOG to SOP because we can't persist it any
other way because SOG doesn't technically exist in the DB
2012-02-26 18:11:38 +01:00
Melanie 8cdc115c91 Fix deserialization of Buoyancy, Force and Torque. Remove debug from the new
code.
2012-02-26 14:30:24 +01:00
Melanie 9a15bba99b Fix an infinite recursion caused by checking the wrong values for
Buoyancy, Force and Torque
2012-02-26 13:31:29 +01:00
Melanie e9120890a2 Merge branch 'ubitwork' 2012-02-26 02:41:41 +01:00
Melanie c82709c0d6 Implement llSetKeyframedMotion. No persistence, no region crossing. Yet. 2012-02-26 02:36:34 +01:00
UbitUmarov e07440d0c5 changed SOP Force and Torque, adding XML (de/)serialization, also changed Buoyance. PLEASE trap deserialization from inventory etc, making force and torque vector3.Zero, unless we want then to rez moving. (needs checking/testing as usual) 2012-02-25 22:20:25 +00:00
Melanie 0e4d5a4d3c Also preserve angular velocity on crossing. 2012-02-21 10:10:04 +01:00
Melanie d6b8febbf4 Make vehicles retain velocity when crossing between regions. 2012-02-20 19:49:01 +01:00
Melanie 433d5f1d3e Merge branch 'ubitwork' 2012-02-19 20:24:00 +01:00
Melanie 96409cc2ee Merge branch 'ubitwork'
Conflicts:
	OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
	OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs
2012-02-19 20:08:01 +01:00
UbitUmarov 60d68ee312 Vehicle XML serialization more complete. Inactived by coments in SceneObjectSerializar.cs until proper testing 2012-02-19 18:10:00 +00:00
UbitUmarov b77d354e6d moved vehicle from SOG to SOP 2012-02-19 13:21:01 +00:00
Melanie 185bf55804 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-02-19 14:20:53 +01:00
Melanie 488ec59408 Merge branch 'master' into careminster 2012-02-19 14:57:51 +00:00
PixelTomsen a114367b9b Fix:OmegaX, OmegaY and OmegaZ not saved for child prims http://opensimulator.org/mantis/view.php?id=5893
Signed-off-by: nebadon <michael@osgrid.org>
2012-02-19 01:00:01 -07:00
UbitUmarov 5351ff925c let SOG know about vehicles. Still needs serialization and applyphyscis on deserialize, etc 2012-02-18 14:08:42 +00:00
Melanie 0c1074537b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
2012-02-16 00:38:04 +00:00
UbitUmarov a758abaa9f try to make crossings work better. chode no longer prevents crossings i hope 2012-02-15 17:08:33 +00:00
UbitUmarov f6f0d884bd try to make crossings work better. chode no longer prevents crossings i hope 2012-02-15 16:44:15 +01:00
Justin Clark-Casey (justincc) ebe5e1731d In ObjectTortureTests, run garbage collector on Teardown and run scene loop update when scene objects have been deleted.
At least on mono 2.6.4, running GC.Collect() is not guaranteed to force gc of all objects when run in the same method where those objects had references.
Therefore, GC.Collect() is now being done in the per-script teardown of ObjectTortureTests.
In addition, scene loop update is being run after garbage collection in order to clean out the viewer update list of scene objects in the SceneGraph.
These measures mean that scene objects/parts are now garbage collected after a test run if deleted from the scene, resulting in a much better memory usage report (though probably still not very accurate).
However, deletion takes a very long time - what's really needed is to find out now why the entire scene isn't being GC'd by this measure.
This change hasn't yet been applied to the other stress tests.
2012-02-15 01:45:25 +00:00
UbitUmarov 6af01f6767 initial introdution of physics actor building control. 2012-02-08 23:14:53 +00:00