Commit Graph

476 Commits (83bfd29af889631ed2f22e774d50d80aa1ceb198)

Author SHA1 Message Date
Jeff Ames 6da664edbe Refactor out some duplicate code. 2008-03-11 22:15:28 +00:00
Adam Frisby 11ba471bcc * Applying patch #754 - Fix for Vector Magnitude operation. Thanks cmickeyb! 2008-03-11 16:19:01 +00:00
Teravus Ovares f46fcbb9d2 * Added Linear Acceleration reporting to the ODEPlugin.
* Added support for LSL llGetOmega (Rotational/Angular Velocity)- ODEPlugin is the only physics plugin that reports it.
2008-03-10 14:14:44 +00:00
Teravus Ovares d0123a796b ODEPlugin
* Added osSetPrimFloatOnWater(BOOL) to make Physical prim float at the water level.   
* osSetPrimFloatOnWater(TRUE); or osSetPrimFloatOnWater(FALSE);
* By default, prim do not float at the water level.
* More work is needed on the floating, but it's a start.
2008-03-10 05:56:58 +00:00
Teravus Ovares 8bea3dbdb9 * Added ODEPlugin Support for llSetBuoyancy. Set Buoyancy to 1 for space prim.
* Added WaterLevel support to the ODEPlugin.   More on this later.
2008-03-10 05:23:43 +00:00
Charles Krinke 39684496eb Remove two warnings with unused variables. 2008-03-08 23:12:25 +00:00
Charles Krinke ff75ba99a9 Thank you very much, Ldviopeng for :
Patch to implement the following LSL functions:
llGetObjectPermMask()
llSetObjectPermMask()
2008-03-08 22:26:25 +00:00
MW d340820826 Added Frist basic version on the VectorRenderModule, that allows scripts to do some basic drawing onto textures. Currently the method the scripts have to use is most likely not the most user friendly, but this should improve soon. And hope to allow SVG files (either loaded from a web site, or even script created) to be used. I will add a page to the wiki tomorrow, until then http://www.pastebin.ca/934425 is a example c# script that can be used to get a bit of a idea.
Also added osSetDynamicTextureDataBlend and osSetDynamicTextureURLBlend that will allow the various textures to be blended together, but currently there are still a few bugs in them. So not ready for use yet.
2008-03-08 20:54:34 +00:00
Charles Krinke 3151e302ca Thank you kindly, Ldviopeng for:
Patch to implement the following LSL / OS functions
llParcelPrimCount(60%)
osSetParcelMediaURL
2008-03-08 18:06:10 +00:00
lbsa71 f76bc24de7 * Applied patch #719 from lvoidpeng.
* Implements llGetOwnerKey
Thanks, lvoidpeng!
2008-03-07 14:26:27 +00:00
Adam Frisby a360116502 * Disabled ancient TerrainEngine.
* Enabled new TerrainModule.  (The king is dead, long live the king!)
* Use the console command: "script terrain save file.r32" / "script terrain load file.r32" to load/save terrain. Now uses the extension to determine file format.
* MANY of the old terrain features do not have a replacement function in the new module yet, this needs to be corrected, but has not been done so far. This being said, the new module is faster and more efficient and should be a good replacement.
2008-03-06 15:49:53 +00:00
Jeff Ames cd6f4a57e7 Added copyright heaaders. Minor cleanup. 2008-03-04 04:11:37 +00:00
Adam Frisby 415fc22e5e * Removed a bunch of compiler warnings. 2008-03-03 09:54:39 +00:00
Charles Krinke 56697133d4 Thank you very much, Kinoc for:
* Impelements llInstantMessage
* Reimplements llOwnerSay as llInstantMessage(llGetOWner(),msg).
* Try's to better identify the "True Name" of objects in llDetectedName
 by checking for avatar name, scene Object Part name and entity name.
* Uses similar logic in the llSensor and llSensorRepeat functions.
2008-03-01 00:59:23 +00:00
Sean Dague de1024adf7 From: Alan M Webb <awebb@vnet.ibm.com>
This patch is intended to implement the following functions:

        llIntegerToBase64
        llBase64ToInteger
        llParseStringKeepNulls

