Commit Graph

2393 Commits (8e735efff0849c45dd24ae15dfdf34f7959701c5)

Author SHA1 Message Date
Melanie caa19862fa Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-03-07 00:51:59 +00:00
Justin Clark-Casey (justincc) 98251cdab3 Add sensor, dataserver requests, timer and listener counts to "xengine status" command.
This is for diagnostic purposes.
2012-03-06 23:21:17 +00:00
Justin Clark-Casey (justincc) b3449e998a Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()
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-06 02:30:22 +00:00
Justin Clark-Casey (justincc) a92153ed88 Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that they're running 2012-03-06 02:21:19 +00:00
Justin Clark-Casey (justincc) 85198a45cb Fix off by one error in script error reporting. 2012-03-06 02:01:47 +00:00
Melanie 5004d0ad09 Merge branch 'master' into careminster 2012-03-06 01:45:20 +00:00
Melanie aa613dab1f Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2012-03-06 00:29:43 +00:00
Melanie a7b61add99 Allow NPC to be removed by the owner of the parcel they're over.
Don't allow NPC creation unless the prim owner has rez rights.
2012-03-05 22:22:28 +01:00
Melanie f2653b9b8e Teleport users to the cornfield when they are teleported with
llTeleportAgentHome(). Don't try to teleport NPCs.
2012-03-05 21:52:24 +01:00
Melanie 97f0cff388 llListSort SL compatibility: When sorting strided list and the list
length is not a multiple of the stride, return the original list.
Also, enforce that sort is ascending only when the ascending
parameter is 1, and not when it is != 0
2012-03-05 11:54:06 +01:00
Melanie c2a73a26b5 SL compatibility - return only points on segemtn, not ray in llCastRay 2012-03-05 02:37:51 +01:00
Melanie 182f5efbe9 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2012-03-04 16:23:46 +00:00
Melanie 1f32730798 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/VersionInfo.cs
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-03-03 09:58:57 +00:00
Justin Clark-Casey (justincc) d8c4985527 Move SenseRepeaters.Count check inside the SenseRepeatListLock.
No methods in the List class are thread safe in the MS specification/documentation
2012-03-02 00:28:37 +00:00
Justin Clark-Casey (justincc) dcfd05c8ea lock SenseRepeatListLock when added a new sensor during script reconstitution.
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-02 00:22:23 +00:00
Mic Bowman 8a375f3c30 Adds an OSSL command for regular expression-based string replacement. Parameters
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-01 14:49:49 -08:00
BlueWall a2b0ed537e Fix indexing on string trim
Thanks to zadark for pointing this out,
	smxy for deciphering the ?: operator and
	Plugh for the fix \o/ yay for IRC
