Commit Graph

476 Commits (83bfd29af889631ed2f22e774d50d80aa1ceb198)

Author SHA1 Message Date
Sean Dague 7cace57ecc revert changeset 4469 as this breaks the script engine. 2008-05-01 21:53:14 +00:00
Justin Clarke Casey d21b3ea9c7 From: Kurt Taylor <krtaylor@us.ibm.com>
MInor patch - more script function cleanup and comments
2008-05-01 19:22:17 +00:00
Adam Frisby bcab39831e * Applied Mantis#1106 - fix missing cast from LSLInteger to uint, make int cast more generic (Thanks Melanie!) 2008-05-01 18:55:36 +00:00
Adam Frisby 76d8eaa406 * Thanks to Mic Bowman for inspiring me to look at that we are still using ASCIIEncoder in places we shouldn't. 2008-05-01 18:50:44 +00:00
Teravus Ovares c803e0cca1 * Deletes my EventReader ScriptRewriter. It isn't required to rewrite the script to publish the events anymore.
* Introduces a language(regex) independent event recognizer and publishes the events the script listens.
2008-05-01 16:39:02 +00:00
Adam Frisby 01f31fd933 * Breaking all the code, breaking all the code..!
* Made a bunch more members static, removed some dead code, general cleaning.
2008-05-01 16:23:53 +00:00
Adam Frisby a1c8aa4050 * Cleaned namespaces of entire solution. OpenSim directories now correspond with namespaces. 2008-05-01 15:36:39 +00:00
Adam Frisby 4692e92312 * Assorted spring cleanings. 2008-05-01 14:45:56 +00:00
Adam Frisby 7bcdec4e8f * Applying Mantis#1097 - Thanks Xantor!
- Fix for llRound (now rounds in LL-compatible fashion, rather than using bankers rounding)
- Implementation of llAngleBetween
2008-05-01 12:11:34 +00:00
Adam Frisby 3da6a05eaa * Sometimes you know, you do something really stupid.
* This is one of those times (should fix build)
2008-04-30 21:32:14 +00:00
Teravus Ovares b70da6ac19 * Patch by Melanie. Implements proper objectflags on child objects. Thanks Melanie!
RE: 0001079: r4387. touch() event does not fire when touch script is in root prim and child prims are touched
2008-04-30 16:52:12 +00:00
Teravus Ovares 36bf16d35e Patch from Melanie: 0001077: [PATCH] LSL types cannot be cast implicitly or explicitly in many cases Thanks Melanie!
* Also, I moved the event parser and re-writer to a separate static object.   More work will be done here shortly.
2008-04-30 03:36:13 +00:00
Teravus Ovares 2ae933a88b * Applying Xantor's patch 0001089 - Added llRot2Angle, llRot2Axis,llAxisAngle2Rot. Re-implemented llRot2Euler, llEuler2Rot 2008-04-29 13:40:58 +00:00
Teravus Ovares 06a367be19 * Applying melanie's List2Vector and List2Rot patch. Added a routine in the Quaternion constructors to catch 0,0,0,0 quaternions and convert them to 0,0,0,1 (as 0,0,0,0 is implicitly converted to 0,0,0,1 in LSL and will crash libsl if left which will in turn crash the simulator) 2008-04-29 12:09:55 +00:00
Sean Dague 3ddbf28cd0 wrap a common exception that we get on shutdown of the script engine to keep
people from thinking it's a real issue.
2008-04-28 14:50:09 +00:00
Teravus Ovares 54563d8dea * Patch from XenReborn to make remove-region work properly without needing to do a change-region first. Careful though. I still suggest you do a change-region first.
* Patch from Melanie to implement touch_end.
* Thanks XenReborn!.  Thanks Melanie!
2008-04-27 22:15:38 +00:00
Charles Krinke 7cb78d73eb Thank you Melanie for implementing
llListSort() in linear and strided modes.
2008-04-26 20:49:38 +00:00
Adam Frisby 3dc60c1433 * Committing Mantis #1061 - llRegionSay and llSetPrimitiveParams implementations. Thanks Melanie! 2008-04-26 12:40:14 +00:00
Teravus Ovares 8f6d508b43 * For info about this commit, see last commit. 2008-04-26 07:43:11 +00:00
Teravus Ovares a53cc8fbfa * Error on System. references with 'CS20003: 'System' is null or not an object" 2008-04-26 06:56:50 +00:00
Adam Frisby 87e2793ca6 * Applying mantis#1048 - Patch for osSetRegionWaterHeight() 2008-04-25 10:37:22 +00:00
Teravus Ovares 9468917b5f * Implements llTarget, llTargetRemove, at_target(), not_at_target() 2008-04-25 01:00:55 +00:00
Teravus Ovares 5c660ea0c5 * Patch from Melanie. Mantis: 1040. Thanks Melanie!
* Implements llDeleteSubList in all it's modes. Corrects type selection in inventory functions. Adds support for INVENTORY_ALL selector
2008-04-24 15:11:19 +00:00
Sean Dague 2a2ef42e64 replace hard tabs with 4 spaces to be consistant in the source.
Please adjust your editors to not use hard tabs.
2008-04-24 12:27:24 +00:00
Justin Clarke Casey c49b25f19e * From: Alan M Webb <awebb.vnet.ibm.com>
* Patch to fix negative indices bug in llListInsertList
2008-04-24 10:17:33 +00:00
Teravus Ovares 12bba3da4b * Fixed an annoying pop-up box when crossing borders. 2008-04-23 23:55:02 +00:00
Teravus Ovares 1909d74d5f * Patch from Melanie. Mantis 0001037: Add various internal plumbing to the example economy module, implements llSetPayPrice(), money() and llGiveMoney() in scripts. Thanks Melanie!
* Moves module loading before the script engine so the script engine can pick up events from modules registering interfaces with scene.
2008-04-23 22:44:59 +00:00
Teravus Ovares e108133d91 * Fixes lsl scripts with no state_entry event at all
* Fixes event reporting on states with no state_entry in lsl scripts.
2008-04-23 22:04:45 +00:00
Teravus Ovares 2a3bdde0fa * Adds llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,TF)
* Currently if you apply that to only one or two axis you get unpredictable and sometimes explosive results.
* Three axis works well enough to play with it anyway.   More work is needed here.
* Fixed an incorrectly named method in ODE.NET
2008-04-23 15:32:19 +00:00
Adam Frisby 3370d581e1 * Patch #1026 - llDialog support -- Thanks Melanie! 2008-04-23 12:21:54 +00:00
Adam Frisby 163d254bb9 * Applying Mantis #1021 (llStartAnimation/llStopAnimation) - Thanks Melanie! 2008-04-23 11:53:16 +00:00
Adam Frisby bca7ab7e36 * Applying Mantis #1020 (Animations) - Thanks Melanie. 2008-04-23 11:52:25 +00:00
Justin Clarke Casey 6efb16689a From: Kurt Taylor <krtaylor@us.ibm.com>
Attached is a patch for adding the llGetSunDirection functionality. It was implemented by adding a parameter to estate settings for storing the sun position. The sun position is calculated and stored via the sun module everytime the client's sun position is updated. It was tested with several different srcipts on Linux and Windows
2008-04-23 10:16:26 +00:00
Teravus Ovares 61f23fa045 * Implements llScriptDanger
* Made the scene's scriptDanger method more generic so both the llScriptDanger method and the Script engine method use the same private method.
2008-04-22 10:11:29 +00:00
Teravus Ovares 809447ac32 * Implemented NoScript areas (without loosing script state). 2008-04-22 09:28:58 +00:00
Teravus Ovares 9b696a1d5c * Patch from Mic Bowman(cmickeyb) that implements llUnsit. Thanks Mic!
* I expanded upon his patch just a bit to incorporate the following.
* if the avatar is sitting on this object, then we can unsit them.
* If the object owner also owns the parcel or if the land is group owned and the object is group owned by the same group or if the object is owned by a person with estate access, then we can unsit them.
2008-04-22 08:15:44 +00:00
Adam Frisby 01663cb612 * Committing fix for previous build breakage. Sorry!
* Committing namespace/usings fixes for ThirdParty directory, missed in previous commit.
2008-04-21 07:16:30 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Tedd Hansen 16275ca26d Removed some script engine noise from console 2008-04-20 11:58:14 +00:00
Tedd Hansen 8a13edb115 Moved script engine os* commands to OSSL_BuilIn_Commands.cs and OSSL_BuilIn_Commands_Interface.cs where they belong. 2008-04-20 10:40:39 +00:00
Teravus Ovares a5bf229cbd * Fixed up event discovery regexes to work with a specific string format m#1012 2008-04-20 10:18:40 +00:00
Teravus Ovares 3358d70c5b * Updates LSL2CS converter
* All objects are not touchable by default now
* When a script listens for one of the touch events in the state, an object becomes touchable.
* All LSL scripts report which events they consume now
** This uses semi-complicated Regex to discover the events, stick them in a dictionary, and then write a method call into each script state's state_entry() event.
** Tedd may figure out a better way to do this in the future.  For now, this works for LSL.
2008-04-20 04:19:44 +00:00
Justin Clarke Casey cd09677469 From: Alan M Webb <awebb@vnet.ibm.com>
Robust implementations of GetSubString, InsertString, and
DeleteSubstring. The existing implementations only worked for arguments
consistent with the underlying .Net implementation and did not
accomodate LL's negative indices.
2008-04-18 19:03:28 +00:00
Tedd Hansen acb0b06fed Mantis #851, 100% CPU on unhandlet HTTP event. Thanks cmickeyb. 2008-04-18 15:25:43 +00:00
Charles Krinke ea8b6a28ed Thank you, Melanie, very kindly for a patch that :
Implements llGetInventoryKey with perms checking. 
Adds perms checking to llGetTexture, adds type checking to llStartSound, 
allows llSetTexture to reference textures by name
2008-04-18 02:23:48 +00:00
Justin Clarke Casey 15b36498be From: Alan M Webb <awebb@vnet.ibm.com>
This provides fixed implementations for llListReplaceList and llList2CSV.
llListReplaceList was broken except for simple indices. llList2CSV did not handle processing of an empty list.
2008-04-17 14:34:30 +00:00
Justin Clarke Casey e3a6a370fa * From: Alan M Webb <awebb@vnet.ibm.com>
* Here's an updated ListInsertList implementation, tested to be LL
compliant.
2008-04-16 16:07:34 +00:00
Justin Clarke Casey 9cb9dcb9da From: Alan M Webb <awebb@vnet.ibm.com>
This fixes a bug in LSL_Types.list GetSublist that was manifest if the
source list was empty and negative indices were used.
2008-04-16 15:57:55 +00:00
Justin Clarke Casey 4f8943da67 * From Kurt Taylor <krtaylor@us.ibm.com>
* Yet more script function cleanup - Patch fixes many different script functions: NotImplemented that weren't there at all, redundant or unneeded m_host.AddScriptLPS, etc
2008-04-16 15:54:32 +00:00
Teravus Ovares 331f26548b Fixed LSL State support.
* Re-applied Tedd's patch that got overwritten.
* Replaced (state)\s+([^;\n\r]+)([\r\n\s];) with (state)\s+([^;\n\r]+)(;[\r\n\s])
* Added a state(string) method to BuiltIn_Commands_BaseClass
2008-04-15 16:49:06 +00:00
Sean Dague f337cb205d From: Kurt Taylor <krtaylor@us.ibm.com>
Attached is the second half of the fix for 821 - this is the null reference
check for llDetectedName and the other *Detected* function.
2008-04-11 13:51:11 +00:00
Charles Krinke f565f44d89 Thank you Justin for a patch that solves the issue of: When a sensor detects an Avatar,
and llDetectedOwner is called on the script, the current implementation attempts to 
find the detected avatar as a SceneObjectPart and return the owner of that part.
2008-04-10 15:38:33 +00:00
Sean Dague c176caeb05 moved fields to properties for UserDataProfile, which was
actually a little more work than I expected given the copious
use of out params.
2008-04-10 13:53:06 +00:00
Justin Clarke Casey 8bd1f1c7c3 * Put explicit braces in for single line blocks 2008-04-09 15:36:10 +00:00
Justin Clarke Casey f9646a0c81 From: Michael Osias <mosias@us.ibm.com>
"This is llDetectedKey for touch_start - it is already implemented for sensor."
Thanks Michael
2008-04-09 15:33:04 +00:00
Justin Clarke Casey f512502e51 From: Kurt Taylor <krtaylor@us.ibm.com>
"a patch to add a deprecated call to throw an LSL deprecated specific exception, and the associated code cleanup in the functions."
Thanks!
2008-04-09 15:28:51 +00:00
Adam Frisby 996309a6e1 * Various terrain engine fixes
* Includes patch #894 fixes for terrain load-tile
* Large number of other terrain fixes and new commands included.
2008-04-06 13:48:28 +00:00
Justin Clarke Casey 57afbdbdbd From: Kurt Taylor <krtaylor@us.ibm.com>
Patch to remove commented NotImpemented calls from within implemented script functions
2008-04-04 19:09:56 +00:00
Sean Dague 341664eabc from krtaylor
Fixe for Mantis 821
2008-04-02 18:58:57 +00:00
Adam Frisby fadd19f314 **Big ass update warning**
* Renamed plugin console message, to send a message to a plugin, use either "plugin <message>", or any unrecognised message will be sent ("plugin" sends explicitly) This replaces the old "script <message>".
* Terrain commands - "terrain <command>" now works again. "Script terrain <command>" does not. Many of the commands have now been reimplemented, eg load-tile. However some have new syntax.
* New console command handler, you can now use things like "terrain help" or "terrain save help". See TerrainModule.cs for an example of how to use the new "Commander" class.
* Commander class - advanced processing of console input and also enables a script API to be generated from registered console commands.
2008-03-30 09:03:38 +00:00
alondria 0e0445573e Patches llAvatarOnSitTarget to return NULL_KEY opposed to a blank string. Should fix Mantis 838 2008-03-29 19:49:07 +00:00
MW a13d68d98c fixes mantis #778 and shoots himself for making such a mistake to begin with, but also blames Tedd for the way the script functions have wrapper methods that call the same named method in a different class, is it my fault if in two such functions, I forget to add "m_LSL_Functions." and instead cause a recursive loop until the stack overflows. 2008-03-28 15:32:46 +00:00
Sean Dague 2eda6a1296 From: Michael Osias <mosias@us.ibm.com>
This patch implements llMessageLinked.

