aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Interfaces (follow)
Commit message (Collapse)AuthorAgeFilesLines
* When an attachment is detached to inv or derezzed, stop the scripts, update ↵Justin Clark-Casey (justincc)2012-07-101-2/+13
| | | | | | the known item with script state still in the script engine and then remove the scripts. This is to fix a regression starting from 5301648 where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
* Mantis 6063 osNpcTouch.Talun2012-07-061-0/+8
| | | | Allow NPCS to touch obects.
* Add preservation of running state of scripts when drag-copying.Melanie2012-07-011-1/+3
|
* Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG ↵Justin Clark-Casey (justincc)2012-06-282-3/+7
| | | | | | | directly instead of an item ID to then shuffle through attachments, saving CPU busywork. Almost all callers already had the sog to hand. Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
* refactor: Move ScenePresence <-> AgentData attachments copying code into ↵Justin Clark-Casey (justincc)2012-06-272-0/+20
| | | | AttachmentsModule.
* When attachments are being saved and deleted for a closing root agent, ↵Justin Clark-Casey (justincc)2012-06-251-3/+8
| | | | | | delete first to avoid a hud race condition with update threads. If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
* Fix script "Running" behaviorBlueWall2012-06-231-0/+2
| | | | Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
* Log how many scripts are candidates for starting and how many are actually ↵Justin Clark-Casey (justincc)2012-06-201-3/+16
| | | | | | started. Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
* refactor: replace LSL_Api.InventoryKey(string) largely with ↵Justin Clark-Casey (justincc)2012-05-261-0/+13
| | | | | | SceneObjectPartInventory.GetInventoryItem(string) Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
* Stop it being possible for an agent to teleport back to its source region ↵Justin Clark-Casey (justincc)2012-05-251-1/+1
| | | | | | | | | before the source region has finished cleaning up old agent data and structures. If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states. To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp). This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up. Tested on standalone, grid and with v1 and v3 clients.
* If an agent is still registered as 'in transit' by the source region, don't ↵Justin Clark-Casey (justincc)2012-05-241-0/+7
| | | | | | | | | | | | allow an immediate teleport back. This is to help relieve a race condition when an agent teleports then immediately attempts to teleport back before the source region has properly cleaned up/demoted the old ScenePresence. This is rare in viewers but much more possible via scripting or region module. However, more needs to be done since virtually all clean up happens after the transit flag is cleared . Possibly need to add a 'cleaning up' state to in transit. This change required making the EntityTransferModule and HGEntityTransferModule per-region rather than shared, in order to allow separate transit lists. Changes were also required in LocalSimulationConnector. Tested in standalone, grid and with local and remote region crossings with attachments.
* Environment Module - allows Environment settings for Viewer3 warning: ↵PixelTomsen2012-05-233-0/+77
| | | | | | | | | | | | | includes database region store migrations for mssql, mysql, sqlite enable/disable this module: Cap_EnvironmentSettings = "localhost" (for enable) Cap_EnvironmentSettings = "" (for disable) at ClientStack.LindenCaps section (OpenSimDefaults.ini file) or owerwrite in OpenSim.ini mantis: http://opensimulator.org/mantis/view.php?id=5860 Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Fix llGetSimulatorHostname to return configured hostnameBlueWall2012-05-231-0/+1
|
* Fix bug where an avatar that had an object they owned attached through ↵Justin Clark-Casey (justincc)2012-05-231-3/+7
| | | | | | | llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene. This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
* Add size of region to OAR control file. Megaregions (sw root OARs when ↵Justin Clark-Casey (justincc)2012-05-191-1/+15
| | | | | | saved) will have a size larger than 256x256 Not yet read. Do not rely on this information yet, it may change.
* Remove recent IRegionCombinerModule.IsMegaregion(). In theory, there can be ↵Justin Clark-Casey (justincc)2012-05-191-8/+2
| | | | | | more than one megaregion in a simulator, separated by water. Rename IsRootRegion() to IsRootForMegaregion()
* Add is_megaregion flag into oar control file. Not currently read - for ↵Justin Clark-Casey (justincc)2012-05-191-0/+51
| | | | | | | | future use. Please do not rely on this remaining here. An adaptation of part of Garmin's patch from http://opensimulator.org/mantis/view.php?id=5975, thanks! Flag only written if the SW corner OAR is saved - this is the only one that captures object data presently (though not land or terrain data). This adds an IRegionCombinerModule interface and the necessary methods on RegionCombinerModule
* remove default values from prior commit since mono cant deal with themdahlia2012-05-071-1/+1
|
* add OS_NPC_RUNNING option to osNpcMoveToTarget() to allow running speed for ↵dahlia2012-05-061-2/+4
| | | | moving NPCs
* refactor: Split most of EntityTransferModule.Teleport() into its same region ↵Justin Clark-Casey (justincc)2012-05-011-4/+33
| | | | | | and different region teleport components. DoTeleport() now retrives IEventQueue itself rather than requiring it to be passed in.
* Add a version of osNpcSay that takes a channel number Mantis 5747Talun2012-04-261-0/+30
| | | | | | | | | | | osNpcSay(UUID npc, string message) left untouched New functions:- osNpcSay(UUID npc, int channel, string message) osNpcShout(UUID npc, int channel, string message) osNpcWhisper(UUID npc, int channel, string message) Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Mantis 5977 Corrections to llRegionSayToTalun2012-04-231-1/+1
| | | | Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* This commit adds a new optional region module, JsonStore, that provides ↵Mic Bowman2012-04-171-0/+48
| | | | | | | | | | | | | | | structured storage (dictionaries and arrays of string values) for scripts and region modules. In addition, there are operations on the storage that enable "real" distributed computation between scripts through operations similar to those of a tuple space. Scripts can share task queues, implement shared locks or semaphores, etc. The structured store is limited to the current region and is not currently persisted. However, script operations are defined to initialize a store from a notecard and to serialize the store to a notecard. Documentation will be posted to the opensim wiki soon.
* Mantis 55025 Implement script time.Talun2012-04-122-1/+19
| | | | Signed-off-by: nebadon <michael@osgrid.org>
* New OS scripting functions osSetTerrainTexture and osSetTerrainHeight as ↵Snoopy Pfeffer2012-04-101-0/+3
| | | | originally proposed in SL Jira (https://jira.secondlife.com/browse/SVC-244).
* Mantis5502 implementation of some of the new constantsTalun2012-04-092-0/+16
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* refactor: Move "friends show cache" console command out into separate ↵Justin Clark-Casey (justincc)2012-03-301-4/+21
| | | | | | FriendsCommandsModule. Expose required methods on IFriendsModule. Rename GetFriends() -> GetFriendsFromCache() for self-documentation
* Add simple login test with online friends. Add IFriendsModule.GrantRights() ↵Justin Clark-Casey (justincc)2012-03-301-2/+22
| | | | | | | for granting rights via a module call. Rename IFriendsModule.GetFriendPerms() -> GetRightsGrantedByFriend() to be more self-documenting and consistent with friends module terminology. Add some method doc.
* Also add OSS header to interfaceMelanie2012-03-291-1/+28
|
* Change namespace on CallingCardModule and correct interface file placemant. ↵Melanie2012-03-291-0/+13
| | | | Also ass OpenSource header
* Add "friends show cache <first-name> <last-name>" command for debugging ↵Justin Clark-Casey (justincc)2012-03-281-0/+15
| | | | | | purposes. This adds a reverse lookup (name -> ID) to IUserManagement instead of hitting the UserAccountService directly.
* Two new scripting functions osInviteToGroup(userID) and ↵Snoopy Pfeffer2012-03-271-0/+2
| | | | osEjectFromGroup(userID) that invite/eject users to/from groups the object containing the script is set to. These functions also work for closed groups.
* Add some more overloads to allow registering overloaded methods and listsMelanie2012-03-261-0/+2
| | | | of methods.
* Add a hust UUID to the script invocationsMelanie2012-03-261-1/+1
|
* Fix the omission on the interface declarationMelanie2012-03-261-1/+1
|
* Dynamically create the delegate type to reduce complexity in the callerMelanie2012-03-261-1/+2
|
* Correct the design error I introduced into ScriptComms. Untested but about toMelanie2012-03-261-4/+3
| | | | be.
* Simplify the module invocation registration. The types and method nameMelanie2012-03-251-1/+2
| | | | can be pulled fromt he delegate so we don't need to pass them explicitly
* Add llGiveInventory() test from object to object where both objects are ↵Justin Clark-Casey (justincc)2012-03-221-1/+10
| | | | owned by the same user.
* Aggregate script execution times by linksets rather than individual prims.Justin Clark-Casey (justincc)2012-03-161-1/+4
| | | | This is for the top scripts report.
* Replace script-lines-per-second with the script execution time scaled by its ↵Justin Clark-Casey (justincc)2012-03-161-1/+8
| | | | | | | | | | | measurement period and an idealised frame time. The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute. Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100. The actual measurement value should be script execution time per frame but XEngine does not work this way. Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time. This is still not ideal but gives reasonable results and allows scripts to be compared. This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
* Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman2012-03-151-0/+10
| | | | | | | | | from region modules. The LSL translator is extended to generate the modInvoke format of commands for directly inlined function calls. A region module can register a function Test() with the name "Test". LSL code can call that function as "Test()". The compiler will translate that invocation into modInvoke("Test", ...)
* Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)2012-03-061-0/+5
| | | | | | status" command. This is for diagnostic purposes.
* Refactor appearance saving for NPC to use AvatarFactoryModule interface.Dan Lake2012-02-141-0/+1
|
* If NPCModule.CreateNPC() fails to create the required ScenePresence (which ↵Justin Clark-Casey (justincc)2012-02-091-1/+1
| | | | should in theory never happen), don't add the NPC to the npc list but return UUID.Zero instead.
* Fix copy/paste errorsMelanie2012-02-011-1/+1
|
* Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().Justin Clark-Casey (justincc)2012-01-281-1/+33
| | | | | This allows NPCs to be sensed as agents by LSL sensors rather than as a specific NPC type (which is currently an OpenSimulator-only extension). Wiki doc on this and other recent NPC functions will follow soon
* Implement osNpcGetOwner(key npc):key. This returns the owner for an 'owned' ↵Justin Clark-Casey (justincc)2012-01-271-1/+1
| | | | | | | NPC, the npc's own key for an 'unowned' NPC and NULL_KEY is the input key was not an npc. llGetOwnerKey() could also be extended but this does not allow one to distinguish between an unowned NPC and some other result (e.g. 'no such object' if NULL_KEY is the return. Also, any future extensions to LSL functions by Linden Lab are unpredictable and OpenSim-specific extensions could clash.
* Register the UrlModule for script engine events OnScriptRemoved and ↵Justin Clark-Casey (justincc)2012-01-141-0/+13
| | | | | | | | | OnObjectRemoved just once in the UrlModule itself, rather than repeatedly for every script. Doing this in every script is unnecessary since the event trigger is parameterized by the item id. All that would happen is 2000 scripts would trigger 1999 unnecessary calls, and a large number of initialized scripts may eventually trigger a StackOverflowException. Registration moved to UrlModule so that the handler is registered for all script engine implementations. This required moving the OnScriptRemoved and OnObjectRemoved events (only used by UrlModule in core) from IScriptEngine to IScriptModule to avoid circular references.
* Update RegionReadyModuleBlueWall2012-01-131-0/+38
| | | | Fix triggering of alerts when rezzing first script to an empty region, add login disable when loading oars.