Commit Graph

56 Commits (82d43db1ccbc2b13e21c88650165f82651b657e1)

Author SHA1 Message Date
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
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 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 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 7ef09a1202 Added comments to ScriptEngine classes that explains what their purpose is 2007-12-30 16:32:29 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +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
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 0b4e15bc35 converted hard-coded chat type values to ChatTypeEnum 2007-11-08 03:11:10 +00:00
Tedd Hansen dcf41cb683 ScriptServer fixes: Added more debug logging, mutex lock (to be extra-super-sure) on script load/unload, removed experimental Grid-scriptengine from compile because of dynamic module loader, and added random string to script filename to bypass module loader file lock.
Please delete your copy of bin/ScriptEngine/OpenSim.Grid.ScriptEngine.DotNetEngine.dll.
2007-11-01 19:27:03 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
Sean Dague c3d8f1f425 getting all our line endings consistant again 2007-10-05 15:45:45 +00:00
lbsa71 a963b3057b * Replaced usage of ClientView with IClientAPI
* Some propertification and hideousness of fields.
2007-09-18 09:59:33 +00:00
Sean Dague b8d9737a47 fixing me some line endings 2007-09-17 12:52:03 +00:00
Tedd Hansen c654506b18 Implemented: llSetText, llResetScript
Implemented: llHTTPRequest (queue, thread, etc -- but not actuall call)
2007-09-16 03:36:13 +00:00
lbsa71 f8ddf7429e * Wired up chat so that channel goes into OnChatFromViewer. However:
* There's no libsl reply packet field for it, I guess other channels than 0 makes no sense sending back to clients.
  * We do not currently support objects listening, so there's really no way of actually using this feature.
