Commit Graph

15080 Commits (76f46b25454c0c9376130a59cc1b766c0d105dd0)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 05e94ff27e Move common gemo/agent map name code into CreateGeom()
Fix build break.
2011-08-01 07:04:13 +01:00
Justin Clark-Casey (justincc) f9d6a91252 Instead of preserving old name in geom_name_map in change size or shape, use the Name property instead.
This is equivalent since the prim 'name' is never changed.  In fact, this propery is never used for prims
2011-08-01 06:52:52 +01:00
Justin Clark-Casey (justincc) 40a78db182 comment out unused code in OdeScene.TriCallback() 2011-08-01 06:47:45 +01:00
Justin Clark-Casey (justincc) ccb4b76242 On geom removal, remove the name from the OdeScene.geom_name_map too 2011-08-01 06:40:29 +01:00
Justin Clark-Casey (justincc) f79df6f43f remove the unused ODEPrim.prev_geom field 2011-08-01 06:35:59 +01:00
Justin Clark-Casey (justincc) f32dbef647 When an ODE geom is removed (as when a non-phantom prim is deleted, resized or shape changed, also remove the OdeScene.actor_name_map entry pointing to the phys actor
This is to stop a small memory leak over time when prims are deleted or phantom-toggled
2011-08-01 06:32:30 +01:00
Justin Clark-Casey (justincc) 6618948ff9 refactor: centralize prim geom removal code from four places to one 2011-08-01 06:15:02 +01:00
Justin Clark-Casey (justincc) 509200d5cd minor: add note to RemovePrimThreadLocked() to the effect that it contrary to the summary, it is being called from within Simulate() lock (OdeLock) 2011-08-01 05:48:27 +01:00
Justin Clark-Casey (justincc) dfa2f7d715 If a prim changes size or shape, add actor to _parent_scene.actor_name_map with new prim_geom key, as the old one becomes invalid.
This resolves http://opensimulator.org/mantis/view.php?id=5603 where changing size or shape would stop collision_start being fired in a running script.
In both this and existing code we are not removing old actors from actor_name_map when the existing prim_geom is removed, which leads to a small memory leak over time.
This needs to be fixed.
2011-08-01 05:43:04 +01:00
Justin Clark-Casey (justincc) 2102964826 minor: indentation correction 2011-08-01 05:14:16 +01:00
Justin Clark-Casey (justincc) b757583662 Comment out SOP logging message I accidentally left in 2011-07-31 03:41:35 +01:00
Justin Clark-Casey (justincc) aea7007533 refactor: split out ninja joint part of SOP.DoPhysicsPropertyUpdate() so that we don't have to look at it if it's not relevant 2011-07-31 02:50:50 +01:00
Justin Clark-Casey (justincc) 450bdb3657 In the packetpool, if we encounter a data block that somehow wasn't retrieved via GetDataBlock() then create a new stack instead of throwing an exception 2011-07-31 02:30:40 +01:00
Justin Clark-Casey (justincc) d041276517 Remove _mesh field since the mesh data no longer needs to be stored after it's initially used.
This may improve memory usage for regions using mesh and sculpts, though I suspect that it doesn't address the current memory leak.
2011-07-31 01:03:52 +01:00
Justin Clark-Casey (justincc) bd8f538f80 refactor: Remove argument to pass in an initial mesh to OdePrim since this is no longer required and it prevents removal of the _mesh field (which is only used temporarily)
If passing in a mesh becomes important again in the future then this can be reinstated.
2011-07-31 00:49:49 +01:00
Justin Clark-Casey (justincc) 196a774b24 minor: correct method doc for last commit 2011-07-31 00:45:20 +01:00
Justin Clark-Casey (justincc) 454312f5bc refactor: rename CreateGeom _mesh argument to mesh, so as to not confuse this with the pre-existing _mesh field 2011-07-31 00:44:23 +01:00
Justin Clark-Casey (justincc) f1ce17071d minor: method doc 2011-07-31 00:43:02 +01:00
Justin Clark-Casey (justincc) e08be91c84 Refactor: Replace instances of m_isphysical with IsPhysical rather than have some code reference the private var and other the public var without any functionality difference.
Add some method doc to IsPhysical
2011-07-30 23:44:47 +01:00
Justin Clark-Casey (justincc) 4f4d080461 refactor: Rename ODEPrim.ParentPrim() to AddChildPrim() for code readability 2011-07-30 23:20:43 +01:00
Justin Clark-Casey (justincc) 49a3740ee9 minor: remove mono compiler warnings, some code spacing adjustments 2011-07-30 03:56:29 +01:00
Justin Clark-Casey (justincc) 9fc59e2bf2 minor: remove some mono compiler warnings 2011-07-30 03:19:00 +01:00
Justin Clark-Casey (justincc) d917010433 minor: Add method doc to collision subscription methods. Change method case to reflect OpenSim standards. 2011-07-30 03:11:36 +01:00
Justin Clark-Casey (justincc) 310a685220 refactor: extract method that generates a physics mesh from prim shape data 2011-07-30 02:34:50 +01:00
Justin Clark-Casey (justincc) 4197f66052 refactor: extract code which generate points and faces from sculpt data into it's own method.
fix build break.
2011-07-30 02:22:05 +01:00
Justin Clark-Casey (justincc) b0eacadeb4 fix bug in previous commit 2011-07-30 02:09:17 +01:00
Justin Clark-Casey (justincc) 122e01949d refactor: move the code that generates physics meshs from prim mesh data into a separate method, in order to make the code more readable. 2011-07-30 02:08:32 +01:00
Justin Clark-Casey (justincc) 7791c1fd1e Replace the generic exception logging in flotsam asset cache with more specific stuff to return more information. 2011-07-30 01:35:22 +01:00
Justin Clark-Casey (justincc) c4c6b457c3 correct misleading "fcache status" text - deep scans are not performed when this command is invoked. 2011-07-30 01:16:10 +01:00
Justin Clark-Casey (justincc) 835352aee9 Make it clearer what the save_crashes setting in [Startup] actually does. 2011-07-30 01:05:30 +01:00
Justin Clark-Casey (justincc) 2f5995f5c0 Temporary code to change bad AvatarHeight values in the AvatarService to the default Ruth height.
I was persuaded to do this because simulators on osgrid will persist in inserting bad values for an unknown length of time, even after the original simulator bug which was inserting bad values is out in an osgrid distro
This code can be removed at some point in the future, though I think there is an argument for having services police these values in open grids.
2011-07-30 00:58:17 +01:00
Justin Clark-Casey (justincc) 6d866ba6d5 Temporarily put in a log line which shows which locale the user is running in. 2011-07-29 23:43:35 +01:00
Justin Clark-Casey (justincc) 9a5e0ede7c For all Util.FireAndForget invocations, set thread to en_US before continuing wtih the invocation.
This is to avoid bugs where the locale is not manually set on the thread and bad data values get sent to the database or over the wire.
Lots of code does this manually but as we've seen, a subtle change can hit code which has forgotton to do this.
Since en_US show be used throughout the server at present, setting it at FireAndForget seems reasonable.
Arguably, it would be better to do this where data is sent, but doing it here is much easier.
All the manual BeginInvokes() remaining in the code should probably call FireAndForget instead.
2011-07-29 23:21:57 +01:00
Justin Clark-Casey (justincc) 84c68c61bd When we start the appearance saving thread, make sure we set the culture to En_US so that a different culture doesn't save values with commas as decimal points, etc.
This will hopefully stop giants stalking the grid.
See http://opensimulator.org/mantis/view.php?id=5614
2011-07-29 22:27:04 +01:00
Justin Clark-Casey (justincc) 5043be13fb Return null from CreateMeshFromPrimMesher if OpenJPEG decoding of the sculpt data fails.
This is to address http://opensimulator.org/mantis/view.php?id=5612
2011-07-29 21:49:23 +01:00
Justin Clark-Casey (justincc) f3c5a5b745 fix extremely minor Ode bug where the _taintedPrimL list would always be cleared on every OdeScene.Simulate() even if it was already empty. 2011-07-29 01:18:42 +01:00
Justin Clark-Casey (justincc) 2a39d0cdb0 refactor: Move another chunk of ninja code out of the OdeScene.Simulate() loop for consistency and readability. 2011-07-29 00:51:07 +01:00
Justin Clark-Casey (justincc) 3f0d8f3cbf refactor: Simplify reading OdeScene.Simulate() loop by shunting all the NINJA joints stuff into its own method.
Now if ninja joints isn't active (which is the default) don't have to wade through a lot of massively indented irrelevant code.
2011-07-29 00:39:02 +01:00
Justin Clark-Casey (justincc) 9c6227da66 refactor: unindent the OdeScene.Simulate() loop to ignore the long commented out ifs and locks
This is to make it more readable.
2011-07-29 00:23:42 +01:00
Justin Clark-Casey (justincc) 8c3eb324c4 When using osTeleportAgent() and osTeleportAvatar(), only teleport if the region name exactly matches (not near matches)
This is to prevent situations where the first name returned by GridService.GetRegionsByName is not one that exactly matches the given region name, even when there is an exact match later on in the list.
Only the above two functions call this teleport method (the map uses a different routine) so this seems safe to change.
Addresses http://opensimulator.org/mantis/view.php?id=5606
2011-07-29 00:00:35 +01:00
Melanie c4ffcd4b7d Ensure that packet headers get parsed correctly 2011-07-27 09:12:00 +01:00
Melanie 4cdc8806fb Fix LLTextBox to work with the updated libOMV 2011-07-23 11:40:38 +01:00
Justin Clark-Casey (justincc) 504de8bc47 Pass the first name and last name from the agent circuit data to the authorization service rather than from the account.
This is to accomodate situations where the authorization service is being used by the hypergrid, where visitors have no user account.
See http://opensimulator.org/mantis/view.php?id=5517, this code is somewhat adapted/cleaned up from Michelle's patch
I'm a little ambivalent about this since visitors could put anything in firstname/lastname so it's not much of an auth measure.
It's up to the auth service to decide which data it actually uses.
Possibly we should be passing through other info such as agent circuit ip
2011-07-23 03:48:53 +01:00
Justin Clark-Casey (justincc) ea58aee338 Change default AllowScriptCrossings config setting to true.
When this setting is false and other defaults haven't been changed, scripts entering the simulator from another sim are automatically restarted but their state is not preserved.
When this setting is true, state that accompanies the script is reloaded (e.g. if a script had a variable i = 1 when leaving the source region, it will still have i = 1 on the destination region).
This setting does not affect crossings when regions are run in the same simulator.  In this case, state is already preserved.
2011-07-23 02:31:00 +01:00
Makopoppo 4eaca4884e Fixed serverside_object_permission default value confliction 2011-07-23 02:26:13 +01:00
Justin Clark-Casey (justincc) be9b4ad23a For default everyone permissions on library items, make notecards and scripts non-modifiable (but still copyable, etc).
Users should not be given the impression that they can modify these items.
This still does not solve the issue where library items cannot be dragged into prims or user inventory any time after they are initially seen.
Curiously, manually copying and pasting still appears to work.
On the surface, this seems to have something to do with library item caching on the client, since deleting the cache allows drag to work again once
Not sure what the exact problem is.
2011-07-23 02:18:23 +01:00
Justin Clark-Casey (justincc) f0895028e9 Remove manually permissions settings on all current library items so that they use the defaults instead.
Some items had completely wrong permissions - this is easier than correcting them all.
The ability to set permissions in xml is retained since there are use cases for this (e.g. to create no-mod library scripts)
2011-07-23 02:13:11 +01:00
Justin Clark-Casey (justincc) fcaa4f6012 Revert "Don't load current/next/everyone/base permissions from the library item xml files - always use PermissionMask.All instead (which was the existing default)."
There actually are uses for this.  I will correct the perms instead since some entries appear to be wrong.

This reverts commit 667b54f5a2.
2011-07-23 02:05:51 +01:00
Justin Clark-Casey (justincc) 667b54f5a2 Don't load current/next/everyone/base permissions from the library item xml files - always use PermissionMask.All instead (which was the existing default).
Library items always need the same permissions, so it doesn't make sense to load them from the xml files.  This just opens the door to permissions mistakes.
2011-07-23 01:59:14 +01:00
Justin Clark-Casey (justincc) aadc4eb3b8 Fix problem where sculpts were not getting physical proxies
Fixed this by inspecting Shape.SculptEntry at various places instead of Shape.SculptType.  Sculpties actually have a SculptType of Cylinder - only true mesh is SculptType.Mesh
This addresses http://opensimulator.org/mantis/view.php?id=5595
2011-07-22 19:23:38 +01:00