2012-03-01 14:18:48 -05:00
Melanie f11ab97747 Fix and hook up llTeleportAgent 2012-02-28 20:51:19 +01:00
Melanie 0fb50a8a9e Implement llTeleportAgent 2012-02-28 20:48:31 +01:00
Melanie fca8c82232 Move KeyframeMotion from SOG to SOP because we can't persist it any
other way because SOG doesn't technically exist in the DB
2012-02-26 18:11:38 +01:00
Melanie 8cdc115c91 Fix deserialization of Buoyancy, Force and Torque. Remove debug from the new
code.
2012-02-26 14:30:24 +01:00
Melanie c82709c0d6 Implement llSetKeyframedMotion. No persistence, no region crossing. Yet. 2012-02-26 02:36:34 +01:00
Melanie 6386fdcda7 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
2012-02-25 16:24:01 +00:00
PixelTomsen 01f454242d PRIM_SCULPT_FLAG_INVERT, PRIM_SCULPT_FLAG_MIRROR implemented
http://opensimulator.org/mantis/view.php?id=5763
2012-02-25 15:33:33 +00:00
PixelTomsen 7b5e42c744 llGetLinkMedia, llSetLinkMedia, llClearLinkMedia implementation mantis: 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-24 23:10:41 +00:00
Melanie 37068d17c5 Merge branch 'master' into careminster 2012-02-24 09:56:06 +00:00
Justin Clark-Casey (justincc) f67f37074f Stop spurious scene loop startup timeout alarms for scenes with many prims.
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-24 05:02:33 +00:00
Justin Clark-Casey (justincc) fe229f10e6 In osSetSpeed(), if no avatar for a uuid is found then don't attempt to set speed. 2012-02-24 04:08:59 +00:00
PixelTomsen 0b9f4d7e74 llLinkSitTarget implementation http://wiki.secondlife.com/wiki/LlLinkSitTarget 2012-02-24 00:58:11 +00:00
Melanie c0b8f3d0bc Add permission checks to scripted object movements, which didn't respect bans
and parcel settings until now. Add llSetRegionPos() function according to
LL spec
2012-02-23 00:08:31 +01:00
Melanie 3796e08b59 Count agents for LSL instead of relying on SceneGraph to have the correct
value. Fixes a reported glitch.
2012-02-22 23:14:29 +01:00
Melanie 1e1270166f Adjust sit target and the llSetLinkPrimitiveParams sit position hack
to match SL.
2012-02-22 20:40:44 +01:00
Melanie 1273ec6c7d Merge branch 'master' into careminster 2012-02-21 23:17:39 +00:00
PixelTomsen 1c533eb520 Fix:LINK_ROOT flag for llGetLinkName() by SinglePrim 2012-02-21 23:15:33 +00:00
Melanie 985526b662 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
2012-02-18 22:21:10 +00:00
Justin Clark-Casey (justincc) 972f73ed2b Make osNpcStopAnimation() call AvatarStopAnimation() rather than AvatarPlayAnimation() 2012-02-17 02:53:12 +00:00
Melanie 0c1074537b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
2012-02-16 00:38:04 +00:00
Justin Clark-Casey (justincc) c906128191 Fix some logic mistakes where firstly osNpcCreate() without options was 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-16 00:22:39 +00:00
Melanie e321306517 Prevent object loss and positioning outside the region with failed object sim
crossings
2012-02-14 00:02:53 +01:00
Melanie acfe7e555e Merge branch 'master' into careminster 2012-02-10 23:59:10 +00:00
Justin Clark-Casey (justincc) b3d152f3ba Fix an npc delete race condition with LSL sensors where an initial presence 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-10 21:26:05 +00:00
Melanie 7c888f6af1 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2012-02-09 00:19:37 +00:00
Justin Clark-Casey (justincc) dbe32a1f6d minor: put in commented out logging statements for future reuse 2012-02-09 00:10:45 +00:00
Melanie 9c6ba8d18f Push more NPC stuff into threads 2012-02-08 13:04:23 +01:00
Melanie de255321f1 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-02-07 20:52:04 +01:00
Melanie 37049180f6 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-02-07 21:09:04 +00:00
Justin Clark-Casey (justincc) 038d1bf742 Add a regression test to compile and start a script. Remove 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-07 17:44:37 +00:00
Melanie a829f20828 Experimental. Expand Fire & Forget for NPC delete 2012-02-06 22:26:25 +01:00
Melanie ce5e900721 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/Resources/RegionStore.migrations
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2012-02-04 11:48:20 +00:00
Justin Clark-Casey (justincc) edc11a1d39 Add missing RCERR_UNKNOWN and RCERR_SIM_PERF_LOW LSL constants that would eventually be used by llCastRay(), though OpenSim does not use these yet. 2012-02-04 01:04:00 +00:00
Justin Clark-Casey (justincc) 09d6521361 Correct RC_* LSL constants used by llCastRay().
Many thanks to WhiteStar for doing the research on this.
2012-02-04 01:00:11 +00:00
Melanie bce5dfe711 Merge branch 'master' into careminster 2012-02-03 00:09:05 +00:00
Melanie 76a658324c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-02-03 00:07:23 +00:00
Melanie 447a66d660 Replace ParcelAccessEntry with a new struct, LandAccessEntry, which more
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-02 23:40:56 +00:00
Justin Clark-Casey (justincc) 54d473e200 D'oh - we want to call llGetLinkNumberOfSides() in the LSL_Stub, not llGetLinkNumber(). 2012-02-02 23:35:16 +00:00
Justin Clark-Casey (justincc) 264c83aec4 Add llGetLinkNumberOfSides to LSL_Stub and ILSL_Api
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-02 22:48:36 +00:00
Melanie 07c487a28f Make ban, eject, freeze and the scripted versions of those work. 2012-02-02 21:36:45 +01:00
Melanie 6fe4b6fbe8 Fix remembering attachment point and position when an item is rezzed in world.
Also fix PRIM_LOCAL_POS returning 0 when used on child prims from a script
in the root.
2012-02-02 02:51:59 +01:00
Melanie 16aa00e944 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-02-01 10:08:45 +00:00
Justin Clark-Casey (justincc) 99e71222f0 Lay out script status in property per row format, since getting too long for console lines. 2012-02-01 00:27:42 +00:00
Justin Clark-Casey (justincc) e3680f216e Add count of events queued for a particular script in "scripts show" console command 2012-02-01 00:17:02 +00:00
Justin Clark-Casey (justincc) 8b3da1bff4 Make script console commands only show for selected region. 2012-02-01 00:10:07 +00:00
Justin Clark-Casey (justincc) 437de6743c Implement "xengine status" console command to show various xengine stats 2012-02-01 00:07:06 +00:00
Melanie 1b63b21a4d Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Application/OpenSimBase.cs
2012-01-31 20:53:49 +00:00
PixelTomsen a98a146c50 Fix:llSetText - limited text to a maximum of 254 chars
mantis: http://opensimulator.org/mantis/view.php?id=5867