None of these functions are dependent upon state elsewhere in the SIM,
so they are appropriately self-contained. I've tested them out of
context, and from a script attached to an object in my test region.
2008-02-28 21:25:28 +00:00
Tedd Hansen dbb205c181 Moved AsyncCommandManager into separate classes under "plugins". 2008-02-25 20:10:17 +00:00
Tedd Hansen 366e607608 eol 2008-02-25 19:53:11 +00:00
Tedd Hansen ce9c74a83c Step 1 in reorganizing AsyncCommandManager 2008-02-25 19:45:34 +00:00
Tedd Hansen 5739e13f5b Initial patch for llSensor*
llSensor, llSensorRepeat, llSensorRemove, llDetectedName, llDetectedKey, llDetectedOwner, llDetectedType, llDetectedPos, llDetectedVel, llDetectedRot
Thank you very much kinoc! :)
2008-02-25 19:34:38 +00:00
Tedd Hansen 66cc8f99f6 I'm the stupidest stupid in the whole world. :)
Fixed a bug in new Prim where I actually ADDED new values to old values instead of directly assigning them... Now that was a waste of time! :P
2008-02-25 11:29:24 +00:00
Jeff Ames 61200b469c Update svn properties. 2008-02-25 01:59:14 +00:00
Tedd Hansen 909796f615 Added limits to Prim.Position.X/Y/Z (0-255) so that your prims won't wander off into eternity 2008-02-24 17:46:28 +00:00
Tedd Hansen 4f4dfa8e82 Fixed startup logo size to match a Win CMD window.
Fixed bugs in new OOP commands.
Prim.Rotation.X += 45;
Prim.Position.X += 10;
Now how do I find the prim I asked to += 10 every 1 second???
2008-02-24 17:29:59 +00:00
Tedd Hansen f10d895105 Ok, so NOW scripts work. New patch to break them coming soon. 2008-02-24 17:01:20 +00:00
Tedd Hansen 8af64c979f By now you all have learned that when I'm committing scripting usually doesn't work, so no big surprise. :)
Modified baseclass for compiled script to incorp new OSSL commands class and renamed it to follow standards and all that. Scripts may work again. :)
2008-02-24 16:41:56 +00:00
Tedd Hansen 952c8de189 Forgot to change what class compiled scripts must inherit from to get their commands :) 2008-02-24 16:23:02 +00:00
Tedd Hansen 08131614c9 Implemented object oriented Prim.Position, Prim.Rotation and Prim.Text.
Example:
Prim.Position.X += 10;
2008-02-24 16:16:00 +00:00
Tedd Hansen b533517037 eol 2008-02-24 15:55:04 +00:00
Tedd Hansen 2cd85e15dc Changed so "BuiltIn_Commands" given to scripts is easily extendable. Added new OSSL_BuilIn_Commands class where we can start adding our own modular commands. 2008-02-24 15:45:20 +00:00
Tedd Hansen 5eff68e6bb Fix for error message during startup (shared thread started processing region queue before queue objects were fully operational) 2008-02-22 23:45:17 +00:00
Tedd Hansen 46cfc475aa ScriptEngine works again (startup-nully-error gone) 2008-02-22 22:53:19 +00:00
Tedd Hansen f06a6573bb One more: Async LSL command thread is also shared now. 2008-02-22 22:24:12 +00:00
Tedd Hansen 0fc6b2a429 Bugfixes - Scripting works again 2008-02-22 20:58:25 +00:00
Tedd Hansen e741dcde6a Some misplaced code made scripts never start :) 2008-02-22 20:06:44 +00:00
Tedd Hansen 0fb4374c1a Better timing of MaintenanceThread's tasks (uses less CPU)
Updated OpenSim.ini.example
2008-02-22 19:46:13 +00:00
Tedd Hansen 42bcd76b36 Bugfixes - wasn't counting threads right++ 2008-02-22 16:15:08 +00:00
Tedd Hansen 879a260498 Minor annoying Exception-bug fixed 2008-02-22 14:53:26 +00:00
Tedd Hansen a43bb10000 Execution threads are now shared between regions too. Default thread count regardless of number of regions is now 3. This will save you around 33 threads for a normal 3x3 region server.
But, this is totally completely untested. So it probably won't work for another patch or five.
2008-02-22 14:09:38 +00:00
Tedd Hansen 3bb0fe098f Maintenance thread in charge of loading/unloading of scripts. 1 thread less per region.
Total so far: 2 threads less per region
Note: Currently causes delay in load/unload of scripts
2008-02-22 13:23:45 +00:00
Tedd Hansen 9f7366210a Now last commit will compile too... The features just keep on coming! 2008-02-22 13:15:01 +00:00
Tedd Hansen a040008cb9 From this commit and a few hours into the future ScriptEngine will be unstable:
* Speeding up ScriptEngine shutdown
* Sharing threads so that minimum total thread count for any amount of regions will be 2. (1 maintenance, 1 script execution)
You can choose more script exec threads if you want of course.
In this commit: Sharing maintenance thread between all regions.
2008-02-22 12:50:24 +00:00
Tedd Hansen f75e418211 Fixes to ScriptEngine thread cleanup on destructor 2008-02-21 23:43:58 +00:00
Tedd Hansen 89665faeaf ScriptEngine changes in locking. Another step in direction of shared threads. 2008-02-21 11:28:34 +00:00
Tedd Hansen 7102ac7769 "threads" command now works. I've added manual tracking of threads (only if compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging. 2008-02-21 10:43:24 +00:00
Tedd Hansen 684059afdf div+
threads console command will list all threads. This + yesterdays naming threads patch will give a good overview of what threads we have running.
2008-02-20 20:22:15 +00:00
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
Tedd Hansen 416d752829 llSetTimerEvent updated to use ticks instead of DateTime for internal timing. 2008-02-20 17:35:28 +00:00
Tedd Hansen 96edcea3ae llSetTimerEvent was setting seconds as milliseconds causing major problems in timed scripts... 2008-02-20 17:14:01 +00:00
Sean Dague 530cc24884 From: Michael Osias <mosias@us.ibm.com>
This patch implements the llSendRemoteData command and fixes mantis 552,
and possibly 586.
2008-02-19 19:16:21 +00:00
Sean Dague f47bcb0f98 bring back some script engine debugging, hoping this will help track down the randoms segfaults 2008-02-18 14:17:09 +00:00
Justin Clarke Casey 1cbef0b908 Patch from Michael Osias IBM (jimbo2120)
In his own words: 
If a prim becomes a listener or remote channel and the script is deleted, it cannot become a listener or channel again with a new script.  
This patch fixes that.
2008-02-18 11:14:53 +00:00
Charles Krinke 3df36523cb Thank you very much, Hashbox for:
Changed the public IsAdministrator back to protected, 
now checks Config to see whether it is allowed to run or not. 
Defaults to false (not allowed).
To use add the following to OpenSim.ini
[LL-Functions]
AllowosConsoleCommand=true
2008-02-18 03:14:31 +00:00
Charles Krinke e6a74344e7 Thank you Hashbox for adding the
osConsoleCommand Feature to ll-functions.
2008-02-17 21:15:43 +00:00
Jeff Ames 3b9d332f84 Added copyright notices. 2008-02-17 01:16:40 +00:00
Jeff Ames e8225f2f81 Update svn properties. 2008-02-16 08:35:19 +00:00
Tedd Hansen 5e949d4700 Forgot one small but important line .. ;) 2008-02-16 08:22:29 +00:00
Tedd Hansen 169032b4a4 Fixed ScriptEngine config in OpenSim.ini.example that was out of place.
Added some info to failure on GridServices listening port so people can see what actually went wrong.
Moved most of the function/event execution module to a baseclass so other execution methods (instead of reflection) can be used with custom script modules run by ScriptEngine.Common.
+ some accumulated patches
2008-02-16 07:53:02 +00:00
Adam Frisby f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
Tedd Hansen 44058f8ae6 state_entry is now executed on state change. 2008-02-10 22:36:01 +00:00
Tedd Hansen 9a04e0e1c4 We now support LSL state 2008-02-10 22:25:59 +00:00
Dalien Talbot c935b308e6 The very beginnings of attachments (no detachments! :) 2008-02-10 22:23:11 +00:00
Tedd Hansen 78363c3bab Bugfix to state command:
"state default;" rewrite to "state ("default");"
2008-02-10 21:55:26 +00:00
Tedd Hansen f5cf5ad134 Bugfix on that last Quaternion/Vector patch 2008-02-10 21:43:53 +00:00
Tedd Hansen 3b844cb756 Untested bugfix in state support
Replaced (?<s1>(?![a-zA-Z_]+)\s*)" + @"([a-zA-Z_]+)(?<s2>[^a-zA-Z_\(\)]*){ with (?<s1>(?![a-zA-Z_]+)\s*)" + @"(state\s+)?([a-zA-Z_]+)(?<s2>[^a-zA-Z_\(\)]*){
Lets see what happens now... :)
2008-02-10 21:37:19 +00:00
Tedd Hansen 801e95bbe1 Added support for function calls as values in LSL-specific <0,0,0> and <0,0,0,0> Quaternion and Vector 2008-02-10 21:30:46 +00:00
alondria 758458121e Implements llListStatistics() and a bunch-o-LSL_Types.list statistical methods. Added LIST_STAT_HARMONIC_MEAN in addition to LL's LIST_STAT_* 2008-02-10 21:28:41 +00:00
alondria c2632a2eb9 Implemented llGetParcelFlags() and llGetRegionFlags(). I don't think the RegionFlags are currently implemented within EstateSettings, thus this is always 0. 2008-02-10 18:08:02 +00:00
alondria 04a5a57b3d Implements llGetObjectMass() 2008-02-10 17:41:57 +00:00
Charles Krinke cf284efcda Thank you very much, Hashbox for :
Add scene-debug command to Enable/Disable scripting, 
collision, and physics from console.
2008-02-10 16:03:58 +00:00
Jeff Ames e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Adam Frisby a50a26f812 * Dun-dun-dun. JavaScript scripting now actually works. :) 2008-02-08 18:39:30 +00:00
Charles Krinke dfca32b046 Missed one event message that needed to be
commented out.
2008-02-08 02:23:57 +00:00
Charles Krinke 2fb541cb2a Make timer events from scripts a little less chatty.
DEBUG is defined by default in the Linux build.
2008-02-08 01:42:56 +00:00
Tedd Hansen 97ec8cba62 Maybe VB.Net will compile now... who knows ;) 2008-02-07 16:37:28 +00:00
Tedd Hansen ba846e62ef Same VB.Net patch done right. 2008-02-07 15:36:58 +00:00
Tedd Hansen c997cc97bb VB.Net compiler might work on Windows now. 2008-02-07 15:31:22 +00:00
Adam Frisby f93fdfa5af * Marking off which uses of catch (Exception e) is legit and which are not, for later removal/replacement. 2008-02-06 15:30:02 +00:00
Jeff Ames 4ec4e2cb32 Cleaned up some unreachable code warnings. 2008-02-06 08:31:29 +00:00
Jeff Ames b68d2bd09a Fixed typo in Mag() (Thanks lc_tuco for pointing this out) 2008-02-06 08:26:09 +00:00
Teravus Ovares 9cd9e90e7f * Added Active Scripts to report the number of scripts running to Sim Stats
* Added Script Performance to report the number of functions run per second to Sim Stats.
* Removed a few warnings (@.@ up to 50 now)
2008-02-06 08:03:22 +00:00
alondria 52af264948 Fixed regex in LSL2CSConverter so it will properly handle casting to (string) part of vector (eg. vector.z)
This fixes Mantis 388
2008-02-06 02:30:05 +00:00
alondria 31576c8a26 Somehow llList2Float never made it into LSL_BaseClass and LSL_BuiltIn_Commands_Interface - it is now (and foxes Mantis 395) 2008-02-06 02:04:00 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
alondria 36f7a087e6 Added explicit Quaternion->string and list->string conversions.
Some preliminary work on llSetStatus and llGetStatus.
2008-02-05 15:06:37 +00:00
Tedd Hansen 1d95f0521d Reverted MySQLDataStore.cs to not use static mutexes any more, patch didn't work anyway.
Added js to OpenSim.ini.example.
2008-02-05 12:18:50 +00:00
Teravus Ovares ca5aadfbff * Refactored the sound calls to SceneObjectPart
* Fixed a few bugs
* Wrote an example module to make certain event systems more mature.
2008-02-05 05:26:18 +00:00
Jeff Ames 99844ee4c0 Added copyright statements. 2008-02-05 03:20:51 +00:00
Teravus Ovares 3ff5ad1ed3 Patch from mikkopa/_someone Thanks! adds support for llPreloadSound, llTriggerSound, llPlaySound, llPreloadSound.
* Time to make music boxes?
2008-02-04 14:40:46 +00:00
Adam Frisby 5ffc225545 * Replacing missing break statement from DotNetEngine/Compiler/LSL/Compiler.cs 2008-02-04 13:43:42 +00:00
Adam Frisby ba16daff7c * Added JavaScript support to OpenSim scripting. Totally Untested. Enjoy. :) 2008-02-04 12:43:07 +00:00
Adam Frisby 6fbc64af5e * Whole buncha stuff. 2008-02-04 10:39:30 +00:00
alondria bc3d0217af Added llRot2Fwd, llRot2Left, and llRot2Up as well as explicit vector->string casting.
(Thanks to dalien on informing me how easy the math was for these).
2008-02-03 16:42:43 +00:00
Tedd Hansen 5a99a96fed Temporarily disabled shared threads because of a bug. Script were only working on 1 region. :)
Using default warning level on C#/VB compile
2008-02-03 09:35:50 +00:00
alondria 742ed9537d Implements LSL function llDialog().
The ScriptDialogReply packet handler is a bit of a hack job. It is currently handled similar to ChatFromViewer, which will trigger the listen() event, however this is not exactly how LL's implementation works and will/can be fixed up later.
2008-02-02 22:53:01 +00:00
alondria 0ea708c133 Added llParseString2List (and a few extra methods to LSL_Types.list). 2008-02-02 18:52:07 +00:00
Teravus Ovares 2d6c21e8fc * Added Full support for llSetTextureAnim. To ckrinke: Let the fountains of Wright Plaza flow!
* Fixed another bug in LibSL.  This is the same version, as before just with a bug fix.
2008-02-02 08:11:14 +00:00
Tedd Hansen 785b641272 fixed a timing bug in config re-read. Apparently there is 1000000000 ns in one second... 2008-02-02 07:53:13 +00:00
Tedd Hansen 2db5de3e72 Added commands to change config file from console:
CONFIG SET section key value value value
CONFIG GET section key
CONFIG SAVE (it saves, but does it save correctly?:)

