Commit Graph

16142 Commits (6b0310b82973031fdf35c570bc69450f2f700eb7)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 49d674c74d refactor: rename XEngineTest to more descriptive XEngineBasicTests 2013-01-22 00:35:56 +00:00
Robert Adams 471c477863 BulletSim: allow changing position and rotation of a child of a linkset
without rebuilding the whole compound shape. Should make vehicles move
smoother.
2013-01-21 15:58:22 -08:00
Robert Adams 95c53ecae7 Have SOP and LSL_Api call the proper GetCenterOfMass and GetGeometricCenter
routines on the physics engine. Won't make a difference for any
existing scripts since ODE always returned Vector3.Zero.
2013-01-21 15:55:54 -08:00
Robert Adams 3f6698a595 BulletSim: remove unused MaxTaintsToProcessPerStep parameter 2013-01-21 09:19:09 -08:00
Robert Adams 52b341e2e2 BulletSim: More aggressive as setting character velocity to zero
when should be standing.
Modify angular force routines to be the same pattern as linear force routines.
BulletSim vehicle turning is scaled like SL and is DIFFERENT THAN ODE!!
Fix some bugs in BSMotor dealing with the motor going to zero.
Add a bunch of parameters:  MaxLinearVelocity, MaxAngularVelocity,
MaxAddForceMagnitude, VehicleMaxLinearVelocity, VehicleMaxAngularVelocity,
and most of the values are defaulted to values that are larger
than in SL.
Use the new parameters in BSPrim, BSCharacter and BSDynamic.
2013-01-20 23:09:54 -08:00
Robert Adams 3c4868f613 BulletSim: fix problem of avatar sliding very slowly occasionally after stopping walking. Consolidate movement tests into the one prestep motion action 2013-01-20 23:09:54 -08:00
Robert Adams 2cb1d5240e BulletSim: small fix making sure terrain height is calculated
properly if the vehicle moves during vehicle actions.
2013-01-20 23:09:54 -08:00
Robert Adams 3b0df52d10 BulletSim: modify motors to return correction rather than current value
to better use them for incremental updates.
Modify prim and character to use the new motors.
Simplify the vehicle linear movement code to just update the velocity
directly or the basic movement.
2013-01-20 23:09:53 -08:00
teravus 2c517d792f This updates prebuild to remove BulletSimN, implements the BulletSim API in BulletSPlugin using the BulletXNA Bullet physics engine. It also updates the BulletXNA library to be compatible with the changes. OpenSimDefaults has been updated to describe how to switch engines and terrain implementations. 2013-01-20 08:18:16 -05:00
teravus 6a75949323 * Dumping BulletSimNPlugin in favor of combining the API 2013-01-20 08:07:49 -05:00
teravus 82b954b212 * Tweak the BulletSimN API a bit. 2013-01-20 08:06:15 -05:00
PixelTomsen 9c590e51b6 IRCBridgeModule: optional agent-alertbox for IRC enabled Regions look in OpenSimDefaults.ini / section [IRC]
http://opensimulator.org/mantis/view.php?id=6470