I had to make a change to llGetLinkNumber to return m_host.LinkNum + 1 for
link sets of more than 1 prim, or 0 for a single object, since according
to:

http://rpgstats.com/wiki/index.php?title=LlMessageLinked

linksets with 2 or more prims start the link numbering at 1, but a single
prims link number is 0.
2008-03-28 12:47:03 +00:00
Jeff Ames 9d1b42c39a Comment out unused private methods. 2008-03-25 03:49:08 +00:00
Jeff Ames a8d9a58dd2 Fix a couple more warnings. 2008-03-25 03:43:24 +00:00
Teravus Ovares a21112ccee * Adds llMoveToTarget and llStopMoveToTarget support to the ODEPlugin.
* It doesn't generate at_target events, because they don't exist yet in the script engine.
* The Tau is different, however, compatible with scripts I tested.
* Not perfect...  but pretty good.
2008-03-25 03:36:31 +00:00
Teravus Ovares dd6e6e7bdf * Added llApplyImpulse in the local frame. 2008-03-24 22:48:34 +00:00
alondria 15a22e993d Implements llGetInventoryPermMask() 2008-03-24 21:56:52 +00:00
alondria 2b4915ef27 Modified llGetInventoryName() so it indexes inventory in the same manner the LL grid does. (Thanks Teravus for pointing this out.) 2008-03-24 21:19:01 +00:00
alondria 3be815b206 Implements llGetInventoryName() - the order is based upon inventory key, which probably doesn't match 100% with LL's grid. 2008-03-24 19:58:53 +00:00
alondria 9117dfc858 Implements llGetInventoryNumber() 2008-03-24 19:29:35 +00:00
alondria 8a39d04f6d Implements llGetInventoryType() 2008-03-24 19:11:56 +00:00
alondria 3423ed4739 Implements llGetInventoryCreator() 2008-03-24 19:05:44 +00:00
alondria 68d016517d Implements llGetParcelPrimOwners() 2008-03-23 18:15:08 +00:00
alondria 5deca3f0c5 Implements (I hope): llRemoveFromLandBanList, llRemoveFromLandPassList, llAddToLandBanList, llAddToLandPassList, llResetLandPassList, llResetLandBanList 2008-03-23 06:08:52 +00:00
Jeff Ames 0d43aaa337 Fix llParseString2List bug when separator is longer than 1 character. 2008-03-23 00:39:35 +00:00
Jeff Ames 9a2b289e32 Fix compiler warnings in pCampBot, TestSuite, and ScriptEngine/RemoteServer. Thanks daTwitch! 2008-03-22 23:52:48 +00:00
mingchen 71ca162821 *Moved LandManagement into its own region module (spiffy!) 2008-03-22 23:10:22 +00:00
alondria 5ebef6410e Implements llLoopSound(), llStopSound(), and llAdjustSoundVolume(). 2008-03-22 23:02:41 +00:00
alondria 6ac21141c6 Adds in +, -, and / operators for Rotations (and fixes Mantis 671) 2008-03-21 21:31:18 +00:00
alondria d3515bf22e Woops - forgot to call m_host.AddScriptLPS(1) in llGetObjectDetails.... 2008-03-21 20:20:39 +00:00
alondria 181c5ab7d7 Implements llGetObjectDetails() 2008-03-21 20:04:52 +00:00
alondria d76c6ee140 Implements llKey2Name(). 2008-03-21 18:45:09 +00:00
alondria 5c41051fda Implemented llOverMyLand() and correct llGetOwnerKey() to properly return the information for the argument key, opposed to the object the script is in. 2008-03-21 15:34:51 +00:00
Adam Frisby 7286bd60b0 * Converted a large number of ASCII encodings to UTF8.
* We should not be using ASCII anywhere except for legacy compatibility reasons.
* A large number of UTF8 Encoders are being used in places where we should be using Util.StringToField instead. These have been tagged with // ENCODING FAULT
* This should fix Mantis#799 - Japanese Profile Text does not work.
2008-03-21 02:26:00 +00:00
Teravus Ovares dc79146d01 * Fix for #499: linked primsets don't rotate properly when using a door script that works OK on SL
* Fix for #693: llSetRot malfunction in linked prims causing instance of invisible prim
2008-03-21 00:52:41 +00:00
Justin Clarke Casey f747687c8f * Patch to add llSetLinkPrimitiveParams stub
* Thanks krtaylor
2008-03-19 17:28:21 +00:00
Justin Clarke Casey 16cd6cd82e * Documentation patch from krtaylor. Thanks! 2008-03-19 10:47:40 +00:00
Jeff Ames a0e1be3280 Fixed some comparisons of LLUUIDs to null.
Thanks to DrSchofld for pointing this out.
2008-03-19 09:36:13 +00:00
Jeff Ames e5b9144282 Formatting cleanup. 2008-03-18 15:30:38 +00:00
Jeff Ames bf8b5844f2 Formatting cleanup. Minor refactoring. 2008-03-18 14:51:42 +00:00
lbsa71 9c428d9935 * Applied Grumly57 patch for #781; Thanks, Grumly! 2008-03-18 13:39:29 +00:00
Justin Clarke Casey f81c491725 Patch from DrSchofld (IBM). In his own words
structs (such as LLUUID) are considered values by mono. comparing them against null makes no sense and the mono compiler will flag that as evaluating to always false --- except if "cleverly" disguised. the attached patch fixes such an occurrence in  OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs.

