Commit Graph

12975 Commits (5f281716a9560961f64b72cc7f77ed4ad2a1388e)

Author SHA1 Message Date
Mic Bowman 648866b597 Merge branch 'master' into bulletsim 2011-08-29 09:55:34 -07:00
Robert Adams 18037d41c4 Move GetMeshKey from buried inside Meshmerizer to a public method on PrimitiveBaseShape
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:50:54 -04:00
Robert Adams 80a2b81d52 Add level of detail specification to optionally reduce the number of vertices in generated prim meshes
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:49:25 -04:00
Makopoppo 795b56e695 Related to #4689 - Adding missing null check for SceneObjectPart
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-27 07:45:02 -04:00
Justin Clark-Casey (justincc) d4d894c20f Stop avatars returning from neighbouring regions from stalling on the border crossing.
On making a root agent, we need to reset the ScenePresence.m_movement_flag so that it doesn't remember the
movement registered to the client when it exited the initial region.
If this is remember, then the client avatar movement isn't updated and it appears to stall in mid-air, though this is resolved with a prod/release of any other direction key.
This bug was probably introduced a few weeks ago.  Surprised that nobody brought it up.
2011-08-27 01:28:33 +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
Robert Adams 21708b832b BulletSim: add mesh representation. Use meshes for static objects and switch to hulls for physical objects. 2011-08-26 15:51:21 -07:00
Mic Bowman 23f10f1d22 Merge branch 'master' into bulletsim 2011-08-26 15:23:46 -07: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
BlueWall 04d42860fe Merge branch 'master' of /home/opensim/src/opensim 2011-08-25 07:01:57 -04:00
Micheil Merlin cf42fcd978 llSetPrimitiveParams correct prim hollow for cases where limit should be 70%.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-25 06:50:55 -04: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) d5dc8133fc remove pointless IsDeleted check on SP.RezAttachments()
IsDeleted is never set for an SP, even though it's on EntityBase.
It might be an idea to set it in the future
2011-08-24 22:37:08 +01:00
Justin Clark-Casey (justincc) 6d4432f440 refactor: simplify EntityBase.IsDeleted property 2011-08-24 22:34:26 +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) 9ba4511d3e add SOG helper properties IsPhantom, IsTemporary, etc. to improve code readability
use these in some sog methods
2011-08-24 21:53:12 +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) 274e354006 get rid of pointless grp null check in attachObjectAssetStore() 2011-08-24 21:23:10 +01:00
Justin Clark-Casey (justincc) 0e0d40c810 minor: remove hardcoded region numbers with the region size constant and a currently hardcoded offset 2011-08-24 21:18:11 +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) 4a101080ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-23 21:21:02 +01:00
Justin Clark-Casey (justincc) 34aed96a2f replace old TestAddAttachments() with a more thorough TestAddAttachment() 2011-08-23 21:20:23 +01:00
Mic Bowman ce011d7e44 Protect a check for default texture entry when setting alpha values. Apparently
if all faces have their own textures then the default texture is null
2011-08-23 10:52:12 -07:00
Justin Clark-Casey (justincc) afd5469eec Remove pointless contains check in ScenePresence.RemoveAttachment() 2011-08-23 00:08:29 +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
Justin Clark-Casey (justincc) 2eaadf2dc0 Add warning log message to say which attachment fails validation in order to pin down problems with "Inconsistent Attachment State" 2011-08-22 23:28:37 +01:00
Justin Clark-Casey (justincc) 138a5e04b8 minor: remove mono compiler warning 2011-08-22 23:10:43 +01:00
Justin Clark-Casey (justincc) 940a248c3d minor: comment out simulator features log line 2011-08-22 22:44:49 +01:00
Justin Clark-Casey (justincc) 7cf4bb5256 Add ISimulatorFeaturesModule so that other modules can register features in addition to the hardcoded ones. 2011-08-22 22:13:07 +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
Justin Clark-Casey (justincc) d74686fd51 read m_rpcHandlersKeepAlive under appropriate lock 2011-08-22 02:25:58 +01:00
Justin Clark-Casey (justincc) c587b0a3a3 oops, fix build break from last commit 2011-08-22 02:10:45 +01:00
Justin Clark-Casey (justincc) 9469c62098 improve locking of m_agentHandlers in BaseHttpServer 2011-08-22 02:07:51 +01:00
Justin Clark-Casey (justincc) f9a367e2f6 improve locking of m_HTTPHandlers in BaseHttpServer 2011-08-22 01:59:40 +01:00
Justin Clark-Casey (justincc) 5a11cffd23 improve locking of m_streamHandlers in BaseHttpServer 2011-08-22 01:58:50 +01:00
Justin Clark-Casey (justincc) 20a4367827 remove necessity to catch a KeyNotFoundException in BaseHttpServer.RemoveLLSDHandler() 2011-08-22 01:58:19 +01:00
Justin Clark-Casey (justincc) 8254116dc6 improve locking of m_llsdHandlers in BaseHttpServer 2011-08-22 01:52:08 +01:00
Justin Clark-Casey (justincc) 2f1ac1d144 minor: remove mono compiler warning 2011-08-22 01:45:46 +01:00
Justin Clark-Casey (justincc) 94a8ab80c8 improve locking of m_rpcHandlers in BaseHttpServer 2011-08-22 01:43:34 +01: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
Mic Bowman 384cb79a1a Merge branch 'master' into bulletsim
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneManager.cs
2011-08-19 14:49:16 -07:00
Robert Adams bb5b396fc5 Fix exception when using BasicPhysics 2011-08-19 00:53:57 +01: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) 3146f4bae0 Don't need to try both AssetService.Get and GetCached in GetMesh since Get always calls GetCached and code paths were identical 2011-08-18 23:36:43 +01:00
Robert Adams fef73a1a10 BulletSim: add runtime setting of physics parameters. Update default values. 2011-08-18 14:32:09 -07:00
Justin Clark-Casey (justincc) 49258350e8 refactor: fold CreateSceneViewer() back into ScenePresence constructor 2011-08-18 01:22:01 +01:00
Justin Clark-Casey (justincc) 8d29d490a1 minor: remove some mono compiler warnings 2011-08-18 01:16:58 +01:00
Justin Clark-Casey (justincc) 45c37ef494 refactor: Fold 3 ScenePresence() constructors into one since only one is called. 2011-08-18 01:11:23 +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) eb8b6b7d52 minor: remove mono compiler warning 2011-08-17 23:28:57 +01:00
Justin Clark-Casey (justincc) 6b51d8a10e In the asset service, check that an asset exists before attempting to store it. 2011-08-17 23:24:41 +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) d73c424078 get rid of logged warnings about lack of some modules - afaik these never occur in real life and just clutter up tests 2011-08-16 23:12:58 +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) 8d866ae8c3 minor: remove some mono compiler warnings 2011-08-16 21:45:01 +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
BlueWall 0784791a44 Add "shutdown" message to RegionReady
Add "shutdown" message when removing region.
	From a patch submitted by Michelle Argus.
	Thanks Michelle
