aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-03-09Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)1-17/+7
(saving extra null checks, etc.) However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null. Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
2012-03-09FireAndForget scripted rez - port from AvinationMelanie1-41/+46
2012-03-08Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)1-7/+7
<category/module>" to display commands in a category. This is to deal with the hundred lines of command splurge when one previously typed "help" Modelled somewhat on the mysql console One can still type help <command> to get per command help at any point. Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet). Does not affect command parsing or any other aspects of the console apart from the help system. Backwards compatible with existing modules.
2012-03-06Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)6-12/+111
status" command. This is for diagnostic purposes.
2012-03-06Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()Justin Clark-Casey (justincc)1-8/+14
They were all failing assertions but the exceptions these threw were caught as expected Exceptions. I don't think we can easily distinguish these from the Exceptions that we're expecting. So for now we'll do some messy manually checking with boolean setting instead. This patch also corrects the assertions themselves.
2012-03-06Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that ↵Justin Clark-Casey (justincc)8-26/+228
they're running
2012-03-06Fix off by one error in script error reporting.Justin Clark-Casey (justincc)1-1/+1
2012-03-02Move SenseRepeaters.Count check inside the SenseRepeatListLock.Justin Clark-Casey (justincc)1-4/+4
No methods in the List class are thread safe in the MS specification/documentation
2012-03-02lock SenseRepeatListLock when added a new sensor during script reconstitution.Justin Clark-Casey (justincc)1-1/+3
This is already being done in the other place where a sensor is added. Adding a sensor whilst another thread is iterating over the sensor list can cause a concurrency exception.
2012-03-01Adds an OSSL command for regular expression-based string replacement. ParametersMic Bowman3-0/+32
are osReplaceString(string source, string patter, string replace, integer count, integer start) The count parameter specifies the total number of replacements to make, -1 makes all replacements.
2012-03-01Fix indexing on string trimBlueWall1-1/+1
Thanks to zadark for pointing this out, smxy for deciphering the ?: operator and Plugh for the fix \o/ yay for IRC
2012-02-25PRIM_SCULPT_FLAG_INVERT, PRIM_SCULPT_FLAG_MIRROR implementedPixelTomsen2-4/+8
http://opensimulator.org/mantis/view.php?id=5763
2012-02-24llGetLinkMedia, llSetLinkMedia, llClearLinkMedia implementation mantis: ↵PixelTomsen3-27/+105
http://opensimulator.org/mantis/view.php?id=5756 http://opensimulator.org/mantis/view.php?id=5755 http://opensimulator.org/mantis/view.php?id=5754
2012-02-24Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)1-1/+3
On the first frame, all startup scene objects are added to the physics scene. This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame. This commit also slightly changes the behaviour of timeout reporting. Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check. Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24In osSetSpeed(), if no avatar for a uuid is found then don't attempt to set ↵Justin Clark-Casey (justincc)1-1/+3
speed.
2012-02-24llLinkSitTarget implementation http://wiki.secondlife.com/wiki/LlLinkSitTargetPixelTomsen3-5/+33
2012-02-21Fix:LINK_ROOT flag for llGetLinkName() by SinglePrimPixelTomsen1-1/+1
2012-02-17Make osNpcStopAnimation() call AvatarStopAnimation() rather than ↵Justin Clark-Casey (justincc)1-1/+1
AvatarPlayAnimation()
2012-02-16Fix some logic mistakes where firstly osNpcCreate() without options was ↵Justin Clark-Casey (justincc)2-3/+18
creating npcs sensed as agents and secondly the OS_NPC_SENSE_AS_AGENT option was having the opposite effect. Hopefully makes progress on addressing http://opensimulator.org/mantis/view.php?id=5872
2012-02-10Fix an npc delete race condition with LSL sensors where an initial presence ↵Justin Clark-Casey (justincc)1-9/+20
check could succeed but then the npc removed before the subequent npc check. The resulting null would cause an exception. We now check for null before looking at SenseAsAgent. Hopefully fixes http://opensimulator.org/mantis/view.php?id=5872
2012-02-09minor: put in commented out logging statements for future reuseJustin Clark-Casey (justincc)1-1/+7
2012-02-07Add a regression test to compile and start a script. Remove ↵Justin Clark-Casey (justincc)5-26/+113
Path.GetDirectoryName when getting assembly loading path in Compiler.CompileFromDotNetText(). The Path.GetDirectoryName call in Compiler.CompileFromDotNetText is unnecessary since AppDomain.CurrentDomain.BaseDirectory is always a directory. Later path concatenation is already done by Path.Combine() which handles any trailing slash. Removing Path.GetDirectoryName() will not affect the runtime but allows NUnit to work since it doesn't add a trailing slash to AppDomain.CurrentDomain.BaseDirectory.
2012-02-04Add missing RCERR_UNKNOWN and RCERR_SIM_PERF_LOW LSL constants that would ↵Justin Clark-Casey (justincc)1-0/+2
eventually be used by llCastRay(), though OpenSim does not use these yet.
2012-02-04Correct RC_* LSL constants used by llCastRay().Justin Clark-Casey (justincc)1-12/+12
Many thanks to WhiteStar for doing the research on this.
2012-02-02Replace ParcelAccessEntry with a new struct, LandAccessEntry, which moreMelanie1-31/+68
accurately reflects the data sent by the viewer. Add times bans and the expiration of timed bans. Warning: Contains a Migration (and nuts)
2012-02-02D'oh - we want to call llGetLinkNumberOfSides() in the LSL_Stub, not ↵Justin Clark-Casey (justincc)1-1/+1
llGetLinkNumber().
2012-02-02Add llGetLinkNumberOfSides to LSL_Stub and ILSL_ApiJustin Clark-Casey (justincc)2-1/+7
It already existed in LSL_Api but it also needs to exist in these two other places for a script to be able to see it. Hopefully resolves http://opensimulator.org/mantis/view.php?id=5489
2012-02-01Lay out script status in property per row format, since getting too long for ↵Justin Clark-Casey (justincc)1-6/+12
console lines.
2012-02-01Add count of events queued for a particular script in "scripts show" console ↵Justin Clark-Casey (justincc)1-4/+9
command
2012-02-01Make script console commands only show for selected region.Justin Clark-Casey (justincc)1-0/+9
2012-02-01Implement "xengine status" console command to show various xengine statsJustin Clark-Casey (justincc)1-4/+28
2012-01-31Fix:llSetText - limited text to a maximum of 254 charsPixelTomsen1-3/+3
mantis: http://opensimulator.org/mantis/view.php?id=5867 Signed-off-by: nebadon <michael@osgrid.org>
2012-01-29Fix llEdgeOfWorld functionality - see mantis ↵Garmin Kawaguichi1-1/+1
http://opensimulator.org/mantis/view.php?id=5865 Signed-off-by: nebadon <michael@osgrid.org>
2012-01-28Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().Justin Clark-Casey (justincc)3-6/+18
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
2012-01-27Increment LPS script stat for OSSL functions that were not already doing thisJustin Clark-Casey (justincc)1-2/+41
2012-01-27Implement osIsNpc(key npc):integer. This return TRUE if the given key ↵Justin Clark-Casey (justincc)3-0/+29
belongs to an NPC in the region. FALSE if not or if the NPC module isn't present.
2012-01-27Implement osNpcGetOwner(key npc):key. This returns the owner for an 'owned' ↵Justin Clark-Casey (justincc)3-19/+55
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.
2012-01-26llManageEstateAccess implementation ↵PixelTomsen4-0/+83
http://wiki.secondlife.com/wiki/LlManageEstateAccess Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-26Re-enable error logging associated with assembly and script loading failure ↵Justin Clark-Casey (justincc)1-9/+19
in ScriptInstance. Swallowing exceptions just leads to more mysterious failures later on.
2012-01-25refactor: decompose most of RezScript() into RezScriptFromAgentInventory(), ↵Justin Clark-Casey (justincc)1-1/+2
RezNewScript() and rename one RezScript() to RezScriptFromPrim()
2012-01-25llGetParcelMusicURL implementation ↵Pixel Tomsen3-0/+18
http://wiki.secondlife.com/wiki/LlGetParcelMusicURL Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-19Add osGetGridHomeURI functionBlueWall3-0/+28
Add osGetHomeURI function to the family of osGetGrid* functions. Returns the SRV_HomeURI setting from the [LoginService] configuration.
2012-01-17Add function osGetGridCustomBlueWall3-1/+34
Add function osGetGridCustom to take an argument for the GridInfo kpv to retrieve from the GridInfoService
2012-01-17Update osGetGrid**** functionsBlueWall1-3/+69
The osGetGrid**** functions will now get the grid settings from the GridInfoService. Set the GridInfoURI in your ./bin/config-include/GridCommon.ini [GridInfo] section.
2012-01-14commented out redundant land owner checks for osTeleportAgent there isnebadon1-14/+24
no need for these checks just use Allow_osTeleportAgent = PARCEL_OWNER also increased function to severe threat level to make it harder to accidently enable it for everyone.
2012-01-14Extend scripts show command to accept a single item UUID parameter to ↵Justin Clark-Casey (justincc)1-40/+47
display one script's status Usage is now scripts show [<script-item-uuid>]
2012-01-14Register the UrlModule for script engine events OnScriptRemoved and ↵Justin Clark-Casey (justincc)2-12/+0
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.
2012-01-13Cleaned up the LookAt code in SOP and SOG. Added support for incrementallyMic Bowman1-4/+4
rotating physical objects. This does not use physics. Currently the rate of change is determined as 1 / (PI * Strength).
2012-01-13Fix llRotLookAt and llLookAt for non-physical objects. Per conversationMic Bowman1-7/+23
with Melanie and Nebadon, SL behavior seems to be that non physical objects snap to the request rotation.
2012-01-13Change the default osNpcCreate() to create an 'owned' npc rather than an ↵Justin Clark-Casey (justincc)1-1/+1
'unowned' one. An owned NPC is one that only the original creator can manipulate and delete. An unowned NPC is one that anybody with access to the osNpc* methods and knowledge of the avatar id can manipulate. This is to correct an oversight I made in the original reimplementation where I mistakenly assumed that avatar IDs could be treated as private. I am not anticipating that many people were deliberately making use of unowned npcs due to their insecure nature. If you do need an unowned NPC please call the new overloaded osCreateNpc() function with the option OS_NPC_NOT_OWNED.