[yes, i'm on a crusade against comparing structs against null, go ask jradford from libsl ;-)]
2008-03-18 11:32:44 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Jeff Ames a8aeec29da Fix a few mono compiler warnings. Minor cleanup. 2008-03-17 17:39:42 +00:00
Sean Dague dba37a8722 From: Alan M Webb <awebb@vnet.ibm.com>
Here's a diff of the changes I have made in support of the following LSL
script functions. 

llSetScriptState
llGetScriptState
llCSV2List
llListRandomize
llList2ListStrided
llListFindList
llResetOtherScript
llGetScriptName

It was necessary to modify ExecutorBase in support of the ScriptState
implementations.

I also modified SceneObjectPart and SceneObjectPart.Inventory to
corrects a quoting mismatch in the commentary that through off live
parsing of the files.

I also simplified the State definition at the start of BuiltinCommands.
2008-03-17 15:11:36 +00:00
MW 58ce8f3818 added some os helper functions for the texture drawing module. see http://opensimulator.org/wiki/OSSL_TextureDrawing for function prototypes and example script. Will expand that page later. 2008-03-15 13:52:57 +00:00
Teravus Ovares ae9a98ceb1 * Added proper handling of llSetStatus(STATUS_PHYSICS,BOOL) 2008-03-14 06:20:50 +00:00
Teravus Ovares abacfba287 * Preliminary work with the ODEPlugin to collect collision data. 2008-03-14 05:22:52 +00:00
Sean Dague 31cdb1afb0 there was a single instance where the log4net object was not
static readonly.  I suspect this was the cause of mantis #500.
2008-03-12 21:09:56 +00:00