idea: https://github.com/ssm2017/IrcBridgeAlert
2013-01-19 02:40:28 +00:00
Justin Clark-Casey (justincc) fc6115f777 Check the existing ScenePresence.ParentPart to make sure we're not trying to sit on a prim we're already sat upon, rather than looking up the part from scratch.
An adaptation of commit 055b8a2
Having both ParentID and ParentPart references now is redundant.  ParentID should probably be eliminated.
2013-01-19 02:29:02 +00:00
Oren Hurvitz b77da5039e Assign the SmartThreadPool name in the constructor
This is required because some threads are created in the constructor, so assigning the name afterwards would be too late.
2013-01-19 02:08:58 +00:00
Justin Clark-Casey (justincc) 3eee991935 Explicitly stop PollServiceRequestManager() rather than relying on its destructor.
Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
2013-01-19 02:04:36 +00:00
Talun 27e2ec177a New constants for llGetObjectDetails
New constants for llGetObjectDetails OBJECT_CHARACTER_TIME,
OBJECT_ROOT, OBJECT_ATTACHED_POINT, OBJECT_PATHFINDING_TYPE,
OBJECT_PHYSICS, OBJECT_PHANTOM and OBJECT_TEMP_ON_REZ
also Pathfining constants, 3 of which are used by llGetObjectDetails
2013-01-19 01:50:16 +00:00
Talun 4f70e423df Mantis 6507 keys returned by llGetAgentList incorrect for llList2Key
The type of the keys returned by llGetAgentList corrected to LSL_Key
2013-01-19 01:14:11 +00:00
Justin Clark-Casey (justincc) 652cfa2ee2 Fix use of scene debug commands when region is set to root or a specific region where there is more than one region on the simulator. 2013-01-19 00:27:17 +00:00
Justin Clark-Casey (justincc) 115e1c2abb Add "debug set set animations true|false" region console command.
Setting this logs extra information about animation add/remove, such as uuid and animation name
Unfortunately cannot be done per client yet
2013-01-18 23:22:02 +00:00
Justin Clark-Casey (justincc) 74256c0cc4 Restore previous client AO behaviour by not allowing them to remove the default animation but continue to allow scripts to do so.
This keeps the fix from http://opensimulator.org/mantis/view.php?id=6327
and fixes the behaviour regression in http://opensimulator.org/mantis/view.php?id=6483
Animations may still exhibit different behaviour if both scripts and clients are adjusting animations.
A change in the behaviour of client AO to not remove all animations may be a better long term approach.
2013-01-18 22:57:09 +00:00
Robert Adams c6b6c94ccb BulletSim: reduce jitter in avatar velocity when walking or flying.
OpenSimulator is VERY sensitive to changes in avatar velocity and
will send an avatar update message when velocity changes more than
0.001m/s. This significantly reduces the number of avatar update messages by
smoothing the avatar velocity returned by Bullet.
2013-01-18 11:39:24 -08:00
Robert Adams 482c7b5368 BulletSim: add logic to turn off pre-step actions when object goes
non-active. This turns off 'setForce', 'setTorque' and 'moveToTarget'
when the object is selected or made non-physical.
2013-01-18 11:37:36 -08:00
Justin Clark-Casey (justincc) c8afc8523b Implement non-wait co-operative termination of scripts for XEngine in addition to termination on wait.
This involves inserting opensim_reserved_CheckForCoopTermination() calls in lsl -> c# translation at any place where the script could be in a loop with no wait calls.
These places are for, while, do-while, label, user function call and manual event function call.
Call goes through to an XEngineScriptBase which extends ScriptBase.
IEngine is extended to supply necessary engine-specific parent class references and constructor parameters to Compiler.
Unfortunately, since XEngineScriptBase has to be passed WaitHandle in its constructor, older compiled scripts will fail to load with an error on the OpenSim console.
Such scripts will need to be recompiled, either by removing all *.dll files from the bin/ScriptEngines/<region-id> or by setting DeleteScriptsOnStartup = true in [XEngine] for one run.
Automatic recompilation may be implemented in a later commit.
This feature should not yet be used, default remains termination with Thread.Abort() which will work as normal once scripts are recompiled.
2013-01-17 23:39:09 +00:00
Robert Adams a6afd2f706 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-17 14:51:52 -08:00
Robert Adams 75f710f1e7 BulletSim: Add one function that all actors who act on the physical
can use to know if the object is currently active.
Code cleaning including use of Util.ClampV function.
2013-01-17 14:47:35 -08:00
Robert Adams caad1edabf Add utility function to clamp a vector to a maximum magnitude. 2013-01-17 14:44:54 -08:00
Melanie 9c99ed26eb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-01-16 16:52:57 +00:00
Melanie 5563a8916e Complete removal of the now unused state queue 2013-01-16 16:45:18 +00:00
Diva Canto 37fcf87946 Changed a couple of debug messages at the request of osgrid. 2013-01-16 08:20:32 -08:00
Robert Adams 8ee9daa121 BulletSim: add the editting children in linkset going phantom bug to TODO list. 2013-01-15 21:08:47 -08:00
Robert Adams 5d098d8f17 BulletSim: don't modify angular parameters when doing LIMIT_MOTOR_UP.
It was a dumb idea to try and do a nose over feature for jumping cars anyway.
Add better logging of native shape creation/reuse so can  tell the difference.
2013-01-15 21:08:46 -08:00
Robert Adams 61ff79587b BulletSim: add debugging messages to know when assets for physical
objects have been fetched.
Update TODO list with more work.
2013-01-15 21:08:46 -08:00
Robert Adams daef2b8d87 BulletSim: reduce maximum force a script can apply (like in llApplyImpulse)
to the documented maximum from the outragious number previously.
2013-01-15 21:08:46 -08:00
Justin Clark-Casey (justincc) 0963ece25b Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-16 02:07:43 +00:00
Justin Clark-Casey (justincc) b8949024bc Revert "Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)"
Doing this as a favour to Melanie.  This will be back with passing the wait handles directly to the api.