Signed-off-by: nebadon <michael@osgrid.org>
2012-01-31 10:17:38 -07:00
Melanie 9a86a713d3 Merge branch 'master' into careminster 2012-01-29 22:50:59 +00:00
Garmin Kawaguichi 5e60afe5ed Fix llEdgeOfWorld functionality - see mantis http://opensimulator.org/mantis/view.php?id=5865
Signed-off-by: nebadon <michael@osgrid.org>
2012-01-29 14:41:47 -07:00
Melanie 6fbc48ee9c Make all NPCs owned by default 2012-01-28 03:32:25 +01:00
Melanie fbe324cc5e Fix build break 2012-01-28 03:15:17 +01:00
Melanie 090164ff7a Completely disable NPC being sensed as agents, the abuse potential is too great 2012-01-28 03:12:56 +01:00
Melanie 428407c5e4 Merge branch 'master' into careminster 2012-01-28 01:01:23 +00:00
Justin Clark-Casey (justincc) 7837c611fb Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().
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-28 00:00:12 +00:00
Melanie 26a4e8a161 Merge branch 'master' into careminster 2012-01-27 23:30:26 +00:00
Justin Clark-Casey (justincc) 31b87ff07b Increment LPS script stat for OSSL functions that were not already doing this 2012-01-27 23:24:49 +00:00
Justin Clark-Casey (justincc) 7c1d075a5a Implement osIsNpc(key npc):integer. This return TRUE if the given key belongs to an NPC in the region. FALSE if not or if the NPC module isn't present. 2012-01-27 23:17:13 +00:00
Justin Clark-Casey (justincc) abf0dd4250 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-27 23:14:34 +00:00
Justin Clark-Casey (justincc) 9939f94f08 Implement osNpcGetOwner(key npc):key. This returns the owner for an 'owned' 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-27 23:05:48 +00:00
Melanie 9d60b84f78 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/EstateSettings.cs
2012-01-26 23:07:31 +00:00
PixelTomsen 616373db16 llManageEstateAccess implementation http://wiki.secondlife.com/wiki/LlManageEstateAccess
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-26 16:15:23 -05:00
Melanie 36e6edfc65 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
2012-01-26 00:44:32 +00:00
Justin Clark-Casey (justincc) 13d9b64b1d Re-enable error logging associated with assembly and script loading failure in ScriptInstance.
Swallowing exceptions just leads to more mysterious failures later on.
2012-01-26 00:28:51 +00:00
Melanie 4ce42762ee Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-01-26 00:21:21 +00:00
Justin Clark-Casey (justincc) 2de3a1b9da refactor: decompose most of RezScript() into RezScriptFromAgentInventory(), RezNewScript() and rename one RezScript() to RezScriptFromPrim() 2012-01-25 23:22:07 +00:00
Pixel Tomsen 8f53c768f5 llGetParcelMusicURL implementation http://wiki.secondlife.com/wiki/LlGetParcelMusicURL
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-25 15:48:38 -05:00
Melanie b996517c94 Typo fix 2012-01-25 15:18:31 +01:00
Melanie 24862eaf15 Spin off starting scripts in rezzed objects into a thread to avoid a recursion
into the script engine if the script was suspended inside an event.
2012-01-25 14:44:09 +01:00
Melanie 4e0bb49394 Fix llLookAt the right way 2012-01-23 13:48:16 +01:00
Melanie ba3b0c69f1 Merge branch 'master' into careminster 2012-01-21 19:52:33 +00:00
BlueWall 8f871cca10 Add osGetGridHomeURI function
Add osGetHomeURI function to the family of osGetGrid* functions. Returns the SRV_HomeURI setting from the [LoginService] configuration.
2012-01-19 14:21:12 -05:00
BlueWall ba7d8cedec Add function osGetGridCustom
Add function osGetGridCustom to take an argument for the GridInfo kpv to retrieve from the GridInfoService
2012-01-17 22:38:36 -05:00
BlueWall 9ed9720861 Update osGetGrid**** functions
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-17 22:07:40 -05:00
Melanie 747c25e920 Spin off NPC deletion into a thread to avoid it being done on a script
microthread. A stab at fixing exceptions.
2012-01-17 11:18:56 +01:00
Melanie 35911d2362 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-15 14:51:00 +01:00
Melanie 9447b6d15f Merge branch 'master' into careminster 2012-01-15 14:40:33 +00:00
Melanie 068b8e1f9b Disable using an agent ID to clone NPCs. The griefing potential is too great 2012-01-15 14:49:32 +01:00
nebadon 43173f1b0d commented out redundant land owner checks for osTeleportAgent there is
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-14 18:36:46 -07:00
Melanie 4cbf8d728e Fix merge 2012-01-14 05:39:56 +01:00
Melanie 43128c9016 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-01-14 06:09:19 +00:00
Justin Clark-Casey (justincc) 82f0e19349 Extend scripts show command to accept a single item UUID parameter to display one script's status
Usage is now scripts show [<script-item-uuid>]
2012-01-14 00:44:19 +00:00
Justin Clark-Casey (justincc) b5bb559cc0 Register the UrlModule for script engine events OnScriptRemoved and 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-14 00:23:11 +00:00
Mic Bowman e1a2c44ebe Cleaned up the LookAt code in SOP and SOG. Added support for incrementally
rotating physical objects. This does not use physics. Currently the rate
of change is determined as 1 / (PI * Strength).
2012-01-13 14:48:56 -08:00
Mic Bowman adea92f8b7 Fix llRotLookAt and llLookAt for non-physical objects. Per conversation
with Melanie and Nebadon, SL behavior seems to be that non physical
objects snap to the request rotation.
2012-01-13 11:37:17 -08:00
Melanie 9dc7fef4f6 Merge branch 'master' into careminster 2012-01-13 02:27:20 +00:00
Justin Clark-Casey (justincc) 3b59af2225 Change the default osNpcCreate() to create an 'owned' npc rather than an '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.
2012-01-13 00:03:39 +00:00
Justin Clark-Casey (justincc) 6e7154d55c Removing osNpcCreateOwned(). Please use osNpcCreate(string user, string name, vector position, string notecard, int options) instead with option OS_NPC_CREATOR_OWNED
Please note that correct option name is OS_NPC_CREATOR_OWNED not OS_NPC_CREATE_OWNED as mistakenly put in a previous commit.
2012-01-13 00:00:18 +00:00
Justin Clark-Casey (justincc) 47377f17c6 Add missing assert to confirm owner delete succeeded to the end of TestOsNpcRemoveOwned() 2012-01-12 23:46:43 +00:00
Justin Clark-Casey (justincc) beab155434 Add api level test for removing an owned npc 2012-01-12 22:35:11 +00:00
Melanie c7757d1038 Fix typo 2012-01-12 23:07:38 +01:00
Melanie aa2cde2493 Disable unowned NPCs 2012-01-12 23:04:38 +01:00
Melanie cf166d3f1e Merge branch 'master' into careminster 2012-01-12 23:22:55 +00:00
Justin Clark-Casey (justincc) caa207f59f Add ossl level test for removing an unowned npc 2012-01-12 21:03:54 +00:00
Justin Clark-Casey (justincc) c4972e7734 Add osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard, int options) variant.
This will be documented soon.  Options can currently be
  OS_NPC_CREATE_OWNED - creates a 'creator owned' avatar that will only respond to osNpc* functions made by scripts owned by the npc creator
  OS_NPC_NOT_OWNED    - creates an avatar which will respond to any osNpc* functions that a caller has permission to make (through the usual OSSL permission mechanisms).