ScriptEngine will react correctly to any config change made while it is running.
2008-02-02 07:35:51 +00:00
Jeff Ames b1a6f4821b Updated svn properties. 2008-02-02 07:13:37 +00:00
Tedd Hansen b57d9be856 Re-enabled AllowedCompilers function
Added notice in OpenSim.ini that config refresh function is disabled
2008-02-02 05:07:02 +00:00
Tedd Hansen a004ea5f17 Almost forgot to check in:
OpenSim.32BitLaunch.exe is a 32-bit application that loads OpenSim.exe using .Net framework, hence it is JIT-compiled to 32-bit.
Use this app to start OpenSim on 64-bit systems (works great on Vista 64 :))
2008-02-02 05:03:28 +00:00
Tedd Hansen 1ecdaf333f Note to self: Next time read debug-files on correct computer. It makes bughunting SO much easier! *jeesh* 2008-02-02 04:45:18 +00:00
Tedd Hansen 7bd3ecfc2a Bugfixes. Now it even reads configuration before it uses it! ;) 2008-02-02 04:35:08 +00:00
Tedd Hansen b1f97f9e77 Temporarily disabled AllowedCompilers so all 3 compilers are allowed.
Fixed bug in how code is handled, hopefully we can now run all 3 languages? :)
2008-02-02 04:06:51 +00:00
Teravus Ovares d4f32649cd * Committing some untested stuff regarding texture animations. This won't break anything, but the llSetTextureAnim function is completely untested.. (though it may be functional once the script engine works again) 2008-02-02 03:57:57 +00:00
Tedd Hansen 8dc5153ad7 Added header/footer of scripts to make C# and VB scripts much easier to write.
Added some logging on what is happening during compile.
2008-02-02 03:42:35 +00:00
Tedd Hansen 5c8abed450 Bugfix: LSL was mapped to VB.Net compiler ... that didn't work out so well :) 2008-02-02 03:17:38 +00:00
Tedd Hansen e06ee9fd4b Added load/unload queue size limit
Added option to share script load/unload thread between regions
Added event execution queue size limit
+ some bugfixes from all the changes
2008-02-02 03:11:06 +00:00
Tedd Hansen 8ccc12d642 Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Added VISUAL BASIC.NET-support
//cs, //lsl and //vb as first characters of script will determine what compiler is used.
Compile warnings are no longer treated as errors. Script will still run.
Added a few useless and useful config options:
Write script source to harddisk for debug, Default compile language, Allowed compilers (languages), compile in release or debug mode, clean up old scripts on startup
Loads of warnings for incorrect config
2008-02-02 02:35:56 +00:00
Tedd Hansen 667197f24d Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Fixed ScriptEngine.Common startup problems.
2008-02-02 00:59:22 +00:00
Tedd Hansen ea74f97e9b Forgot to create an object before use. Now why can't .Net just do that itself? :) 2008-02-02 00:20:31 +00:00
Tedd Hansen 34d21ac94b Added some error checking to MaintenanceThread, no-crash (just log) loading of script engines, and support to load multiple script engines 2008-02-02 00:09:55 +00:00
Tedd Hansen 694642a482 Moved iniFilePath to a static and put it in OpenSim.Application.iniFilePath.
Refreshing config based on this.
Temporarily disabled feature to refresh config file while running.
2008-02-01 23:56:09 +00:00
Tedd Hansen 4715453159 Bugfix, maybe it won't crash during startup and crash somewhere else instead? :) 2008-02-01 23:44:02 +00:00
Tedd Hansen d02a90823f SCRIPTING STILL BROKEN
Added comments and regions, restructured code
Changed a lot of AppDomain junk from console from using Console.Write to Log.Verbose and set it to #if DEBUG
All modules should now refresh their configuration runtime
Made all logging in ScriptEngine.Common get script name from actual engine
Renamed LSLLongCmdHandler to AsyncLSLCommandManager
Added auto-recover with 5 sec throttle for new MaintenanceThread
2008-02-01 23:36:36 +00:00
Tedd Hansen a6726b0c9d SCRIPT SUPPORT IS STILL BROKEN.
Bugfix: Scripts exceeding max and set to be killed were not killed, only removed.
Added ability to re-read configuration while OpenSim is running
All regions now sharing one MaintenanceThread
New MaintenanceThread:
- checks for script execution timeout
- re-reads config
- starts/stops threads if thread active count becomes too high/low compared to config
Speed increase on event execution:
- Reuse of try{}catch{} blocks
- Time calculation on event execution
2008-02-01 22:18:55 +00:00
Tedd Hansen 0c0286911d Config option to set number of scripts per AppDomain 2008-02-01 20:52:00 +00:00
Tedd Hansen e14c8f59f7 Added config options:
ScriptThreadPriority to set script thread priority
DeactivateScriptOnTimeout to remove script if it is executing too long
2008-02-01 20:45:15 +00:00
Tedd Hansen f4ddf5cf28 Removed "Loading inventory for Primitive" message.
Fixed small bug in thread counter.
2008-02-01 20:19:29 +00:00
Tedd Hansen a9c1f3fdb4 Experimental
Moved DotNetScriptEngine configuration to config file.
Added option to share script execution threads between regions.
2008-02-01 20:12:25 +00:00
Tedd Hansen 5d6e89eaf9 Highly experimental
A separate thread is used to enforce max function (event) execution time for scripts.
2008-02-01 19:07:05 +00:00
alondria 43ecb1b4d2 Fixed errors being thrown by invalid PSYS_SRC_TARGET_KEY's in llParticleSystem - defaults to source prim (consistent with LL grid).
Should fix mantis 427.
2008-02-01 15:22:11 +00:00
alondria 0eb4e85988 Thanks to Hashbox for a patch to:
Implementing llStringTrim and hooking in osRegionNotice
2008-02-01 14:18:00 +00:00
Teravus Ovares bec71977ab * Added more supported feature to particlesystems. While this appears to have a libsl update... it's really a fix to the libsl version we're already using because of a bug in the particlesystem implementation
* Added two new simstat counters in the simstat enum for the RCCS.  (I'll find something cool to put in them)
* fixed a time waster in ODEPlugin.cs
2008-02-01 04:22:20 +00:00
Teravus Ovares e2f783789c * Adding limited support for LLParticleSystem.
* We still need to set the 'default particle' texture as, a particle system with no texture set doesn't work.
* The particle System Flags don't seem to be quite right yet as some flags don't seem to have an effect.   So no alpha in/out, color change, affected by the wind, etc.. yet
* Thanks to Alondria for some massive work here.  This update just tweaks a few things that she did.
2008-01-31 18:27:11 +00:00
alondria 62ae3c9bf5 Hit a dead end with llParticleSystem (libsecondlife issues) so no functionality added yet, but did not want to loose work. 2008-01-31 06:59:48 +00:00
Tedd Hansen 50dcd33bab Giving Mantis #388 a shot 2008-01-22 09:00:49 +00:00
Tedd Hansen da8923450a Small bug in ResetScript 2008-01-21 12:00:27 +00:00
Charles Krinke a759ff5ea3 Surround the "non implemented" in an else clause if face is inappropriate for:
llSetColor, llSetAlpha, llGetColor, llSetTexture, llOffsetTexture, 
llRotateTexture & llGetTexture
2008-01-21 03:14:38 +00:00
Teravus Ovares 8fdeab57b1 * Potential fix to the 'can't run a script anymore bug' 2008-01-19 02:58:19 +00:00
Tedd Hansen 82d43db1cc Added data structure to be passed through event execution queue so that events can use llDetect*-commands to find information about event. 2008-01-17 15:22:35 +00:00
Teravus Ovares 18c959df12 * Added llApplyImpulse in the global frame. The object must be physical before this'll do anything. Be careful with this function as it's easy to loose prim. 2008-01-17 14:59:05 +00:00
Teravus Ovares c2863df49d * Added and implemented the LSL changed event.
* An example changed event syntax is at: http://opensimulator.org/wiki/Changed_Event_Example
* You can use this to trigger actions in your script if someone sits on your object_rez
* You can use this to figure out all of the CHANGED_ constants except for CHANGED_REGION, CHANGED_TELEPORT, and CHANGED_ALLOW_DROP
2008-01-17 02:23:48 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Tedd Hansen 370e79cd9e ZERO_ROTATION set to 0,0,0,1 -- not 0,0,0,0 ;) 2008-01-14 15:37:00 +00:00
Charles Krinke fa83249db8 Thank you very much, Kinoc for implementing llGetSubString and llDeleteSubString:
from the c# implementations of string.SubString(start,len) and string.Remove(start,len).
Especially since negative indexing and exclusion are included in the LSL versions. 
This patch is closer to the LSL version. Maybe an osSubString and osRemoveString 
would be appropriate?
2008-01-12 22:25:10 +00:00
Tedd Hansen f9c981007d Set eol 2008-01-12 15:52:34 +00:00
Tedd Hansen 27859faf7a Welcome back LSO.
Added old LSO code, will use it as base to create new LSO VM.
2008-01-12 15:49:41 +00:00
Tedd Hansen 0081c060d0 Set eol 2008-01-12 14:45:59 +00:00
Tedd Hansen 33d82aa532 Added license to new files 2008-01-12 14:40:28 +00:00
Tedd Hansen bacbade369 Major reorganizing of DotNetEngine. Moved common script engine parts to ScriptEngine.Common, only .Net-specific code in DotNetEngine. AppDomains, event handling, event execution queue and multithreading, script load/unload queue, etc has been moved to ScriptEngine.Common.
Loads of things has been put into interfaces instead of the specific class.
We are now one step closer to ScriptServer, and its very easy to implement new script languages. Just a few lines required to make them a OpenSim script module with all its glory.
2008-01-12 14:30:22 +00:00
Tedd Hansen a993d0d335 ScriptServer communication is ok. Script is creatd on onrez. But since it can not access Scene it sort of crashes right away ;)
Added some sample placeholders for implementing rest of LSL events.
2008-01-12 10:25:08 +00:00
Tedd Hansen 011abad053 ScriptServer protocol now correctly casts datatypes -- ready for implementing 2008-01-12 09:44:01 +00:00
alondria 90ccc248e8 Implements llModifyLand() - Still needs some tweaking to match LL's effect on how much to effect the land. 2008-01-12 04:30:47 +00:00
alondria c2ca98519b Linking osTerrainGetHeight, osTerrainSetHeight, and osRegionRestart to LSL_BaseClass to allow them to be called in LSL scripts. 2008-01-12 03:23:11 +00:00
Jeff Ames 5d7e120d56 Set svn:eol-style. 2008-01-12 01:35:25 +00:00
Tedd Hansen e7dbaad04f New ScriptServer protocol successfully implemented.
Still needs hooking up for all commands in both ends, separation of local and remote LSL-commands, etc.
2008-01-12 01:14:31 +00:00
Tedd Hansen 1e9a66cbaa ScriptServer communication protocol (v1), primitive RPC-like TCP client/server 2008-01-12 00:48:58 +00:00
Jeff Ames ef674acc24 Fix some warnings under mono. 2008-01-11 21:08:37 +00:00
Tedd Hansen 6bcf44e141 Added const definintions for sculpted prims. 2008-01-10 19:21:37 +00:00
Tedd Hansen 260145a7e6 Dynamic loading of ScriptEngine in ScriptServer
ScriptServer event pipe (OpenSim->ScriptServer->ScriptEngine) should in theory be done
2008-01-09 17:13:02 +00:00
Jeff Ames 3d7e6fc6d8 Set svn:eol-style. 2008-01-06 11:17:57 +00:00
Tedd Hansen 0fb0a6816d Only one queue is used for load/unload of scripts.
So loading/unloading of scripts are now done in same sequence as they are called.
2008-01-05 20:05:29 +00:00
Tedd Hansen 966f639ad6 Changes to ScriptServer to (hopefully) make it compile on both .Net and Mono.
Some debug info for startup added to find bugs. ++
2008-01-05 15:48:02 +00:00
Tedd Hansen 4d3a8f4b52 Fixed nant compile problem 2008-01-01 15:28:16 +00:00
Tedd Hansen d484df15c0 Trying to fix nant compile error 2008-01-01 15:18:36 +00:00
Tedd Hansen 7ef7caa200 Temp removed new data types patch from Mantis #272, causing compile problems (nant) 2008-01-01 14:56:12 +00:00
Tedd Hansen 8d79a5d93c Minor changes. Changed Prebuild.xml to avoid first-time-compile error because of dependencies. Made some changes to new LSLString. 2008-01-01 14:23:14 +00:00
Tedd Hansen 86a38dfd0f Adrianas 0000272 -- I think we need to implement standard string/integer/float functions too. 2008-01-01 11:41:07 +00:00
Tedd Hansen 9eba3d2f89 Fixed string issue in compiler 2008-01-01 11:28:56 +00:00
Tedd Hansen a8cb20355c Correction of last commit 2007-12-31 19:31:40 +00:00
Tedd Hansen ff4f2f5681 Changed type comparison from String to object type 2007-12-31 19:18:17 +00:00
Jeff Ames 3c9505199a Set svn:eol-style and svn:ignore. 2007-12-31 12:00:40 +00:00
Teravus Ovares b0a6299937 * Added a catch for RemotingErrors on the TCP init 2007-12-31 01:57:14 +00:00
Teravus Ovares 373d801c40 * Added graceful remote script server connection error handling
* Removed a friends module test that I had.
2007-12-30 23:56:29 +00:00
Teravus Ovares 57a1132585 * Fixed References in Prebuild so the project compiles
* Added Friends List methods to IUserData interface
* Created Stub friendslist Database Methods
2007-12-30 23:29:44 +00:00
Tedd Hansen 5b8620d82f Comments + fix = in theory stand alone script server + "RemoteSevrver" ScriptEngine (as opposed to "DotNetEngine") should work for a single region. It will however not work because it doesn't have two-way communication. 2007-12-30 22:57:27 +00:00
Tedd Hansen 6055db2bc3 server->script event path almost ready for remote scriptengine (translation table between local script ID and remote script ID missing) 2007-12-30 22:37:07 +00:00
Tedd Hansen c084c54fb5 Added ScriptEngine.RemoteServer module 2007-12-30 19:08:22 +00:00
Tedd Hansen 527b5f86a2 In this commit I am using an editor feature called "Save All" before I commit. 2007-12-30 16:34:54 +00:00
Tedd Hansen 7ef09a1202 Added comments to ScriptEngine classes that explains what their purpose is 2007-12-30 16:32:29 +00:00
Charles Krinke 3cf3b426b6 Thank you again, Alondria for:
Adding some more support to Vectors and Rotations  
Description  * String->Vector/Rotation added
* Vector * and / a double added.
2007-12-27 23:09:31 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
lbsa71 87e2a694e2 * AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility.
* Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.
2007-12-27 14:00:30 +00:00
Adam Frisby 2cb222806b * Fixed compile issue caused by half-refactoring (sorrry!) 2007-12-27 05:48:27 +00:00
Adam Frisby af406bf6fa * Added osRegionRestart(float secs) to LSL Commands
* Added osRegionNotice(string msg) to LSL Commands
* Added PermissionManager checks for osTerrainSetHeight, osRegionRestart.
2007-12-27 05:26:52 +00:00
Adam Frisby 8b6dd623bd * Added osTerrainSetHeight(int x, int y, double val) to LSL commands
* Added osTerrainGetHeight(int x, int y) to LSL commands
2007-12-27 05:20:03 +00:00
Teravus Ovares 87d55443d3 * Added slightly better object sit handling
* Added sit handling for sit targets
* Implemented llSitTarget()
* Implemented llAvatarOnSitTarget()
* Sit targets do not persist sim restart.
2007-12-27 03:25:00 +00:00
Charles Krinke fa2495ae6b Again, great thanks to Alondria for:
Adding:: llSetParcelMusicUrl(), llGetRootPosition(), llGetRootRotation(), 
llGetGeometricCenter(), llSetLocalRot(), llListReplaceList(), 
llGetObjectPrimCount(),llGetParcelDetails(), llGetParcelMaxPrims(), 
llWater(), llGetLocalRot(), and llGetAccel()
2007-12-24 21:16:32 +00:00
Teravus Ovares b2903c4a8a * Patch from Alondria - Added LLFunctions llGetMass(), llGetLandOwnerAt(), llGetVel(), llGround() 2007-12-23 13:14:56 +00:00
Charles Krinke 5cd6f235ce Thank you, Alondria for:
Reverts the LSL Texture/Color functions back to the original code, allowing them to function again
2007-12-22 22:49:37 +00:00
Jeff Ames be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
Charles Krinke 94ec2a508a Thank you very much, CharlieO for:
Added: llSetLinkAlpha() and finished off llSetLinkColor() by adding the ability to use LINK_SET.
2007-12-19 21:48:50 +00:00
Jeff Ames 6702b03733 Misc. cleanup:
* added Util.Clip(value, min, max)
* modified asset cache's numPackets calculation to use max packet size (600) instead of 1000
* removed a few magic numbers
2007-12-19 08:44:25 +00:00
Charles Krinke 16174dac6e Thanks to CharlieO for:
llSetLinkColor() and a temp place holder for llOwnerSay() since many example scripts that are copy/pasted from outside sources have llOwnerSay() and its obnoxious to change in scripts each time.
2007-12-19 02:30:28 +00:00
Charles Krinke 6f389ba4cf Many Thanks to Alondria for adding:
The list type and a bunch of support functions to LSL  
Added/ReImplmented: llGetListLength(), llList2Integer(), osList2Double() (note rename), 
    llList2Float(), llList2String(), llList2Key(), llList2Vector(), llList2Rot(), 
    llList2List(), llDeleteSubList(), llGetListEntryType(), llList2CSV(), llCSV2List(), 
    llListInsertList(), llDumpList2String(), 