So; somebody please wire chat all the way to the scripts.
2007-09-14 13:46:05 +00:00
Sean Dague af6c9d355d implement llGetScale and llSetScale
drop IScriptHost for now and just use SceneObjectPart, given how many of
SceneObjectPart's properties we need for the script engine
2007-09-13 13:06:54 +00:00
Sean Dague afea5f2205 remove ^M, as native storage should be UNIX format, and ^M in/out mashing
will happen on the windows side now that eol-style is correct
2007-09-13 11:41:42 +00:00
Tedd Hansen cef8c5e9d7 Hiding evidence that I once was a VB coder (thanks to refactoring). Renamed member names to smallcapsy. 2007-09-13 11:11:08 +00:00
Sean Dague ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
Tedd Hansen 5a149084d4 startup event on script added to object, not all inside object. 2007-08-28 18:22:48 +00:00
Tedd Hansen ebb0099816 Run-time script errors are now shown in-world. No line number though, might require script to be compiled with (slow) debug information. 2007-08-26 13:31:58 +00:00
Tedd Hansen 25e200c46a Fixed bug that occurs sometimes on script unload where queued script event was attempted executed after AppDomain was unloaded. 2007-08-26 08:20:48 +00:00
Tedd Hansen d9b9b16513 Script compiler should now show error on correct line number in original LSL-script. 2007-08-25 21:35:03 +00:00
Tedd Hansen 80234b98e5 Removal of script that was unable to compile no longer crashes server.
Displays script compile error messages in-world.
2007-08-25 20:34:54 +00:00
Tedd Hansen b75c1b2191 Added class for "long commands" (command that returns as event) with dedicated thread for processing. Added support for llSetTimerEvent(). Deleting old compiled scripts before new compile is attempted (avoids loading wrong script on compile error). 2007-08-25 19:08:15 +00:00
Tedd Hansen 53be4774b3 Scripts no longer crash sim after 5 minutes (override InitializeLifetimeService). Loading/Unloading of scripts are now handled in separate thread so server is no delayed because of this. Each script is loaded into a single AppDomain (temporary test for script unload, eats ~15KB more memory for each script). Unload of scripts has been verified to free up memory. 2007-08-25 15:31:47 +00:00
Tedd Hansen caee73353d Debug shows how many bytes (total) a script (assembly) uses after compile and load. 2007-08-22 20:01:04 +00:00
Tedd Hansen 4beef91d00 GC.GetTotalMemory(true) was blocking.
We now support individual scripts on individual prims. Do the script dance... \o/ \o\ /o/ \o/ .o.
2007-08-22 19:33:10 +00:00
Tedd Hansen 5a86fd2c31 (Untested) Scripts are individually loaded into objects (on rez), and event fired likewise. Bugfixes coming in next commit. 2007-08-22 18:09:38 +00:00
Tedd Hansen 33326c1a70 Some minor changes + krinkec's updates to ll* functions. 2007-08-20 10:58:51 +00:00
Tedd Hansen 1b826c2fdc Added "StopScriot()" to ScriptManager. Stops Executor from executing events in script, removes script from EventQueueManagers target list, tells AppDomainManager that script is no longer active (and ready for unload). 2007-08-19 17:47:47 +00:00
Tedd Hansen eeaac68d73 Code comments on recent changes in EventQueueManager 2007-08-19 11:38:58 +00:00
Tedd Hansen e70cdbc5ac Added event method invoke cache to Executor. "Bind once, Invoke multiple times". Will speed up script event execution considerable. But at the cost of some memory (will be optimized later with RuntimeXHandle). 2007-08-19 10:28:27 +00:00
Tedd Hansen 1893164d26 Moved script loading from ScriptManager to AppDomainManager. Now increases scripts loaded count in AppDomain properly. 2007-08-19 06:52:59 +00:00
Tedd Hansen 37446b0392 Moved in-AppDomain event execution from Script to OpenSim.Region.ScriptEngine.Executor. Script no longer responsible for handling event calls to itself (and we can create reference cache in Executor). 2007-08-18 23:24:38 +00:00
Tedd Hansen 240712ca9f Scripts are working again. Scripts are now loaded into limited AppDomains (no security yet).
*phew* that only took me 12 hours of coding...
2007-08-18 22:09:07 +00:00
Tedd Hansen f444fe4f87 Moved OpenSim.Region.ScriptEngine.Common.dll from bin\ScriptEngine\ to bin\ folder - hopefully solves compile problem on Linux. 2007-08-18 21:10:40 +00:00
Tedd Hansen 1d41fd4984 Working on AppDomains. Scripting is now officially broken. :] 2007-08-18 19:54:04 +00:00
Tedd Hansen 6d10c65358 Moved LSL_BuiltIn_Commands_Interface.cs to a separate library (OpenSim.Region.ScriptEngine.Common). Fixed last compile error (forgot to include LSL_BuiltIn_Commands.cs). 2007-08-18 18:53:03 +00:00
Tedd Hansen 1284369a32 Started on AppDomains for ScriptEngine. Moved llFunctions in LSL_BaseClass.cs to LSL_BuiltIn_Commands.cs. Changed how scripts are loaded. 2007-08-18 18:18:14 +00:00
Tedd Hansen fcf7db7272 Pimped up Default.lsl. Now featuring a touch counter.
Changed "ObjectID" in ScriptEngine to IScriptHost reference. Events will now be queued based on IScriptHost reference instead of string ID of object. Removed "root" object reference in script.
2007-08-17 21:24:38 +00:00
Tedd Hansen 577fb1a987 Removed RAIL test from startup for now... 2007-08-17 19:47:40 +00:00
Tedd Hansen f2dd6c86f7 Added RAIL.dll
Updated DotSets.dll and Mono.PEToolkit.dll
Started on microthreading - currently display exception during startup
2007-08-17 18:39:04 +00:00
lbsa71 e53d680d41 * Now sending manager, host and root host to Script in constructor.
* Changed how Script accesses World
* Implemented llSay, llWhisper and llShout
* Added SetText() to IScriptHost, implemented llText
* Minor renamings to conform with code conventions
2007-08-16 18:40:44 +00:00
lbsa71 25fd8d0273 * Introduced IScriptHost as an interface to fetching object data from scripts.
* This meant introducing AbsolutePosition on all objects (since SimChat wants that)
2007-08-16 17:08:03 +00:00
Tedd Hansen 16defc30eb krinkec's updates to ll* interface and functions 2007-08-14 19:06:57 +00:00
Tedd Hansen 09e1f5f22e Correct caps of Default.lsl for Linux. Thanks again krinkec. :) 2007-08-14 16:42:00 +00:00
Tedd Hansen 9573aa7582 llSay() works again. Cleanup of debug messages. 2007-08-14 16:14:19 +00:00
Tedd Hansen afaa12a9e2 ScriptEngine: Some error handling, logs to logger 2007-08-14 15:59:36 +00:00