options is being added to provide better scope for future extensibility without having to add more functions
The original non-options osNpcCreate() function will continue to exist.
2012-01-12 19:37:30 +00:00
Justin Clark-Casey (justincc) d27dd3714f Allow all NPCs to show up on sensors as all osNpc* script methods now check for ownership permission before executing.
As per #opensim-dev irc discussion.
2012-01-12 19:19:34 +00:00
Justin Clark-Casey (justincc) ba3491c76e Add permissions checks for owned avatars to all other osNpc* functions.
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.
2012-01-12 19:06:46 +00:00
Justin Clark-Casey (justincc) b47c0d7e51 refactor: Move existing npc owner checks to NPCModule.CheckPermissions() methods and expose on interface for external calls. 2012-01-12 18:14:19 +00:00
Melanie 4bf2e19898 Merge branch 'master' into careminster 2012-01-07 18:11:21 +00:00
Melanie 32eb7ddc37 Fix threat level setting on osNpcPlayAnimation 2012-01-07 18:09:53 +00:00
Melanie 94fa6cb071 Fix threat level setting on osNpcPlayAnimation 2012-01-07 12:29:59 +01:00
Melanie 69c0f252a4 Force the group tag of NPCs to "- NPC -" unless the name is completely blank. 2012-01-07 12:05:42 +01:00
nebadon 58cb7cd084 fix a typo "osNpcCreated" to "osNpcCreate" in OSSL threat level check 2012-01-06 23:07:48 -07:00
Melanie 38ae479249 Make sure to prefix NPC names with "NPC:" so they can't be mistaken for users 2012-01-07 02:49:52 +01:00
Melanie 679d155a39 Fix some syntax issues 2012-01-06 23:08:18 +00:00
Melanie 9668992493 Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well 2012-01-06 22:59:50 +00:00
Melanie 7518b075b7 Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results. 2012-01-06 22:35:06 +00:00
Melanie 70157a4ec5 Fix some syntax issues 2012-01-06 22:33:51 +01:00
Melanie a47aa46962 Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well 2012-01-06 22:59:08 +00:00
John Cochran ff5a83d192 Fixed llAngleBetween() to allow denormal rotations 2012-01-06 21:14:42 +00:00
Justin Clark-Casey (justincc) 8c445dac67 Add script instruction count back to llRot2Euler. Other minor formatting/doc changes. 2012-01-06 21:12:22 +00:00
John Cochran eb9bf71726 Replaced llRot2Euler function.
The original function suffered from unexpected results due to rounding
errors. An error of only 1 or 2 ulps would cause the code to not detect
a singularity at Y rotation +/- PI/2 and take the non-singularity code
path. The replacement code does not suffer from wildly inaccurate
results at the +/- PI/2 singularity. The check in the code for the
singularity isn't strictly needed, but gives more consistent results
At the singularity, the X and Z rotations add. The if check simply
forces the X rotation to be zero so the entirety of the X+Z rotation is
carried by Z.

