| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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
|
|
|
|
| |
AttachmentsModule.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
|
|
|
|
|
|
| |
started.
Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
|
|
|
|
|
|
| |
SceneObjectPartInventory.GetInventoryItem(string)
Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
saved) will have a size larger than 256x256
Not yet read. Do not rely on this information yet, it may change.
|
|
|
|
|
|
| |
more than one megaregion in a simulator, separated by water.
Rename IsRootRegion() to IsRootForMegaregion()
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
moving NPCs
|
|
|
|
|
|
| |
and different region teleport components.
DoTeleport() now retrives IEventQueue itself rather than requiring it to be passed in.
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: nebadon <michael@osgrid.org>
|
|
|
|
| |
originally proposed in SL Jira (https://jira.secondlife.com/browse/SVC-244).
|
|
|
|
| |
Signed-off-by: Melanie <melanie@t-data.com>
|
|
|
|
|
|
| |
FriendsCommandsModule.
Expose required methods on IFriendsModule. Rename GetFriends() -> GetFriendsFromCache() for self-documentation
|
|
|
|
|
|
|
| |
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 ass OpenSource header
|
|
|
|
|
|
| |
purposes.
This adds a reverse lookup (name -> ID) to IUserManagement instead of hitting the UserAccountService directly.
|
|
|
|
| |
osEjectFromGroup(userID) that invite/eject users to/from groups the object containing the script is set to. These functions also work for closed groups.
|
|
|
|
| |
of methods.
|
| |
|
| |
|
| |
|
|
|
|
| |
be.
|
|
|
|
| |
can be pulled fromt he delegate so we don't need to pass them explicitly
|
|
|
|
| |
owned by the same user.
|
|
|
|
| |
This is for the top scripts report.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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", ...)
|
|
|
|
|
|
| |
status" command.
This is for diagnostic purposes.
|
| |
|
|
|
|
| |
should in theory never happen), don't add the NPC to the npc list but return UUID.Zero instead.
|
| |
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fix triggering of alerts when rezzing first script to an empty region, add login disable when loading oars.
|
|
|
|
| |
Move some added fuctions out of core into the addon module to keep things clean
|
|\ |
|
| |
| |
| |
| | |
This is being done outside the npc module since the check is meaningless for region module callers, who can fake any id that they like.
|