Commit Graph
124 Commits
Author SHA1 Message Date
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
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 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 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
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 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 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
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
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 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