Additionally, the test code has been updated to include test cases that
caused the old code to fail. The test algorithm is also updated to
perform a more meaningful test. The original code checked if the values
against expected values. This could fail at +/- PI rotations since a
rotation around an axis by PI causes the identical effect as a rotation
by -PI. The new test code checks that the returned angles can be used
to recreate a quaternion that causes the same rotation.
2012-01-06 21:08:54 +00:00
Melanie de9d6096a5 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-06 21:37:01 +01:00
Melanie 11c48ac807 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiTest.cs
2012-01-06 21:41:36 +00:00
John Cochran e9b9eb6a4c Replaced llRot2Euler function.
The original function suffered from unexpected results due to rounding
errors. An error of only 1 or 2 ulps would cause the code to not detect
a singularity at Y rotation +/- PI/2 and take the non-singularity code
path. The replacement code does not suffer from wildly inaccurate
results at the +/- PI/2 singularity. The check in the code for the
singularity isn't strictly needed, but gives more consistent results
At the singularity, the X and Z rotations add. The if check simply
forces the X rotation to be zero so the entirety of the X+Z rotation is
carried by Z.

Additionally, the test code has been updated to include test cases that
caused the old code to fail. The test algorithm is also updated to
perform a more meaningful test. The original code checked if the values
against expected values. This could fail at +/- PI rotations since a
rotation around an axis by PI causes the identical effect as a rotation
by -PI. The new test code checks that the returned angles can be used
to recreate a quaternion that causes the same rotation.
2012-01-06 21:30:51 +00:00
Melanie f1846045a6 Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results. 2012-01-06 21:34:43 +01:00
Melanie 81cf774fe8 Merge branch 'master' into careminster 2012-01-06 17:38:53 +00:00
Melanie fbb2a7e90d Add ThreatLevel.NoAccess to OSSL. This allows to enable OSSL without enabling
any methods, even those without threat, automatically. It is for use with
setups wanting to allow only specific methods to specific users.
2012-01-06 17:37:22 +00:00
Melanie 5b52440e61 Introduce a LightShare kill packet ans send it when needed. Currently only
understood by AVN v0.3
2011-12-28 09:24:02 +00:00
Melanie 41f6d6a5ff Introduce a LightShare kill packet ans send it when needed. Currently only
understood by AVN v0.3
2011-12-24 16:18:01 +01:00
Melanie 04806e02ed Add PRIM_POS_LOCAL as an alias to PRIM_POSITION for setting the position.
For SL compatibility only
2011-12-24 01:40:09 +01:00
Melanie c4f1906b0a Make raycast more efficient by checking exclusion flags earlier 2011-12-17 12:57:20 +01:00
Melanie 8a9a8ed5c9 Fix hit testing link sets properly. Fix raycasting for LSL. 2011-12-17 12:31:25 +01:00
Dan Lake c34ab0ee66 Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and IsColliding 2011-12-12 02:43:38 -08:00
Melanie 52a4dbccbe Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/RegionInfo.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-12 11:42:22 +00:00
nebadon 8ae824ff09 Mantis 5816: osParseJSON Decoding Problems
osParseJSON uses hand-crafted decoding that has two issues
* does not seem to handle top-level JSON lists
* does not seem to handle unicode text
thanks otakup0pe!
2011-12-11 23:25:12 -07:00
Melanie 07c26111af Fix llGetLinkKey to report avatars properly 2011-12-09 16:36:25 +01:00
Melanie d6486fe14a Fix task inventory giving 2011-12-07 00:43:59 +01:00
Melanie 47d0a50a19 Add the proper result code as per the LL announcement for llTransferLindenDollars 2011-12-05 20:02:27 +01:00
Melanie 66f4ce354f Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 19:01:14 +00:00
Melanie cc482ee865 Merge branch 'bigmerge' of ssh://melanie@3dhosting.de/var/git/careminster into bigmerge 2011-12-05 18:54:31 +00:00
Melanie 2a8a46a32d Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 18:32:40 +01:00
Melanie 5ab536a1e9 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-05 17:10:51 +00:00
Melanie 68bdd0b7fe Fix setting seated avatar position and make llSameGroup work as in SL. 2011-12-05 15:26:49 +01:00
Justin Clark-Casey (justincc) 5bbfb082dd Use agent.Animator.CurrentMovementAnimation in llGetAgentInfo() rather than asking for a new determination 2011-12-03 00:33:24 +00:00
Justin Clark-Casey (justincc) 5ba8ca5662 Rename ScenePresenceAnimator.GetMovementAnimation() -> DetermineMovementAnimation() for better code readability 2011-12-03 00:27:21 +00:00
Melanie 797982ee11 Implement llTransferLindenDollars 2011-12-01 13:30:10 +01:00
Melanie dc612d0f08 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-11-28 11:06:38 +00:00
BlueWall 19c10c892a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-26 17:20:20 -05:00
BlueWall ea0fc7b12c Add missing property to llGetLinkPrimitiveParams 2011-11-26 17:06:28 -05:00
Justin Clark-Casey (justincc) 4efd9a3b7b When removing an LSL sensor for a script (e.g. through llResetScript() or state change), don't also remove sensors for other scripts in the same prim.
Hopefully fixes http://opensimulator.org/mantis/view.php?id=4448 and http://opensimulator.org/mantis/view.php?id=4452
2011-11-26 01:55:36 +00:00
Justin Clark-Casey (justincc) 46e1bcb6b6 minor: remove mono compiler warning 2011-11-26 01:40:46 +00:00
Melanie bdb5ac96d9 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-11-19 22:39:15 +00:00
Justin Clark-Casey (justincc) cacc028835 If the entire simulator is shutting down then don't bother to unload the scripts from the appdomain in XEngine.
All the other actions (script state save, etc.) still occur.
This makes shutdown where there are many scripts vastly quicker.
2011-11-17 21:03:08 +00:00
Melanie cc8e693fb9 Remove unused and broken OffsetRotation from ScenePresence 2011-11-05 20:39:43 +00:00
Melanie 24235006f4 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/LightShare/LightShareModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
2011-11-04 01:18:37 +00:00
Dan Lake b8d50b10fb Rename ForEachAvatar back to ForEachScenePresence. The other changes
from previous commit which sort out which iterator is used are left
intact. A discussion is needed as to what constitutes an avatar vs a
ScenePresence.
2011-11-03 17:53:51 -07:00
Dan Lake 94dc7d07eb Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:

ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar

