Justin Clark-Casey (justincc)
712d44635a
refactor: Move sanity checks to the top of IAM.RezObject() to make the code more readable
2011-09-01 23:14:50 +01:00
Justin Clark-Casey (justincc)
e30651b931
use group.RootPart in IAM.RezObject() rather than group.GetChildPart(group.UUID);
2011-09-01 23:09:14 +01:00
Justin Clark-Casey (justincc)
8b83c4a433
Remove pointless NRE check in IAM.RezObject() since this can never occur
2011-09-01 23:06:57 +01:00
Justin Clark-Casey (justincc)
1bf29d60e1
Remove code which was automatically deleting non-root prims from scene objects that had previous been attachments.
...
Looks like this code was accidentally uncommented in e1b5c612
from feb 2010.
Appears to resolve the rest of http://opensimulator.org/mantis/view.php?id=5664
2011-09-01 22:05:05 +01:00
Justin Clark-Casey (justincc)
616e672fce
If the user receiving an inventory folder has left the scene by the time the acceptence message arrives, then don't send them an inventory update.
...
Doing so causes a NullReferenceException
2011-09-01 02:43:17 +01:00
Justin Clark-Casey (justincc)
7eca929686
Eliminate pointless checks of SOG.RootPart != null
...
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc)
095b3e5756
Remove pointless cluttering SOP.ParentGroup != null checks.
...
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc)
ca9a054bba
Don't set a GridUser entry for NPCs.
...
Resolves http://opensimulator.org/mantis/view.php?id=5665
2011-08-31 18:03:07 +01:00
Justin Clark-Casey (justincc)
7d58b5fa15
move common code into AttachmentsModule.DeleteAttachmentsFromScene()
2011-08-31 17:53:58 +01:00
Justin Clark-Casey (justincc)
e69f246b86
refactor: move multiple class to set avatar height into associated SP.AddToPhysicalScene()
2011-08-31 17:25:18 +01:00
Justin Clark-Casey (justincc)
8c703022c1
In WorldCommModule, replace the useless Attachments == null check with Attachments.Count == 0 instead
2011-08-31 16:50:18 +01:00
Justin Clark-Casey (justincc)
5a5206449f
minor: seal up another instance of using the appearance list without locking
2011-08-31 16:41:58 +01:00
Justin Clark-Casey (justincc)
32444d98cb
Make SP.Attachments available as sp.GetAttachments() instead.
...
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
2011-08-31 16:29:51 +01:00
Justin Clark-Casey (justincc)
2acfff9f6d
remove pointless ToArray() call in AttachmentsModule.SaveChangedAttachments()
2011-08-30 23:39:26 +01:00
Justin Clark-Casey (justincc)
1809aaf74c
minor: remove already processed avatar null check in Scene.RemoveClient()
...
remove some now duplicated method doc
2011-08-30 23:36:45 +01:00
Justin Clark-Casey (justincc)
ddc733cd3d
refactor: move SP.SaveChangedAttachments() fully into AttachmentsModule
2011-08-30 23:32:30 +01:00
Justin Clark-Casey (justincc)
04bafd2122
refactor: Move ScenePresence.RezAttachments() into AttachmentsModule
...
This adds an incomplete IScenePresence to match ISceneEntity
2011-08-30 23:06:10 +01:00
Justin Clark-Casey (justincc)
1de68b34d9
refactor: migrate DropObject handling fully into AttachmentsModule from Scene
2011-08-30 22:25:38 +01:00
Justin Clark-Casey (justincc)
e7a515bab0
Fix bug where attachments were remaining on the avatar after being dropped.
...
If the inventory service is configured not to allow deletion then these will not disappear from inventory
2011-08-30 22:06:24 +01:00
Justin Clark-Casey (justincc)
be357f8fee
Fix bug in persisting saved appearances for npcs
...
Assets have to be marked non-local as well as non-temporary to persist. This is now done.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
2011-08-30 01:58:32 +01:00
Justin Clark-Casey (justincc)
1615e7d29f
Eliminate duplicate AttachmentPoint properties by always using the one stored in the root part's state field.
2011-08-27 00:33:24 +01:00
Justin Clark-Casey (justincc)
b7700428ec
refactor: camel case AttachmentPoint method arg as per code standards
2011-08-27 00:20:15 +01:00
Justin Clark-Casey (justincc)
33a894f3d2
refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values
2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc)
15a514fcbc
refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
...
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Justin Clark-Casey (justincc)
5f3ffc195f
refactor: move SOG.DetachToGround() to AttachmentsModule.DetachSceneObjectToGround() and remove redundant code
2011-08-26 22:49:11 +01:00
Justin Clark-Casey (justincc)
ae614c1264
refactor: simplify DetachSingleAttachmentToGround() by retrieving the scene object group direct
2011-08-26 22:37:53 +01:00
Justin Clark-Casey (justincc)
040ad11e61
refactor: remove common presence set up in attachments tests
2011-08-26 22:24:51 +01:00
Justin Clark-Casey (justincc)
dc61bf4b1f
comment out verbose test logging from last commit
2011-08-26 22:17:27 +01:00
Justin Clark-Casey (justincc)
1dba047e4d
add regression test for detaching an attachment to the scene
2011-08-26 22:17:05 +01:00
Justin Clark-Casey (justincc)
002313bf13
refactor: move sog.DetachToInventoryPrep() into AttachmentsModule.DetachSingleAttachmentToInv()
2011-08-26 22:02:23 +01:00
Justin Clark-Casey (justincc)
fcbed6479a
Downgrade warning about not saving unchanged attachment to debug instead, and change text to better indicate what it's saying
2011-08-26 21:46:12 +01:00
Justin Clark-Casey (justincc)
6c692d2e21
Fix a very recent regression from llAttachToAvatar() fix where I accidentally stopped normal script state persistence on login/logout and attach/detach
2011-08-26 21:26:29 +01:00
Justin Clark-Casey (justincc)
4b4c5e69e5
Remove forcing of phantom on ground attached objects - attachments can be both non-phantom and flagged as physical.
...
As per Melanie
2011-08-24 22:45:51 +01:00
Justin Clark-Casey (justincc)
21f1b68fdf
extend initial rez regression test to check that attachment is phantom
2011-08-24 22:25:23 +01:00
Justin Clark-Casey (justincc)
73d913dad2
Make objects attached from the ground phantom
2011-08-24 22:12:51 +01:00
Justin Clark-Casey (justincc)
801b7f18a7
return InventoryItemBase from AddSceneObjectAsAttachment()
2011-08-24 21:40:36 +01:00
Justin Clark-Casey (justincc)
5eeee480d4
refactor: move Scene.Inventory.attachObjectAssetStore() into AttachmentsModule.AddSceneObjectAsAttachment()
2011-08-24 21:35:44 +01:00
Justin Clark-Casey (justincc)
ccf07f6ae3
refactor: remove pointless AgentId argument from attachObjectAssetStore()
2011-08-24 21:14:57 +01:00
Justin Clark-Casey (justincc)
b9ec625dbf
add TestAddAttachmentFromGround() regression test
2011-08-24 21:07:46 +01:00
Justin Clark-Casey (justincc)
cf3ffe5bb4
Fix llAttachToAvatar()
...
Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay.
So we now don't do this. The state will be serialized anyway when the avatar normally logs out.
The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
2011-08-24 20:49:23 +01:00
Justin Clark-Casey (justincc)
97b207240e
rename AttachmentsModule.ShowDetachInUserInventory() to DetachSingleAttachmentToInv() for consistency and to reflect it's actual behaviour
2011-08-23 22:05:22 +01:00
Justin Clark-Casey (justincc)
014cd4f8bb
remove mono compiler warnings
2011-08-23 21:41:16 +01:00
Justin Clark-Casey (justincc)
805ba268d5
replace TestRemoveAttachments() with a more thorough TestRemoveAttachment()
2011-08-23 21:37:36 +01:00
Justin Clark-Casey (justincc)
34aed96a2f
replace old TestAddAttachments() with a more thorough TestAddAttachment()
2011-08-23 21:20:23 +01:00
Justin Clark-Casey (justincc)
1f3ce48be1
If an object failed to attach due to an exception, then try and detach it from the avatar's list of attachments as well as delete it from the scene.
...
This may help with the "Inconsistent attachment state" errors seen on teleport.
See http://opensimulator.org/mantis/view.php?id=5644 and linked reports
2011-08-23 00:04:38 +01:00
Justin Clark-Casey (justincc)
d328046efb
If an attachment fails, then start logging the exception for now, in order to help with the inconsistent state bug.
...
This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods. However, more of this is required.
2011-08-22 23:59:48 +01:00
Snoopy Pfeffer
db91044593
Thanks Neil Canham for fixing bulk inventory updates, no sending BulkInventoryUpdate after accepting inventory items.
2011-08-22 14:51:43 +02:00
BlueWall
5e231acdce
Add avatar and attachments to llRegionSay
...
llRegionSay will now message avatars on chan 0
and will message attachments on the avatar that
listen on channels other than 0.
This behavior is consistant with the LL
implementation as tested on regions in Agni
with one exception: this implementation does
not include issue:
https://jira.secondlife.com/browse/SCR-66 ?
2011-08-20 12:36:35 -04:00
BlueWall
2787207aa2
Add llRegionSayTo
...
llRegionSayTo(key target, integer channel, string messasge)
Allows messages to be sent region-wide
to a particular prim.
2011-08-19 18:47:21 -04:00
Justin Clark-Casey (justincc)
c9e6b7bd10
Stop NPC's getting hypergrid like names in some circumstances.
...
This meant punching in another AddUser() method in IUserManagement to do a direct name to UUID associated without the account check (since NPCs don't have accounts).
May address http://opensimulator.org/mantis/view.php?id=5645
2011-08-19 00:45:22 +01:00
Justin Clark-Casey (justincc)
c1a34cd8da
Don't try to save changed attachment states when an NPC with attachments is removed from the scene.
...
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
2011-08-18 00:53:05 +01:00
Justin Clark-Casey (justincc)
d8f886ccdb
comment out noisy attachments logging
2011-08-17 23:41:20 +01:00
Justin Clark-Casey (justincc)
4a9b8184f7
For now, supress 'OH NOES' warnings given by HGInventoryBroker.CacheInventoryServiceURL when it tries to cache it for an NPC
...
This concept is meaningless for NPCs. However, it might be better to make NPCism an actual property on ScenePresence and check.
Addresses http://opensimulator.org/mantis/view.php?id=5643
2011-08-17 01:51:58 +01:00
Justin Clark-Casey (justincc)
acfdca34fd
Fix issue where loading a new appearance onto an NPC would not remove the previous attachments from the scene.
...
Addresses http://opensimulator.org/mantis/view.php?id=5636
2011-08-17 01:35:33 +01:00
Justin Clark-Casey (justincc)
bd5d35ee32
extend test to check that there is one attachment and that it has the right name
2011-08-17 00:42:58 +01:00
Justin Clark-Casey (justincc)
696bd44833
Add new regression TestRezAttachmentsOnAvatarEntrance() to do simple attachments check
2011-08-17 00:37:33 +01:00
Justin Clark-Casey (justincc)
57e54d84d6
Add new FireAndForgetMethod.None.
...
This executes the callback on the same thread that made the request. Designed for use only by regression tests that rely on a predicable event ordering.
2011-08-16 23:05:08 +01:00
Justin Clark-Casey (justincc)
d3c10e609e
Move some previously common code back into separate tests. Remove unused region handle from test.
2011-08-16 22:27:52 +01:00
Justin Clark-Casey (justincc)
0bbf7c21d7
Isolate existing incomplete attachments tests rather than have them rely on each other.
...
Much easier to debug this way.
2011-08-16 22:13:32 +01:00
Justin Clark-Casey (justincc)
c58b32e7ba
drop number of attachments in test from 3 to 2 to reduce text complexity
2011-08-16 22:09:13 +01:00
Justin Clark-Casey (justincc)
601257f8b6
remove setting up of second scene in attachments since it's not currently used
2011-08-16 21:58:52 +01:00
Justin Clark-Casey (justincc)
66eb537d0c
relocate AttachmentTests.cs to AttachmentsModuleTests.cs
2011-08-16 21:56:56 +01:00
Justin Clark-Casey (justincc)
fd3a7ab70c
minor: change some comment text in flotsam asset cache
2011-08-16 21:31:17 +01:00
Justin Clark-Casey (justincc)
8c95c83562
On Flotsam asset cache, go back to moving the file from the temporary location rather than copying.
...
Copying doesn't prevent IOExceptions on Windows due to file locking. (e.g. Mantis 5642, 5630).
So instead go back to moving the file, swallowing IOExceptions that occur just for the move due to competing caching threads or even different opensimulator instances.
2011-08-16 21:03:43 +01:00
Snoopy Pfeffer
e19843a0ee
WorldMap: Added map item for Land-for-Sale. Implemented backlist item timeouts (default 10 minutes; see also new config file setting BlacklistTimeout) and removing backlisted neigboring regions that have been restarted from the blacklist.
2011-08-14 17:45:23 +02:00
Justin Clark-Casey (justincc)
dcb4b2de09
Fix a problem in the Flotsam asset cache where assets were being put into the memory cache even when it wasn't enabled.
...
This hopefully addresses http://opensimulator.org/mantis/view.php?id=5634
This is the most probable cause of the memory problems that people have been seeing in the past month.
This bug has been around since commit 5dc785b
(4th July 2011). Doh! This is why regressions tests are such a good idea... :)
Many thanks to Nebadon for using git bisect to track down this bug, which made it a 5 minute fix.
2011-08-13 15:21:03 +01:00
Aaron Duffy
90c6fa89be
Fix a bug preventing region modules from creating trees at anything but the default scale.
2011-08-13 00:52:32 +01:00
Justin Clark-Casey (justincc)
78ff82bfe9
If a map request to a server fails, always close the outbound connection.
...
This probably doesn't help with the current memory leak.
2011-08-12 23:40:22 +01:00
Justin Clark-Casey (justincc)
ed142ead25
minor: change login enable/disable messages in last commit so that they occur after the setting has been made
2011-08-12 22:50:58 +01:00
Justin Clark-Casey (justincc)
4b88f04c0a
minor: On "login disable/enable" always tell the user the final login status, rather than remaining silent if it was already on/off
2011-08-12 22:46:42 +01:00
Justin Clark-Casey (justincc)
2169cf04f9
When saving appearance, only save the baked textures, not the other face textures (which are already stored permanently)
2011-08-12 01:24:15 +01:00
Justin Clark-Casey (justincc)
3d4cc93a8e
minor: a little bit of log message correction/commenting out
2011-08-11 03:07:41 +01:00
Justin Clark-Casey (justincc)
cace6eaa8a
comment out some of the currently less useful debug log messages
2011-08-11 02:06:32 +01:00
Justin Clark-Casey (justincc)
195c1dc9b8
implement osNpcStopMoveTo() to cancel any current move target
2011-08-10 00:26:38 +01:00
Justin Clark-Casey (justincc)
92e96d394a
When an NPC is created, stop telling neighbouring regions to expect a child agent
2011-08-09 23:11:07 +01:00
Justin Clark-Casey (justincc)
e869eeb0bf
Implement first draft functions for saving and loading NPC appearance from storage.
...
This works by serializing and deserializing NPC AvatarAppearance to a notecard in the prim inventory and making the required baked textures permanent.
By using notecards, we avoid lots of awkward, technical and user-unfriendly issues concerning retaining asset references and creating a new asset type.
Notecards also allow different appearances to be swapped and manipulated easily.
This also allows stored NPC appearances to work transparently with OARs/IARs since the UUID scan will pick up and store the necessary references from the notecard text.
This works in my basic test but is not at all ready for user use or bug reporting yet.
2011-08-09 03:51:34 +01:00
Justin Clark-Casey (justincc)
85e07c78fb
refactor: Change SceneHelpers.AddClient() to AddScenePresence().
...
This seems to make more sense as we can get SP.ControllingClient
2011-08-06 02:17:41 +01:00
Justin Clark-Casey (justincc)
dad1d6df18
rename TestHelper => TestHelpers for consistency
2011-08-06 00:31:03 +01:00
Justin Clark-Casey (justincc)
bda1a4be45
rename test SceneSetupHelpers -> SceneHelpers for consistency
2011-08-06 00:26:37 +01:00
Justin Clark-Casey (justincc)
7d35bf8193
refactor: remove a sliver of unnecessary code
2011-08-05 22:45:42 +01:00
Justin Clark-Casey (justincc)
1a2518d19b
Instead of moving the file to its final place when FlotsamCache writes to disk, copy it instead.
...
This is to eliminate IOException where two threads compete to cache the same file.
2011-08-05 19:57:47 +01:00
Justin Clark-Casey (justincc)
6e4ec29722
Do a partial fix/implementation of OSSL osNpcMoveTo()
...
Avatar moves and stops. However, will stop in mid stride.
And if the move to position is in the air, avatar will continue to make vain and quite hilarious attempts to take off (but never doing so).
Clearly more work is needed.
2011-08-03 04:19:19 +01:00
Robert Adams
74b23210a7
Fix Flotsam cache so it will use the disk cache if the memory cache is enabled
2011-08-02 23:44:40 +01:00
Justin Clark-Casey (justincc)
d2220da205
remove ancient late 2008 cruft that handles the situation where the GetRegionsByName used to not be implemented/returned null.
...
It's impossible that anybody is still running this since the infrastructure has changed massively since that time.
2011-08-02 00:58:08 +01:00
Justin Clark-Casey (justincc)
17e9d61f43
Change GridService.GetRegionByName() to only return info if there is an exact region name match, unlike GetRegionsByName()
...
This should fix the first part of http://opensimulator.org/mantis/view.php?id=5606 , and maybe 5605.
Thanks to Melanie for helping with this.
2011-08-02 00:52:48 +01:00
Justin Clark-Casey (justincc)
59f548cda8
Get osNpcCreate appearance working with avatars that are currently in the scene.
...
Had to stop using AvatarService for now since it doesn't store baked texture IDs (which is why this was failing).
Also failing because cloning appearance was also cloning the AvatarApperance.Owner field, which we weren't then changing.
Extended TestCreate() to check this.
2011-08-01 23:41:29 +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)
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
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
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
Oren Hurvitz
02e54c57c4
Generate the initial maptile asynchronously
...
Signed-off-by: Melanie <melanie@t-data.com>
2011-07-22 09:52:21 +01:00
Oren Hurvitz
56830bfe07
When handling SetAppearance packet, always save the appearance; not only if the texture was changed
2011-07-21 20:18:36 +01:00
Oren Hurvitz
f97278610c
Fixed updating avatar appearance
...
Signed-off-by: root <root@grid00001.t-data.com>
2011-07-21 20:13:32 +01:00
Justin Clark-Casey (justincc)
aec3b58a57
use standard sdk stack in terrain model rather than OpenSim.Framework.UndoStack.
...
remove OpenSim.Framework.UndoStack
2011-07-18 02:06:06 +01:00