This reverts commit 1b5c41c14a.
2013-01-16 01:45:09 +00:00
Justin Clark-Casey (justincc) 03a8a4426f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-16 00:20:18 +00:00
Justin Clark-Casey (justincc) 1b5c41c14a Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
2013-01-16 00:12:40 +00:00
Justin Clark-Casey (justincc) fccb03227e Instead of passing separate engine, part and item components to script APIs, pass down IScriptInstance instead.
This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests.
This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method
in order to facilititate continued script logic regression testing.
2013-01-15 21:13:22 +00:00
BlueWall f54b398540 Merge branch 'master' of /home/opensim/var/repo/opensim 2013-01-15 10:08:27 -05:00
BlueWall ca3e0d67d2 Add Json-Rpc 2.0 To Registered Handlers
Added registration json-rpc handlers in the http server. Covers version 2.0
  See: http://www.jsonrpc.org/specification
2013-01-15 10:04:16 -05:00
Robert Adams 021964c6e0 BulletSim: tweeks to improve hover. 2013-01-15 04:24:24 -08:00
Robert Adams 181d4c6fcb BulletSim: temporarily disable banking and direction deflection
because the computations are wrong.
Add VehicleTorqueImpulse routines.
2013-01-15 02:58:14 -08:00
Robert Adams 0374b2a0b4 BulletSim: fix logic for enabling unmanaged code debug messages.
Free pinned memory when physics engine is unloaded.
2013-01-15 02:21:38 -08:00
Robert Adams edf198b766 Merge branch 'master' of git://opensimulator.org/git/opensim 2013-01-15 01:46:30 -08:00
Robert Adams 13778c895a BulletSim: by default, turn on continuious collision detection (CCD)
and enable friction computation caching. Remove dangerous BulletSim
settings from OpenSimDefaults.ini.
2013-01-15 01:44:34 -08:00
dahlia 055b8a2d58 move resit fix to ScenePresence.cs and allow for requesting sit on objects other than the object currently sat on 2013-01-14 22:24:24 -08:00
Justin Clark-Casey (justincc) 1c240cd555 Print full stacktrace from plugin loading failure to help determine what went wrong, rather than a possibly unhelpful simple exception message. 2013-01-15 01:07:20 +00:00
Justin Clark-Casey (justincc) c846cefda9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-01-15 00:24:51 +00:00
Robert Adams 4e1ca890c2 BulletSim: fix not moving physical objects below terrain to over terrain.
Add locking on register prestep action list preventing potential race conditions.
Little comment and formatting changes.
2013-01-14 15:46:46 -08:00
Justin Clark-Casey (justincc) 7978b349bd refactor: Simplify ScriptInstance by retaining reference to SceneObjectPart instead of sometimes but not always looking it up. 2013-01-14 23:19:47 +00:00
Robert Adams 8bf0a9f85d BulletSim: disable center-of-mass computation for linksets until debugged. Move physical prim above ground if it is underground. Previously tried to correct by applying and up force but the prim would never go through the ground. 2013-01-14 07:50:58 -08:00
Robert Adams 459fcd81c9 BulletSim: move center of gravity of linkset to its geometric center.
Necessitated allowing simulator and physical position of a body to
get out of sync since Bullet assumes that <0,0,0> is the center of mass.
Update DLLs and SOs for the UpdateChildTransform so positions of
  individual prim in a linkset can be implemented.