There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
2011-11-03 17:06:08 -07:00
Melanie 243acef917 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-11-03 00:06:14 +00:00
Dan Lake a724ebacd7 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-02 14:59:34 -07:00
Dan Lake e2c51a977d Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.
UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are
using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on
SOP consistently now. Also started working toward eliminating those
calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule
from outside SOP in favor of just setting properties on SOP and let SOP
decide if an update should be scheduled. This consolidates the update
policy within SOP and the client rather than everywhere that makes
changes to SOP. Some places forget to call update while others call it
multiple times, "just to be sure".

UpdateFlag and Schedule*Update will both be made private shortly.

UpdateFlag is intended to be transient and internal to SOP so it has
been removed from XML serializer for SOPs.
2011-11-02 14:59:00 -07:00
Melanie afae9eafbe Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-11-02 12:34:57 +00:00
Melanie c5fb39e21f Restore the recursive calling of PRIM_LINK_TARGET because the version I made
breaks LINK_SET et al.
2011-11-02 12:09:18 +00:00
Melanie 1b9ae3fb51 Some positioning fixes from AVN trunk 2011-11-02 12:02:44 +00:00
Melanie b9e700b60d Streamline PRIM_LINK_TARGET, eliminating a recursion and a failure scenario 2011-11-02 11:43:16 +00:00
Melanie 083b28de8c Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-30 10:16:25 +00:00
Justin Clark-Casey (justincc) 61e97ee4c8 Remove completely unused SOG.Rotation parameter
We always use SOP.Rotation instead
2011-10-29 00:39:01 +01:00
Melanie b975cbcbed Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-27 18:14:38 +01:00
Dan Lake 06577d7299 Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence. 2011-10-27 01:25:12 -07:00
Dan Lake b98613091c Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors. 2011-10-27 00:42:21 -07:00
Justin Clark-Casey (justincc) 40bee97015 For now, comment out error message on new script engine console commands.
This causes false positives if a simulator has more than 1 region and the current region is 'root' since this sends the command separately to each region and each region has its own XEngine
2011-10-27 03:01:27 +01:00
Melanie 6a96c9546d Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-26 17:48:51 +01:00
Michelle Argus 41395d5443 Added optional owner classes to existing OSSL agent Permissions
PARCEL_GROUP, PARCEL_OWNER, ESTATE_MANAGER and REGION_OWNER can be combined with the existing agent uuid option to limit ossl functions to agents and owner classes.

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 10:35:50 -04:00
SignpostMarv Martin 9a28e7a4e0 Implementation of PRIM_OMEGA, but only for setting
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 08:41:07 -04:00
SignpostMarv Martin 059f4b6a3a Implementing PRIM_LINK_TARGET, but only for setting params
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 07:47:44 -04:00
Melanie 84ea10a78c Merge commit '3fc47275cff5f74e370a24f63f42a6bee023ee17' into bigmerge 2011-10-25 03:19:35 +01:00
Melanie 04678836c3 Merge commit 'da794f34a56f7c88904315ae538de8f3790e6891' into bigmerge 2011-10-25 03:16:47 +01:00
Melanie 635b1bf18e Merge commit '601dabb1b73a894e4f2f61abe6e9053d380008cd' into bigmerge 2011-10-25 03:16:40 +01:00
Melanie 85d40ce1d1 Merge commit '5607fd3af828846291de3358067bb1214619489e' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 03:16:26 +01:00
Melanie df430d572d Merge commit '3cf7fb4eca2ad57835311e8098868f2571709392' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 03:10:54 +01:00
Melanie 1bb0e3c800 Merge commit 'b45219065c7a81b3ec488b3a6734773c34268618' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 03:07:25 +01:00
Melanie 1ec82bb000 Merge commit '116fbe8258e336be3f6ac1e11119214629799faa' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
2011-10-25 03:06:18 +01:00
Melanie 89e973805d Merge commit 'ecad9f9fd589f90d1c7a20faf14af0304804b616' into bigmerge 2011-10-25 02:57:01 +01:00
Melanie b7237ef059 Merge commit '62a63f834b7cc056ee37c396034d0e268f66b4a8' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:35:33 +01:00
Melanie 5c09cffe55 Merge commit '79c13cd99728f09a5175dff1750dcb9d7790fcdc' into bigmerge 2011-10-25 02:27:35 +01:00
Melanie 496c647ab5 Merge commit 'de161585c0960a93911f446f0179441ba5470245' into bigmerge 2011-10-25 02:27:26 +01:00
Melanie e2de57ca29 Merge commit '0c041ce12f393367e2754e88d9b8dad5e45f88c4' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:26:56 +01:00
Melanie 69b480770a Merge commit 'ee84c0589ccca1e7f3216ca1395c3002b773f30f' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 01:50:55 +01:00
Melanie 9ceb98344a Merge commit '631d5e16ef8c5340b6283b1a9ed9cc95aea3e3a1' into bigmerge 2011-10-25 01:37:11 +01:00
Melanie 8e69dde397 Merge commit 'ea7366ddc6f0e13519589fcaa3729fd36b5eef79' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 01:36:39 +01:00
BlueWall 3fc47275cf Add case to Lightshare/Windlight
Thanks thomax for a patch to add handling for Sun/Moon pos.
2011-10-22 13:06:34 -04:00
Dan Lake 8b20faf06c Merge branch 'master' of git://opensimulator.org/git/opensim 2011-10-19 14:43:16 -07:00
Dan Lake da794f34a5 Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of scene presence by client ID. 2011-10-19 14:41:44 -07:00