Borked Still: llListSort(), llListRandomize(), llList2ListStrided(), llListFindList(),
Changed: llHTTPRequest() (Made wrapper of LSL_Types.list->List<string>)
2007-12-18 02:41:34 +00:00
Charles Krinke 8e8c26acac Again, thanks to Alondria for:
Added: LinkNum to SceneObjectPart
Added: Bunch-o settings of LinkNum in SceneObjectGroup
Added: llGetNumberOfPrims()
Added: llGetLinkNumber()
Added: llGetLinkKey()
Added: llGetLinkName() (and change to string return type)
2007-12-17 02:30:03 +00:00
Charles Krinke fd360406b9 Thanks again to Alondria for adding: math support for
rot * rot, vec / rot, == and != overriders for Rotations and Vectors.
Also: llRotBetween(), llGetRegionTimeDilation(). And fixing:
Error in LSL2CSConverter that botched a variable with a type name in it (ex: rotationCenter)
Fixed: Error in LSL2CSConverter that parsed which() loops incorrectly.
Fixed: Changed definition of Quaternion to <x, y, z, r> from <x, y, z, t> (As per LSL)
Finished: llEuler2Rot()
2007-12-15 16:26:32 +00:00
Charles Krinke 9ca70e029a Again, thanks to Alondria for: adding llGetTime, llResetTime, and llGetAndResetTime.
Also for fixing Rot/Vector Regex from being too greedy by removing bug in the 
LSL->C# converter that was causing the vector and rotation parser.
2007-12-14 16:10:56 +00:00
Sean Dague f773733fcb From Michael Osias (IBM)
This patch makes some enhancements to the llRemoteData functions.  The
module is now a shared module, and allows remote data channels to be
created among multiple regions in the same sim.  The port is controlled
from the remoteDataPort property under the [Network] section in
OpenSim.ini.  If this setting is not present or = 0, the module is
disabled and no port is opened.  llRemoteData commands have not effect
when module is disabled.
2007-12-13 19:50:21 +00:00
Sean Dague 7625438ade From Michael Osias (IBM)
This patch implements the llHttpRequest function via a region module,
HttpScriptsRequest.  There were bits and peices in LSLLong_cmd_handler,
which I moved into the region module, and just check for completed
requests and dispatch the http_response callback event instead.