2013-01-11 16:47:53 -08:00
Robert Adams eacc2561d1 BulletSim: add osGetPhysicsEngineType() LSL function and update
the physics engines to return the name that is specified in the INI
file ("physics = XXX") as the type of engine.
This os function is a little different than the others in that it
does not throw an exception of one is not privilaged to use it.
It merely returns an empty string.
2013-01-11 16:47:35 -08:00
Robert Adams 93adc4cb66 BulletSim: Add IsSelected attribute to physical objects. Have vehicles check to see if physical before trying to step. Replace vehicle gravity application. Previously relying on Bullet to apply gravity but since vehicles over-ride the velocity calculation, gravity never had a chance to accelerate the body down. Added AddForceImpulse as well as AddForce for those who need to apply immediate velocity updates. Use the impulse to apply the linear motion. 2013-01-11 16:47:20 -08:00
Robert Adams daacd4deed Fix exception reporting in SceneObjectPart so it logs what the exception is rather than just saying it happened. 2013-01-11 16:47:07 -08:00
Robert Adams 7e58bbaac6 BulletSim: Redo linear function coding so they can better interact. New algorithm for limitMotorUp that relies on going up when not colliding rather than distance from ground. Add parameter for turning on and off embedded source vehicle debugging. 2013-01-11 16:46:53 -08:00
Robert Adams 98168edc29 BulletSim: remove double application of buoyancy. Centralize computation of buoyancy. Add motor angular debugging controls. 2013-01-11 16:46:38 -08:00
Robert Adams b592ec265b BulletSim: fix the 'No recognised physics mesh found ...' error spew by remembering that the last asset fetch failed until the simulator resets the shape parameters. 2013-01-11 16:44:34 -08:00
dahlia 72cc94cfbc add some sanity checking to HandleAgentRequestSit handler 2013-01-10 20:21:18 -08:00
Justin Clark-Casey (justincc) 660d36a5b0 Implement a workaround solution for saving manual script state changes by the user before logout instead of wrongly removing the script early.
This workaround relies on the fact that a closing client goes inactive before the attachments derez calls happen.
This reverts the change to remove scripts too early instead of stopping them, since the the two step stop then remove is necessary to execute the detach event.
2013-01-11 02:28:43 +00:00
Justin Clark-Casey (justincc) 05ac6d3209 Save attachments on detach/exit if a contained script state has been changed.
This involves making Attachments module listen for start/stop script changes.
It also involves removing the script from the region on detach in the same manner as every other DeleteSceneObject() call rather than simply stopping it
This is necessary tue to the bad assymetry of start and stop script triggers but it appears to be the correct behaviour anyway, as detached objects are completely gone from the sim.
Not just in a state where their scripts have been stopped.
2013-01-11 01:46:36 +00:00
Justin Clark-Casey (justincc) 26347307ec Fix a regression in the last few scene commands changes where setting these via the viewer estate dialog stopped working.
Forgot to register the new interface.
Also removes some code which got included by adpating an existing module.
2013-01-11 00:08:52 +00:00
Justin Clark-Casey (justincc) f3a2bbbd93 Add "debug scene get" console command to list current scene options 2013-01-10 23:56:11 +00:00
Justin Clark-Casey (justincc) a16ae5d7e3 Move scene debug commands into separate module. Command changes from "debug scene <key> <value>" to "debug scene set <key> <value>" to accomodate future settings 2013-01-10 23:49:48 +00:00
Justin Clark-Casey (justincc) 983e458bb6 refactor: route the final scene backup through the same code that handles periodic backup
This is rather than making unnecessary duplicate checks that the SOG later performs again.
2013-01-10 22:59:40 +00:00
Justin Clark-Casey (justincc) 17f21ba9a0 minor: Capitalize GroupsModule command category 2013-01-10 22:46:25 +00:00
Justin Clark-Casey (justincc) e65737be93 minor: add missing newline to "debug scene" console command 2013-01-10 22:42:33 +00:00
Justin Clark-Casey (justincc) f566dc0618 Remove unimplemented "debug teleport" console command 2013-01-10 22:42:12 +00:00
Justin Clark-Casey (justincc) 701ca1e4b8 Add "debug scene pbackup true|false" console command. This enables or disable periodic scene backup. For debug purposes.
If false, scene is still saved on shutdown.
2013-01-10 22:38:48 +00:00
Justin Clark-Casey (justincc) 170d376967 On baked texture save, replace any HG ID with an ordinary asset ID so the HGAssetBroker doesn't try to save back to the avatar's originating region 2013-01-10 01:45:56 +00:00
Justin Clark-Casey (justincc) 84407e322f revert accidental change to MemoryWatchdog stat calculation in previous b1b4687 2013-01-10 01:30:00 +00:00
Justin Clark-Casey (justincc) b1b4687250 Add "show script timers" command to show script timers. For debug purposes.
Also, "show sensors" changes to "show script sensors".
2013-01-10 00:57:49 +00:00
Justin Clark-Casey (justincc) a0000a034f Add "show sensors" command to show script sensor information for debug purposes. 2013-01-10 00:32:22 +00:00
Justin Clark-Casey (justincc) 290dc274ec minor: Remove unnecessary commented out code from last commit c28a2f05 and fix up code comment 2013-01-09 01:04:43 +00:00
Justin Clark-Casey (justincc) c28a2f05ca minor: make spacing consistent in console help output 2013-01-09 00:54:28 +00:00
Melanie e4fad4a09d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-01-09 00:21:43 +00:00
Robert Adams df1d7414ad BulletSim: Fix hover height (boats float at the correct level).
Fix problem of vehicles going crazy when backing up.
2013-01-08 16:37:49 -08:00
Melanie f16c4a254c Revert "Prevent empty Anim Packs"
This reverts commit 5561333668.
2013-01-09 00:20:24 +00:00
Melanie c1c540f454 Revert "Fix sequence id fr default anim"
This reverts commit a775931a0c.
2013-01-09 00:20:14 +00:00
Justin Clark-Casey (justincc) 3d5e3e35b7 minor: Fix command match of "debug script" command to "debug scripts" to match other scripts commands (and it's own short help text) 2013-01-09 00:08:08 +00:00
Justin Clark-Casey (justincc) 5fa4b8b144 minor: Allow "script *" console commands to take multiple script item ids 2013-01-09 00:01:48 +00:00
Melanie a775931a0c Fix sequence id fr default anim 2013-01-08 23:36:05 +00:00
Melanie 5561333668 Prevent empty Anim Packs 2013-01-08 23:12:32 +00:00
Melanie 2ac96dd181 Add the new UpdateAgentInformation cap to make maturity on more recent viewers
work.
2013-01-08 22:52:14 +00:00
Robert Adams 1603606f1d BulletSim: improve vehicle angular banking and deflection computation. Rotate angular correction forces to be world relative rather than vehicle relative. 2013-01-07 22:00:50 -08:00
Robert Adams 8452c0a870 BulletSim: add function to push avatar up when hitting stairs.
It looks like BulletSim and ODE rely on penetration correction to cause
the avatar to move up and thus allowing walking up stairs. Object
penetration was minimized for walking and flying (so one doesn't go
through walls) and this stopped stairs from working. This commit
introduces avatar movement code to check for collisions at the
feet while walking and attempts to raise the avatar for the steps.
Not yet perfect but movement is better.
2013-01-07 16:05:02 -08:00
Robert Adams 599dbc3d95 BulletSim: fix exception when re-creating the terrain when loading an OAR file 2013-01-07 16:04:21 -08:00
Robert Adams 2e5222055f BulletSim: comments and removing small compile errors introduced in last commit. 2013-01-06 22:56:16 -08:00
Robert Adams 9393403253 BulletSim: update DLLs and SOs with better debugging output.
Add definition of hand crafted avatar mesh. Not used yet.
Comments and cleanup.
2013-01-06 14:01:15 -08:00
Robert Adams 2eba80a8cd BulletSim: fix problem where mesh shapes were physically just their bounding box and not the complete mesh. Fill mesh physical objects are back. 2013-01-04 17:06:52 -08:00
Robert Adams 48cfc6d089 BulletSim: implement llMoveToTarget by adding PIDActive, etc.
Implementation of non-vehicle hover but haven't tested it a lot.
Update TODO list.
2013-01-04 17:06:51 -08:00
Robert Adams d0c7f7f050 BulletSim: add some features to the PID motor to make it more flexible. 2013-01-04 17:06:51 -08:00
Robert Adams 613f516007 BulletSim: convert avatar movement from a force to an impulse. Shouldn't
change functionality but removes an oddity in computing the force.
2013-01-04 17:06:50 -08:00
Robert Adams 2c6b269b6e BulletSim: add initial implementation of llMoveToTarget and hover height.
Not all there yet.
2013-01-04 17:06:50 -08:00
Robert Adams 5432180027 BulletSim: reorganize motor code a little to pull together common functions.
Add BSFMotor.
2013-01-04 17:06:50 -08:00
Robert Adams 44492b3a49 BulletSim: add comments to force and impulse setting functions
so it is clear what Bullet is actually doing with the set values.
2013-01-04 17:06:49 -08:00
Robert Adams 92a6958b6d BulletSim: fix problem where pre-step actions would not replaced
by new registrations thus causing multiple instances of an action.
2013-01-04 17:06:49 -08:00
Robert Adams 2eda385f5e BulletSim: add ResetBroadphasePool and ResetConstraintSolver diagnostic
functions. If values set from console, the functions are called. Looking
for why the collision pools fill up with unnecessary stuff.
2013-01-04 17:06:48 -08:00
Justin Clark-Casey (justincc) 7232cedd2b Set default particle burst count to 1 instead of 0 in any set particle system script call that does not have an empty list.
As per http://opensimulator.org/mantis/view.php?id=6353
2013-01-04 21:37:11 +00:00
Justin Clark-Casey (justincc) 7e45096314 Fix build break caused by missing ) from dce2809.
Was hand-typing in a line of code I had tested before but not retested this time
2013-01-04 21:22:51 +00:00
Justin Clark-Casey (justincc) dce2809137 Automatically grant sit-related llRequestPermissions() for subsequent avatars sitting on the same scene obejct, instead of wrongly popping up request permissions dialog.
Resolves http://opensimulator.org/mantis/view.php?id=6478
2013-01-04 21:18:53 +00:00
Justin Clark-Casey (justincc) a3bf3a2aa5 refactor: simplify llGetNumberOfPrims() to return prim count + sitting avatar count rather than independently inspecting every scene presence 2013-01-04 20:56:39 +00:00
Justin Clark-Casey (justincc) 9869ca83b4 Fix llGetLinkName() to return the name of the last avatar sat as the last link number.
As per http://wiki.secondlife.com/wiki/LlGetLinkName
2013-01-04 20:54:11 +00:00
Justin Clark-Casey (justincc) 9503383887 Fix llGetLinkKey() to return the last sat avatar as the last link number.
As per http://wiki.secondlife.com/wiki/LlGetLinkKey
This is done by keeping a scene-object wide list of sitters.
This also fixes bugs in this function where linknums 0 and 1 weren't treated properly if there were sitting avatars on a single prim.
This also fixes a minor race condition for multiple concurrent sitters on a prim with no current sitters by locking on the object-wide list rather than individual sop lists
Addresses http://opensimulator.org/mantis/view.php?id=6477
2013-01-04 20:34:39 +00:00
Justin Clark-Casey (justincc) a75f24bb79 minor: Add some doc to the extremely unhelpful 'fudge....' comment as to why we're deselecting the prim in code before scheduling an update on attachment 2013-01-03 21:06:50 +00:00
Justin Clark-Casey (justincc) 7f195de303 Fix problem where object attached from ground often does not get attached properly.
It seems this is happening because we send a kill for objects that are selected when attached.
A code comment says that this is to get the client to deselect it, but v3 and v1 clients do this just fine without the kill.
Aims to address http://opensimulator.org/mantis/view.php?id=6456
2013-01-03 20:57:14 +00:00
SignpostMarv aa78df4a79 Scipt modules get the OpenMetaverse types, so lists passed as arguments to script module functions which then later call LSL_Types.list.GetVector3Item() or LSL_Types.list.GetQuaternionItem() methods would then trigger an InvalidCastException, which is now avoided. 2013-01-03 00:18:33 +00:00
SignpostMarv a5ac6af16a Improving documentation of AttachToAvatar and GetLine methods in LSL_Api.cs based on doxygen error output 2013-01-03 00:17:24 +00:00
SignpostMarv 79b7c571ff updating documentation in SampleMoneyModule based on doxygen error log output; changing an xml-style hint to a uri-style hint in the class summary, improving documentation of Initialise method and removing a superfluous parameter, improving documentating of ClientClosed method and documenting an omitted parameter 2013-01-03 00:17:24 +00:00
Justin Clark-Casey (justincc) 589e3e8686 minor: Change channel digger replacement message in TerrainModule to Info from Warn.
This is to stop this unnecessarily triggering log analysis code which reports warn and error level statements.
2013-01-03 00:03:29 +00:00
Oren Hurvitz 1b826b4877 Allow registering regions whose names are equivalent under LIKE but not truly equal 2013-01-02 23:31:19 +00:00
Oren Hurvitz 1a6694b264 Fixed several problems with the Sun: some settings didn't work, or were inconsistently used. - The sun position is always calculated by combining the sun settings in the Region and Estate. This fixes the problem that 'UseEstateSun' didn't work. - To remove ambiguity, the EstateToolsSunUpdate event no longer accepts the sun's position as parameters. That's because the position is always calculated from the Region and Estate settings. - Use only the 'FixedSun' flag to determine whether the sun is fixed; not the 'UseGlobalTime' flag. - Don't change the region's 'SunPosition' field according to the sun's position: this field is used only to set the position when using a FixedSun. (The 'SunVector' field does get updated according to the sun's position in the sky) 2013-01-02 23:16:24 +00:00
Oren Hurvitz 24e486e9df Fixed: the AvatarEnteringNewParcel event wasn't triggered in some cases
If an avatar moved between regions: A -> B -> A, then when returning to region A the AvatarEnteringNewParcel wasn't triggered. This happened because the ScenePresence in region A still remembered its previous 'currentParcelUUID', so it appeared as if the avatar didn't change parcels. Now, however, when a ScenePresence becomes a child presence we clear its 'currentParcelUUID'.
2013-01-02 23:00:23 +00:00
Oren Hurvitz 5097ba81d4 Added locking in NullRegionData.
This prevents errors when one thread iterates over the regions (e.g., from RegenerateMaptileAndReregister()) while another thread is adding a region.
2013-01-02 22:48:25 +00:00
Justin Clark-Casey (justincc) 8f31649fad Fix indenting on ConsoleDisplayTable, align indenting on "show animations" console command 2013-01-02 22:37:50 +00:00
Justin Clark-Casey (justincc) 2db1f22b89 minor: minor code and log formatting fixes to recent changes in LandManagementModule 2013-01-02 22:31:18 +00:00
Oren Hurvitz 9784e4e07d Changed locks to prevent deadlocks (especially during multi-region Load OAR) 2013-01-02 22:28:41 +00:00
Oren Hurvitz d2f4ca0dfe If Save OAR/IAR times-out while waiting for assets then notify the caller that the operation failed 2013-01-02 22:15:00 +00:00
Justin Clark-Casey (justincc) 6b55f51837 minor: Allow objects to be added directly to a row on a ConsoleDisplayTable rather than having to ToString() them first 2013-01-02 22:11:13 +00:00
Oren Hurvitz 70695a6ed9 Implemented Return Objects when it's invoked from the Top Colliders or Top Scripts dialogs 2013-01-02 21:59:01 +00:00
Justin Clark-Casey (justincc) addab1244e Add "show animations" console command for debug purposes.
This shows the current animation sequence and default anims for avatars.
2013-01-02 21:38:00 +00:00
Justin Clark-Casey (justincc) 30e5e5cce6 If an NPC is unowned, then always auto-grant permissions requested via llRequestPermissions()
This is consistent with all other OSSL NPC functions that allow unowned avatars to be manipulated.
Aims to address http://opensimulator.org/mantis/view.php?id=6483
2013-01-02 19:25:52 +00:00
Robert Adams aa236b2020 BulletSim: add parameter to have Bullet output performance statistics
every so many frames. Default to off.
2013-01-01 17:27:34 -08:00
Robert Adams b14b65ea95 BulletSim: move selection of the unmanaged Bullet DLL from BSPlugin
into the unmanaged Bullet interface class.
2013-01-01 17:27:33 -08:00
Robert Adams 9d840fd2ee BulletSim: move over and port the interface for BulletXNA.
Copied BulletSNPlugin.BulletSimAPI to a new
BulletSPlugin.BSAPIXNA.cs and then modifyed the latter to
comply with the BSAPITemplate definition. Not totally debugged
but the code is all there for an INI variable to select either
unmanaged C++ Bullet or the C# version of Bullet.
2013-01-01 17:27:33 -08:00
Robert Adams 0662d109c2 BulletSim: fix line endings. 2013-01-01 17:27:33 -08:00
Robert Adams 04132d3af4 BulletSim: subclass Bullet[World|Body|Shape|Constraint] for unmanaged
to have pointers and managed to have objects.
Initial paste of XNA code. Commented out.
2013-01-01 17:27:32 -08:00
Oren Hurvitz a0739a80a8 Fixed bugs when getting the root folder.
1. The error checking for the case where there's no "My Inventory" folder was
incorrect: it checked the wrong variable.
2. If GetSystemFolderForType() is called to get AssetType.RootFolder then
it should return the root folder immediately; not look for another root
folder below it.
2013-01-02 00:04:14 +00:00
Justin Clark-Casey (justincc) bc9a7ba0d6 minor: Assign names to the different SmartThreadPools for debugging purposes.
A different approach to the patch in http://opensimulator.org/mantis/view.php?id=6462
that doesn't involve further forking of SmartThreadPool
2013-01-01 23:57:20 +00:00
Justin Clark-Casey (justincc) 416244051d refactor: call Util.InitThreadPool() if we are initializing an uninitialized pool on first use rather than constructing it ourselves.
No functional change.
2013-01-01 23:50:38 +00:00
Robert Adams db3b6e8921 BulletSim: remove unused unmanaged memory reference functions from BSAPITemplate. 2012-12-31 19:57:26 -08:00
Robert Adams 6988b5ceaf BulletSim: remove rigid body contruction functions from BSAPITemplate that relied on prebuilt construction info structures. 2012-12-31 19:57:25 -08:00
Robert Adams 9396ccc078 BulletSim: eliminate the use of the unmanaged HeightMapInfo structure.
Remove all related calls from the unmanaged and BSAPITemplate interfaces.
Update DLLs and SOs to include the version without HeightMapInfo structures.
2012-12-31 19:57:25 -08:00
Robert Adams 3d0fc70864 BulletSim: complete movement of BulletSimAPI functions to BSAPITemplate.
Update BulletSim DLLs and SOs with simplier step function interface.
2012-12-31 19:57:24 -08:00
Robert Adams c2a7af18b6 BulletSim: nearly complete in conversion from BulletSimAPI to BSAPITemplate. Only initialization and debug fuctions left. 2012-12-31 19:57:23 -08:00
Robert Adams 5379d6d112 BulletSim: remove all the debug printing of pointer formatting (.ToString(X)) and replace it with a method on BulletBody, BulletShape, ... 2012-12-31 19:57:22 -08:00
Robert Adams 9218748321 BulletSim: another round of conversion: dynamics world and collision object functions. 2012-12-31 19:57:22 -08:00
Robert Adams 9fd0e1b080 BulletSim: add the implementation files for the two versions of Bullet:
unmanaged (C++) and managed (C#).
2012-12-31 19:57:21 -08:00
Robert Adams 48f718f39f BulletSim: first round of conversion from direct BulletSimAPI interfacing by BulletSim core to using the BulletSimAPITemplate. Physical object creation and destruction first. 2012-12-31 19:57:21 -08:00
Robert Adams 203588e3c0 BulletSim: change physical data structures to classes. Add default
instantiations for PhysBody and PhysShape when BSPhysObject is created
to account for them being classes and not structures.
Update TODO list.
2012-12-31 19:57:21 -08:00
Robert Adams 4914d6c0ea Resolve Mantis 6480 (http://opensimulator.org/mantis/view.php?id=6480)
by reversing the sign on the recoil computation and adding a
[XEngine]RecoilScaleFactor parameter which defaults to zero.
Testing in SL seems to show that there is not a recoil action there.
Or, at least, it is very small. If someone knows how small, the default
for the scale factor should be changed.
2012-12-31 19:57:20 -08:00
Robert Adams 26f364cc5d Comment out test messages that go directly to the console. 2012-12-31 19:57:20 -08:00
Robert Adams 28a8949b9f BulletSim: remove check for small motor movement because, while it
did the right thing for stopping (speed reducing to zero), it prevented
movement from starting (speed increasing from zero). Will revisit
when the generalize PID motor is debugged.
2012-12-29 10:19:47 -08:00
Robert Adams 0538096fa3 BulletSim: an 'if' to suppress multiple setting of avatar orientation.
Looks like the viewer bombards the server with avatar orientation
information (we're talking several hundred a second) when the avatar
is being turned or when walking. This change just reduces the number
of 'set' calls into unmanaged code.
2012-12-29 08:32:57 -08:00
Robert Adams db6c0363f0 BulletSim: tweeking avatar capsule code in an attempt to have
asymmetrical avatar capsule work now that rotation is being passed
from the simulator. Turns out the Bullet capsule is just not very
functional: it doesn't scale properly, the implementation only half
does asymmetry and, in general, is hard to work with.
Avatar shape is about what it was before these changes.
Added initial data structures for avatar shape mesh.
2012-12-29 08:03:57 -08:00
Robert Adams fdf8732cd7 ScenePresence passes the avatar rotation down to the physics engine. This will be a no-op for ODE but enables asymmetrical avatars for BulletSim. 2012-12-28 16:29:16 -08:00
Robert Adams 7266eeca6e BulletSim: add 'AvatarAlwaysRunFactor' parameter and use in setTargetVelocity
to implement the 'always run' feature.
2012-12-28 12:01:57 -08:00
Robert Adams 70e0a86601 BulletSim: fix problem of avatars appearing to walk through walls
by moving the movement motor to a pre-step action and out of its
questionable previous home in UpdateProperties.
2012-12-28 11:56:07 -08:00
Robert Adams 1f6aaad0b5 BulletSim: correct collision mask definition for linkset children.
Remove unused code. Add comments and TODOs.
2012-12-27 22:12:28 -08:00
Robert Adams 422f0fd6ec BulletSim: fix physical object not interacting with static objects.
Another instance of the underlying Bullet doing, ah, helpful things
when items are added to the world.
2012-12-27 22:12:28 -08:00