2011-08-15 16:21:04 -04:00
BlueWall e8f09cd5f7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-15 13:04:02 -04:00
BlueWall e870442e31 Remove un-needed ATTACH command in migration script.
This was causing issues when using specified
	paths to database files by using a hard-coded
	name.
2011-08-15 12:59:17 -04:00
Snoopy Pfeffer 9a6ad1535e Added console command "delete object outside" to delete all objects outside region boundaries. This is especiyll useful in cases where physical objects outside regions boundaries cause much physics engine lag. 2011-08-15 17:46:51 +02:00
Snoopy Pfeffer 70ea625447 Added optional Login Service parameter "Currency" to be able to change the currency name shown in the viewer. 2011-08-14 18:20:20 +02: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
Micheil Merlin b80dfb6572 llGetPrimitiveParams fix prim hollow/hole shape value 2011-08-13 15:34:08 +01: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) 76e0afe83f tidy up some OSSL NPC parameter names 2011-08-12 02:46:44 +01:00
Justin Clark-Casey (justincc) 16ac5413dd rename position parameter in osNpcMoveToTarget to target 2011-08-12 01:52:12 +01:00
Justin Clark-Casey (justincc) aebd46a434 rename osNpcStopMoveTo() to osNpcStopMoveToTarget() 2011-08-12 01:32:49 +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) 65c4b8d37b Fix kicking of NPCs via "kick user" console command.
Needed to hook up the Close() function in the NPCAvatar IClientAPI implementation, which [unfortunately] is still needed
2011-08-12 00:51:05 +01:00
Justin Clark-Casey (justincc) 0a1bbc27d2 Allow the osNpcCreate() function to accept a notecard name or asset for initial appearance 2011-08-12 00:14:06 +01:00
Justin Clark-Casey (justincc) d23d37d2aa implement osNpcGetPos() 2011-08-11 23:36:22 +01:00
Justin Clark-Casey (justincc) a21e98ae1a implement osNpcGetRot() and osNpcSetRot()
Rotation works if done around the z axis.  Anything else leads to random results.
2011-08-11 23:28:14 +01:00
Justin Clark-Casey (justincc) b1ae930c6b Implement osAgentSaveAppearance() to save the appearance of an avatar in the region to a notecard
This is separate from osOwnerSaveAppearance() so that owner saves can be allowed without allowing arbitrary avatar saves
2011-08-11 22:26:47 +01:00
Justin Clark-Casey (justincc) 50945dd560 add regression test for osNpcCreate when cloning an in-region avatar 2011-08-11 21:43:26 +01:00
Justin Clark-Casey (justincc) 83ca5a101d Split out to-be-common setup stuff from TestOsOwnerSaveAppearance() 2011-08-11 20:56:18 +01:00
Justin Clark-Casey (justincc) b3a4b10531 eliminate redundant ground sitting checks since these are already done in enclosing control structures 2011-08-11 03:16:46 +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) 1aa1711893 eliminate the rotation parameter from SP.HandleMoveToTargetUpdate(). This can just use the currently set Rotation
looks like I spoke to soon about eliminating jerkiness on "go here"/autopilot.  It's still there.
2011-08-11 03:06:38 +01:00
Justin Clark-Casey (justincc) 36f7d36fa1 instead of setting avatar rotation twice in SP.HandleAgentUpdate(), eliminate the second setting in AddNewMovement() 2011-08-11 02:54:15 +01:00
Justin Clark-Casey (justincc) 29093df1a7 get rid of intermediate local store of body rotation in ScenePresence, this is not used. 2011-08-11 02:36:02 +01:00
Justin Clark-Casey (justincc) ee22569c92 only accept npc UUIDs to osNpc* functions, not names (except for create) 2011-08-11 02:19:13 +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) 4402851b08 Get NPCs to revert to the correct 'resting' animation (e.g. stand or hover) after finishing their movement. This also fixes judder after an avatar has finished "go here"/autopilot movement in a viewer.
This meant reseting the SP.AgentControlFlags since the Animator uses these to determine the correct default animation.
2011-08-11 01:56:42 +01:00
Justin Clark-Casey (justincc) 951ffad81e If SP.MoveToTarget has been called with a force walk, begin by landing the avatar.
There is a bug here - once an avatar has landed it glides to its new position instead of performing a walk animation
2011-08-11 00:23:54 +01:00
Justin Clark-Casey (justincc) 7f499ff3f3 Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()
Default for this function is now not to automatically land.
This allows better control by scripts when an avatar is going to be landing on a prim rather than the ground.
Stopping the avatar involves faking a collision, to avoid the pid controller making it overshoot.
A better approach would be to gradually slow the avatar as we near the target
2011-08-10 23:56:19 +01:00
Justin Clark-Casey (justincc) fb92678b83 fly and no fly constants for osNpcMoveToTarget() 2011-08-10 22:34:42 +01:00
Justin Clark-Casey (justincc) 5d6c9644fa early code to allow scripts to force npcs not to fly when moving to target
this is to allow walking on prims.  it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
2011-08-10 01:47:37 +01:00
Justin Clark-Casey (justincc) 4cb8d6379d Stop trying to deregister caps or close child agents when an NPC is removed 2011-08-10 00:59:31 +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) cba54090c7 When an NPC appearance is loaded, rez the attachments too 2011-08-09 23:25:52 +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) 795c8e6c22 Add osOwnerSaveAppearance() to help with setting up NPC appearances. Not yet ready for user use.
Adds regression test.
2011-08-09 22:05:47 +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) 3e16a0fbdd factor out common notecard caching code from 3 methods. 2011-08-09 00:12:41 +01:00
Justin Clark-Casey (justincc) 78d8ce3816 refactor: split out generic parts of osMakeNotecard() into a separate. Add method doc. Other minor tidies. 2011-08-08 23:22:47 +01:00
Justin Clark-Casey (justincc) 6878049952 get rid of bogus log message 2011-08-06 03:06:05 +01:00
Justin Clark-Casey (justincc) eec54adac5 remove some obsolete tests that are now done elsewhere 2011-08-06 02:38:38 +01:00
Justin Clark-Casey (justincc) e37f8cf902 Add a test to check that ScenePresence and circuit go away when a root agent is closed down 2011-08-06 02:27:25 +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) 83ba35a26b rip out sog generation methods in ScenePresenceAgentTests and use SceneHelpers instead
Not that it matters, since these tests are pretty bogus anyway.
Also, renames some test classes for consistency.
2011-08-06 02:01:25 +01:00
Justin Clark-Casey (justincc) 2b26d2f1a5 prevent "create region" console command from being able to create a region with the same id as one that already exists.
Addresses http://opensimulator.org/mantis/view.php?id=5617
2011-08-06 01:35:01 +01:00
Justin Clark-Casey (justincc) 76f46b2545 Do proper locking of m_localScenes list in SceneManager 2011-08-06 01:15:49 +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) cba40de109 extend phantom flag regression test to toggle back off 2011-08-06 00:22:14 +01:00
Justin Clark-Casey (justincc) c6c91e6599 refactor: Fold most SOP.ScriptSet* methods back into script code. Simplify. 2011-08-06 00:13:08 +01:00
Justin Clark-Casey (justincc) ba89fc3aa1 Add regression test for setting phantom status on a scene object. This is not yet complete. 2011-08-05 23:42:05 +01:00
Justin Clark-Casey (justincc) f18780d0e3 Get "show region" command in GridService to show grid co-ordinates rather than meters co-ord.
This makes it consistent with "show regions"
Addresses http://opensimulator.org/mantis/view.php?id=5619
2011-08-05 22:56:53 +01:00
Mic Bowman 82f41fdcb5 BulletSim: fix problem with not convex hulling large objects by creating unit meshes and always scaling in Bullet 2011-08-05 14:53:39 -07: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
Mic Bowman c3f579046c Merge branch 'master' into bulletsim 2011-08-05 11:13:02 -07:00
Robert Adams 7640b5abf6 BulletSim: Parameters settable from ini file. Linksets. Physical property value tuning 2011-08-05 11:01:27 -07:00
Justin Clark-Casey (justincc) 94d496cf2b remove the largely unused copy/pasted HandleAgentRequestSit() method 2011-08-05 00:57:43 +01:00
Justin Clark-Casey (justincc) 1918402cb1 if an NPC target is set to a ground location, then automatically land them when they get there.
This doesn't help where the target is a prim surface.  In these situations, it might be better to provide manual overrides so the script can control whethre an avatar flys there/lands, etc.
2011-08-04 03:08:35 +01:00
Justin Clark-Casey (justincc) 54ce029342 if an NPC move to target is above the terrain then make it fly to destination 2011-08-04 02:31:40 +01:00
Justin Clark-Casey (justincc) f999acd095 minor: remove some mono compiler warnings 2011-08-04 01:46:34 +01:00
Justin Clark-Casey (justincc) c678b75d65 if a move to target is set underground, constrain it to the terrain height 2011-08-04 01:45:56 +01:00
Justin Clark-Casey (justincc) 61a931490d move bAllowUpdateMoveToPosition switch outside of HandleMoveToTargetUpdate() 2011-08-04 01:30:37 +01:00
Justin Clark-Casey (justincc) 831f933ce6 only call move target code in SP.HandleAgentUpdate() if we're actually in the process of moving to a position 2011-08-04 01:22:01 +01:00
Justin Clark-Casey (justincc) 7b2b47530e move reset code out of HandleMoveToTargetUpdate() so that we only call it where needed instead of passing in a flag 2011-08-04 01:16:24 +01:00
Justin Clark-Casey (justincc) fc64cc2439 Make SIGNIFICANT_MOVEMENT SP constant a top-level property so that other classes can use it. 2011-08-04 01:05:43 +01:00
Justin Clark-Casey (justincc) 7f6f100c5a When the NPC reaches within the SIGNIFICANT_CLIENT_MOVEMENT distance of the target, move it directly to the target.
This makes the movement exact.  Regression test changed to check avatar reaches exact target.
Also has the nice side effect of making NPC animations continue to work after the first movement (which wasn't working).  However, avatar still pauses in mid-stride
2011-08-04 01:00:33 +01:00
Justin Clark-Casey (justincc) ba0c65e028 extend npc move test to check a second movement 2011-08-04 00:25:51 +01:00
Justin Clark-Casey (justincc) 6f913e8caf eliminate pre-existing unused SP.StopMovement() 2011-08-04 00:13:27 +01:00
Justin Clark-Casey (justincc) a2f5b4ac9a Rename HandleMoveToPositionUpdate() to HandleMoveToTargetUpdate() for consistency. Improve method doc. 2011-08-04 00:10:53 +01:00
Justin Clark-Casey (justincc) 0299cb060e eliminate a reset position flag by using functionally equivalent DCFlagKeyPressed 2011-08-04 00:06:01 +01:00
Justin Clark-Casey (justincc) 6ab01b338f Stop calling the SP.ResetMoveToTarget() code if a target is not actually set 2011-08-03 23:59:13 +01:00
Justin Clark-Casey (justincc) 31fb6b2d72 remove move to duck walk compensation - no longer required.
extends npc move to regression test to check stop after sufficient sim updates
2011-08-03 23:40:05 +01:00
Justin Clark-Casey (justincc) 61d49d4f63 rename NPC.Autopilot to NPC.MoveToTarget internally. Add method doc to INPCModule 2011-08-03 23:20:36 +01:00
Justin Clark-Casey (justincc) 31cea17f8e extend move test to check avatar is moving in the right direction after setting a move target 2011-08-03 23:13:52 +01:00
Justin Clark-Casey (justincc) 21d8a6b0e8 extend move test to check one beat of the simulator without actually asking the npc to move. 2011-08-03 23:06:18 +01:00
Justin Clark-Casey (justincc) d78fe44191 Add passing but incomplete NPC move regression test 2011-08-03 22:51:46 +01:00
Justin Clark-Casey (justincc) e0503d397c stop avatar service being set up in NPC TestCreate() - it's no longer used 2011-08-03 22:45:43 +01:00
Justin Clark-Casey (justincc) a333c60f28 refactor: rename the move to position methods to move to target to be consistent with terminology used by scene object part and elsewhere 2011-08-03 22:34:05 +01:00
Justin Clark-Casey (justincc) 2964467708 get rid of vestigal move to parameters 2011-08-03 22:11:05 +01:00
Justin Clark-Casey (justincc) b7a3f36c65 enable the NPC module for its regression test 2011-08-03 04:48:47 +01:00
Justin Clark-Casey (justincc) 797def8aa4 Put config to enable disable [NPC] module.
Default is disabled.  You will need to explicitly enable to toy with this.
2011-08-03 04:33:45 +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
Justin Clark-Casey (justincc) 68a5fe0431 Improve z axis move to/autopilot so the avatar does alternative crouch/huzzah when walking along the ground
Moving a flying avatar to a ground point doesn't yet land the avatar.  This may or may not be the best thing
2011-08-03 02:59:49 +01:00
Justin Clark-Casey (justincc) 30e816bfa2 Implement move to/autopilot for z axis movement as well.
This is jerky (an artifact of the way it's being done, I think), but it's better than on implementation.
2011-08-03 02:04:38 +01:00
Justin Clark-Casey (justincc) 0c23764ce2 get autopilot/go here to work immediately.
This works with viewer 1.23.5 and so in theory should work with libopenmetaverse.
2011-08-03 01:12:32 +01:00
Justin Clark-Casey (justincc) 1c126e6e22 refactor: Move update_movement_flag and the final check inside the m_allowMovement if in HandleAgentUpdate() since it's logically only ever used there 2011-08-03 00:55:52 +01:00
Justin Clark-Casey (justincc) f9689f5cc9 refactor: move out code from HandleAgentUpdate() which processes updates to move to a set position
Also comment out the really spammy log message I accidentally left in on the last commit.
2011-08-03 00:46:46 +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) c122489e09 Partially fix autopilot/go here
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
2011-08-02 23:41:12 +01:00
Justin Clark-Casey (justincc) b7f81d3492 If GetRegionByName can't match something in the local db, then search the hypergrid if that functionality has been enabled.
This should fix the problem today where old style HG addresses (e.g. "hg.osgrid.org:80:Vue-6400") stopped working since 8c3eb324c4
2011-08-02 01:06:32 +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) e6fb9d74ef Revert "In GridService, have GetRegionByName() call GetRegionsByName() with a max return of 1 instead of duplicating code."
This reverts commit 8d33a2eaa1.

Better fix will be along in a minute
2011-08-02 00:40:23 +01:00
Justin Clark-Casey (justincc) 8d33a2eaa1 In GridService, have GetRegionByName() call GetRegionsByName() with a max return of 1 instead of duplicating code.
This also fixes the problem where this method would not return a hypergrid region, unlike GetRegionsByName()
2011-08-02 00:26:17 +01:00
Justin Clark-Casey (justincc) b6ac1c46cd Get rid of AvatarAppearance.Owner to simplify the code.
This is not used for anything - appearances are always properties of objects with ids (ScenePresence, AgentCircuitData) and just has the potential to get out of sync when the appearance is cloned.
2011-08-02 00:13:04 +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) 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