works for me as of r2674
2007-12-12 22:14:43 +00:00
Charles Krinke a0a189aed2 Thanks to Alondria for:
llResetScript() is now functional. With this patch, Kan-script 0000003 should run.
Noted the llListen(0,"","","") errored due to "" != UUID - patched to set to 
NULL_KEY which then works to listen to everything.
2007-12-12 22:07:40 +00:00
Charles Krinke 47b091f663 Thanks to Alondria for: Adding vector->string and rotation->string,
float * vector, vector * float, vector / float, vector + vector,
vector - vector, vector * vector, vector % vector and changing
x, y, z, (and r) parts of vector and rotation to be lower case 
(similar to LL's LSL vectors/rots). With these changes we should 
expect to run kan-ed#1, kan-ed#2 and most of kan-ed#3.
2007-12-12 17:18:15 +00:00
lbsa71 ffd60baa48 * The 'Create' functions should be called to factor up a new, otherwise empty, but with the Id and 1-to-1 child fields instantiated and randomized.
* Added two shape constants that
2007-12-11 13:30:08 +00:00
Charles Krinke 22acc23755 Great Salutations to Alondria for providing implementations for:
llFrand, llSetColor, llGetColor, llSetTexture, llGetTexture,
llSetAlpha, llGetAlpha, llRotateTexture, llScaleTexture,
llOffsetTexture, llGetTextureOffset, llGetTextureScale, llGetTextureRot.
With these changes the "kan-ed" script #2 should be working.
2007-12-10 21:38:01 +00:00
Jeff Ames 081a66d570 added musings on llInstantMessage 2007-12-10 05:58:30 +00:00
Jeff Ames af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Jeff Ames e278d07220 refactored ChatModule a bit.
misc cleanup and code convention fixes.
2007-12-10 02:29:42 +00:00
Charles Krinke be5d8811be Added a call to m_host.SendFullUpdateToAllClients().
Thank you to Alondria for suggesting this solution
to getting kan-ed#2 to work with the llSetScale call.
2007-12-09 23:48:27 +00:00
Charles Krinke fbaa8bc9bd Some progress on 4 of the llParticleSystem members
that needed to be cast to libsecondlife.LLColor.
2007-12-09 23:04:11 +00:00